X-Git-Url: https://git.cinelerra-gg.org/git/?p=goodguy%2Fcin-manual-latex.git;a=blobdiff_plain;f=parts%2FInstallation.tex;h=37ceb681c8e287f847597ddc45f607d46f51562b;hp=f68299085b3afd277f19d4bff60ac40d691a2b07;hb=82f7f0c08c931927f5363ff9830301d9a6a931e3;hpb=7f4d0800b12798dc35f912da5a8655c7812496f7 diff --git a/parts/Installation.tex b/parts/Installation.tex index f682990..37ceb68 100644 --- a/parts/Installation.tex +++ b/parts/Installation.tex @@ -1,7 +1,146 @@ \chapter{Installation} \label{cha:Installation} +\index{installation} + +\section{\CGG{} AppImage}% +\label{sec:cin_gg_appimage} + +The main way to install \CGG{} is to use the AppImage. This is updated regularly and works for every distro, since it already contains the necessary dependencies. +A big advantage of using the AppImage format is that it is only 1/3 the size of the normal install, +and since each release is named differently, you can keep a number of versions in a directory, +and when testing from a terminal you just have to type CinGG, then hit tab, and complete it to +the desired date release. + +For 64-bit systems you can choose between an image with up-to-date libraries or one that supports older libraries, which you should use only if the first image gives you problems with unsupported libs. There is also a 32-bit older distro available that has \textit{i686} as part of the filename that currently works on older distros but may not work on the latest distros and +definitely does now work on Debian version 11.00 (most of the popular Linux distributions such +as Arch, Ubuntu, and Fedora have dropped support for this older architecture). And there is a 8/10/12 bit newer distro that handles 8 or 10 or 12 bits that has \textit{multibit} as part of the filename. Installing the appimage is simple: + +Download the file from: + +\url{https://cinelerra-gg.org/download/images/} + +Some example file names are as follows - where 8 digits represent yyyymmdd: + +\begin{lstlisting}[style=sh] + CinGG-20210731-x86_64.AppImage + (currently based on Fedora Core 32, libc version 2.31) + CinGG-20210731-x86_64-older-distros.AppImage + (currently based on Ubuntu 16.04, libc version 2.23) + CinGG-20210731-i686.AppImage + (currently based on Debian 9, linux kernel 4.9, does not work on Debian 11.0) + CinGG-20210731-x86_64-multibit.AppImage + (currently based on Fedora Core 32, libc version 2.31) +\end{lstlisting} + +Make the file executable with the proper execute permissions either from the GUI of the Desktop Environment used (link to the file) or from a terminal window. Make sure you are already in the directory containing the appimage: + +\begin{lstlisting}[style=sh] + $ chmod u+x CinGG-yyyymmdd.AppImage +\end{lstlisting} + +Finally start the program from a window in the directory where the image is stored: + +\begin{lstlisting}[style=sh] + $ ./CinGG-yyyymmdd.AppImpage +\end{lstlisting} + +or create a convenient desktop icon with a link to the run action, or do a \textit{Desktop Integration} manually or with external programs. There is a +description of a GUI methodology for doing so in this file on the webiste: + +\url{https://cinelerra-gg.org/download/images/README\_appimage.txt} + +Most distros already have the libraries to run the appimage, but if not you may need an additional installation. For example Arch Linux needs the \texttt{libappimage} package. + +\begin{lstlisting}[style=sh] + sudo pacman -S libappimage +\end{lstlisting} + +And Leap 15.3 (OpenSUSE) requires installation of the \textit{appimage} package. + +\begin{lstlisting}[style=sh] + sudo zypper se -is appimage +\end{lstlisting} + +In addition, if you are using the OpenGL video driver, you will need to install the appropriate OpenGL +drivers for your Operating System graphics board because libGLU.so and other OpenGL libraries are +not included in the AppImage. + +\section{Download Already Built \CGG{}}% +\label{sec:download_already_built_cinelerra_gg} + +\begin{figure}[htpb] + \centering + \includegraphics[width=1.0\linewidth]{download-distros.png} + \caption{Screencast of the website Download page for installing \CGG{} for various O/S.} + \label{fig:download-distros} +\end{figure} + +All of these images are dated 10/31/2020 and are no longer being maintained. They +will still work on the version of the O/S in use at that time but will have none of +the latest features. You should use the simpler AppImage instead as described previously. + +If you prefer to not have to take the time to build \CGG{} Infinity +yourself, there are pre-built dynamic or static binaries for various +versions of Ubuntu, Mint, Suse, Fedora, Debian, Centos, Arch, and +Slackware linux as well as Gentoo and FreeBSD. If you do want to build it yourself so that +you get the added benefit of the latest checked in changes, please reference +~\ref{sec:How_to_build}. +% +A Windows 10 version installation is described in~\ref{sec:ms_windows10}. There are also 32-bit i686 Ubuntu, Debian, +and Slackware versions available. \textbf{These binaries are no longer being updated; they are stable and working but without future functionality}. +They are in subdirectories of: + +\begin{list}{}{} + \item \href{https://cinelerra-gg.org/download/tars}{https://cinelerra-gg.org/download/tars} + \item \href{https://cinelerra-gg.org/download/pkgs}{https://cinelerra-gg.org/download/pkgs} +\end{list} + +The \textbf{tars} \index{tars} directory contains single-user static builds for +different distros. +% +This is the recommended usage of \CGG{} because all of the files +will exist in a single directory. Generally all of the necessary +libraries are built into the static build, but in some cases you may +have to install another library that is being called for. +% +To install the single user builds, download the designated tarball +from the \texttt{./tars} subdirectory and unpack as indicated below: + +\begin{lstlisting}[style=sh] + cd /path + mkdir cin + cd cin + tar -xJf /src/path/cinelerra-5.1-*.txz # for the *, substitute your distro tarball name +\end{lstlisting} + +\emph{Do not download the LEAP 10-bit version unless you specifically want to +use h265 rendering to 10-bit instead of the more standard 8-bit.} For more +information see ~\ref{sec:cinx_and_a_bit_of_confusion}. + +The \textbf{pkgs} \index{pkgs} directory contains the standard packaged +application for various distros. This will install a dynamic +system version for users who prefer to have the binaries in the +system area and for multi-user systems. +% +In addition, performing the package install checks the md5sum in +the file \texttt{md5sum.txt} to ensure the channel correctly +transmits the package. There is a +\href{https://cinelerra-gg.org/download/README.pkgs}{README.pkgs} +file in the \texttt{download} directory with instructions so you +can \textit{cut and paste} and avoid typos; it is also shown +next. + +\lstset{inputpath=extra/} +\lstinputlisting[ +style=nil, +basicstyle=\footnotesize, +caption={README.pkgs} +]{README.pkgs} + \section{How to Build \CGG{} from Developer's Git Repository}% \label{sec:How_to_build} +\index{build} +\index{git} These are generic build instructions for building \CGG{} Infinity. Known to work on Ubuntu, Mint, OpenSuse, Fedora, Debian, Centos, @@ -9,7 +148,20 @@ Arch, Slackware, and Gentoo. It has not been tested on every single possible distro yet so you might expect to have to make some minor changes. Also works on a somewhat limited basis on FreeBSD and Windows 10 with the bsd.patch for FreeBSD and the -cygwin.patch for Windows 10. +cygwin.patch for Windows 10. As of 10/31/2020, FreeBSD and Windows +10 builds and patches are no longer being maintained so that they +will work using the GIT version in use at that time but you will +have to create new patches for arising problems on later GITs. + +NOTE: as of May 31, 2021 when Context Help was added, to include +this Context Help you will need to download the corresponding +tgz file containing the HTML manual sections referenced for the +Help pages. The file to download is: +\url{https://cinelerra-gg.org/download/images/HTML_Manual-20210531.tgz} +substituting for "20210531" the "yyyymmdd" representing latest release date. +Then unpack to your Cinelerra/bin/doc directory so it is included in +your built system. +NOTE End Alternatively, there are some pre-built dynamic or static binaries which are updated on a fairly regular basis (as long as code changes @@ -39,14 +191,14 @@ where you will have more control to catch problems. All that said, the system builds can be useful in a university lab setting where there are possibly multiple users, or multiple versions. -There are two notable differences between \textit{standard} views +There are two notable differences between standard views of \CGG{} and this implementation for the system builds. Both of these can be configured during installation. The differences make it possible to have several different versions installed without -having them \textit{walk} on each other. +having them interfere with each other. \begin{enumerate} -\item application name can be set during installation and defaults +\item application name can be set during a build but defaults to: \texttt{cin} \item the home configuration directory can also be set and traditionally defaults to: \texttt{\$HOME/.bcast5} @@ -55,8 +207,9 @@ having them \textit{walk} on each other. \subsection{The system build} \label{sec:system-build} +\index{git} -To do a system build, you should read the file +To do a system build \index{build} , you should read the file \texttt{README} that is at the top level after you get the source. \begin{itemize} @@ -131,6 +284,8 @@ Check for errors before proceeding. \subsection{The single-user build} \label{sec:single-user-build} +\index{single-user build} +\index{git} To do a single-user build, read the file \texttt{README} that is at the top level after you get the source. @@ -196,14 +351,23 @@ After you have followed the above, in the cin.desktop file, change the \texttt{Exec=cin} line to be \texttt{Exec=/bin/cin}. -The preceding directions for doing a single-user build have been -meticulously followed to build and run on a newly installed ubuntu -15 system WITHOUT BEING ROOT except for the \texttt{bld\_prepare.sh} -and creating the desktop icon. +The preceding directions for doing a single-user build may work +without being root on some distros except for the \texttt{bld\_prepare.sh} +and creating the desktop icon. For example in Arch Linux installing without being root +works using the following steps: + +\begin{lstlisting}[style=sh] +$ git clone --depth 1 "git://git.cinelerra-gg.org/goodguy/cinelerra.git" cinelerra5 +$ cd /home/USER/cinelerra5/cinelerra-5.1 +$ ./autogen.sh +$ ./configure --prefix=/usr --with-single-user --with-booby +$ make 2>&1 | tee /tmp/cin5.log && make install +\end{lstlisting} \subsection{Notable Options and Caveats}% \label{sub:notable_options_and_caveats} +\index{./configure} These procedures and the \CGG{} Infinity software have all been run as \textbf{root} on various home laptops and desktops. This provides @@ -217,13 +381,13 @@ To see the full list of features use: \begin{lstlisting}[style=sh] ./configure --help \end{lstlisting} -The default build is a system build which uses: +The default build \index{build} is a system build which uses: \begin{lstlisting}[style=sh] ./configure --without-single-user \end{lstlisting} -In the single-user build, the target directory is always +In the single-user build \index{single-user build}, the target directory is always \texttt{cin}. Because this is also the developer build, constant names are used throughout. However, you can rename files after the install is complete. @@ -286,9 +450,22 @@ export ac_cv_header_xmmintrin_h=no export FFMPEG_EXTRA_CFG=" --disable-vdpau" \end{lstlisting} +NOTE: as of May 31, 2021 when Context Help was added, to include +this Context Help you will need to download the corresponding +tgz file containing the HTML manual sections referenced for the +Help pages. The file to download is: +\url{https://cinelerra-gg.org/download/images/HTML_Manual-20210531.tgz} +substituting for "20210531" the "yyyymmdd" representing latest release date. +Then unpack to your Cinelerra/bin/doc directory so it is included in +your built system. The reason for not including the HTML manual in +the source code so that it would already be there, is because it is +very large and has its own GIT base. \subsection{Notes about Building from Git in your Customized Environment}% \label{sub:notes_about_building_from_git_in_your_customized_environment} +\index{build} +\index{./configure} +\index{git} Getting a build to work in a custom environment is not easy. If you have already installed libraries which are normally in the @@ -298,54 +475,52 @@ the library interfaces exist. Below is the list of thirdparty builds, but this list may have changed over time. % It's list of Table? -\begin{table}[htpb] - \centering - \caption{List of thirdparty builds} - \label{tab:List_of_thirdparty_builds} - \small - \begin{tabular}{m{8em}c} - \toprule - a52dec & yes\\ - djbfft & yes\\ - ffmpeg & yes\\ - fftw & auto\\ - flac & auto\\ - giflib & yes\\ - ilmbase & auto\\ - lame & auto\\ - libavc1394&auto\\ - libraw1394&auto\\ - libiec61883&auto\\ - libdv &auto\\ - libjpeg &auto\\ - opus &auto\\ - openjpeg &auto\\ - libogg &auto\\ - libsndfile&auto\\ - libtheora&auto\\ - libuuid & yes\\ - libvorbis&auto\\ - mjpegtools&yes\\ - openexr &auto\\ - tiff &auto\\ - twolame &auto\\ - x264 &auto\\ - x265 &auto\\ - libvpx &auto\\ - lv2 &auto\\ - sratom &auto\\ - serd &auto\\ - sord &auto\\ - lilv &auto\\ - suil &auto\\ - libaom &auto\\ - dav1d &auto\\ - libwebp &auto\\ - ffnvcodec &auto\\ - \bottomrule - \end{tabular} -\end{table} - +\begin{center} + \small + \begin{longtable}{m{8em} c} + \caption{List of thirdparty builds} + \label{tab:List_of_thirdparty_builds}\\ + \toprule + a52dec & yes\\ + djbfft & yes\\ + ffmpeg & yes\\ + fftw & auto\\ + flac & auto\\ + giflib & yes\\ + ilmbase & auto\\ + lame & auto\\ + libavc1394&auto\\ + libraw1394&auto\\ + libiec61883&auto\\ + libdv &auto\\ + libjpeg &auto\\ + opus &auto\\ + openjpeg &auto\\ + libogg &auto\\ + libsndfile&auto\\ + libtheora&auto\\ + libuuid & yes\\ + libvorbis&auto\\ + mjpegtools&yes\\ + openexr &auto\\ + tiff &auto\\ + twolame &auto\\ + x264 &auto\\ + x265 &auto\\ + libvpx &auto\\ + lv2 &auto\\ + sratom &auto\\ + serd &auto\\ + sord &auto\\ + lilv &auto\\ + suil &auto\\ + libaom &auto\\ + dav1d &auto\\ + libwebp &auto\\ + ffnvcodec &auto\\ + \bottomrule + \end{longtable} +\end{center} The \textit{yes} means force build and \textit{auto} means probe and use the system version if the build operation is not static. To get @@ -387,6 +562,8 @@ done \subsection{Cloning the Repository for Faster Updates}% \label{sub:cloning_the_repository_for_faster_updates} +\index{repository} +\index{git} If you want to avoid downloading the software every time an update is available you need to create a local ``repository'' or repo. The @@ -443,6 +620,9 @@ git clean -i # interactive clean, use answer 1 to "clean" \subsection{How to Build from a Previous GIT Version}% \label{sub:how_to_build_from_a_previous_git_version} +\index{build} +\index{repository} +\index{git} If you have a problem with the current GIT version, you can revert to a previous working version easily. The commands to use will be @@ -451,12 +631,14 @@ similar to these next lines which are then explained in more detail. \begin{lstlisting}[style=sh] cd //cin5 # substitute your repo path name for cin5 -git log # shows a list of versions +git log # shows a list of versions depending on history depth specification git checkout # choose a version number as listed \end{lstlisting} The \texttt{git log} command produces a log file with hash values -for commit keys. The hash ids are the commit names to use when you +for commit keys to the level specifed if the the depth paramter +was specified. +The hash ids are the commit names to use when you use git checkout. Next is displayed sample output: \begin{lstlisting}[style=nil] @@ -505,6 +687,8 @@ git checkout master \subsection{Debuggable Single User Build}% \label{sub:debuggable_single_user_build} +\index{single-user build} +\index{git} To build from source with full debugging symbols, first build a full static (non\_debug) build as follows but instead of using @@ -530,6 +714,9 @@ gdb ./ci \subsection{Unbundled Builds}% \label{sub:unbundled_builds} +\index{build} +\index{repository} +\index{git} There are some generic build scripts included in the \CGG{} GIT repository for users who want to do unbundled builds with ffmpeg @@ -545,7 +732,7 @@ subdirectory. The \texttt{bsd.bld} should be used with the \texttt{cygwin.bld} should be used with the \texttt{cygwin.patch} file in that same directory. -The reason that Cin Infinity traditionally uses thirdparty builds +The reason that Cin Infinity traditionally uses its own thirdparty builds (bundled builds) is because there are a lot of different distros with varying levels of ffmpeg and other needed thirdparty libraries. However, some users prefer using their current system @@ -577,81 +764,60 @@ this can be debilitating; you can always run \texttt{ffmpeg -formats} and \texttt{ffmpeg -codecs} to see what is available on your system. +\section{Building the HTML Manual for Context Help}% +\label{sec:building_the_manual} +\index{context help} -\section{Download Already Built \CGG{}}% -\label{sec:download_already_built_cinelerra_gg} - -\begin{figure}[htpb] - \centering - \includegraphics[width=1.0\linewidth]{download-distros.png} - \caption{Screencast of the website Download page for installing \CGG{} for various O/S.} - \label{fig:download-distros} -\end{figure} - -If you prefer to not have to take the time to build \CGG{} Infinity -yourself, there are pre-built dynamic or static binaries for various -versions of Ubuntu, Mint, Suse, Fedora, Debian, Centos, Arch, and -Slackware linux as well as Gentoo and FreeBSD. -% -A Windows 10 version installation is described in~\ref{sec:ms_windows10}. There are also 32-bit i686 Ubuntu, Debian, -and Slackware versions available. These are updated on a fairly -regular basis as long as significant code changes have been made. -They are in subdirectories of: +In addition to compiling your own \CGG{}, you should also build an html version of the manual that is needed for Context Help in the program. The main version of the manual is in latex to produce a pdf version of the manual and this is required to be built first as the basis for the html version. This means that you need a full latex environment, git, and the latex2html program in order to eventually create the html version. Texlive is about 1 GB; Latex2html itself has many requirements and missing any will result in failure: some requirments include Netpbm, GhostScript, dvips, etc. Latex2html must be at least version \textit{2021.2} in order to create the html manual version from the latex. -\begin{list}{}{} -\item \href{https://cinelerra-gg.org/download/tars}{https://cinelerra-gg.org/download/tars} -\item \href{https://cinelerra-gg.org/download/pkgs}{https://cinelerra-gg.org/download/pkgs} -\end{list} - -The \textbf{tars} directory contains single-user static builds for -different distros. -% -This is the recommended usage of \CGG{} because all of the files -will exist in a single directory. Generally all of the necessary -libraries are built into the static build, but in some cases you may -have to install another library that is being called for. -% -To install the single user builds, download the designated tarball -from the \texttt{./tars} subdirectory and unpack as indicated below: +The steps are as follows: +\begin{enumerate} + \item Download the manual in LaTeX: \begin{lstlisting}[style=sh] -cd /path -mkdir cin -cd cin -tar -xJf /src/path/cinelerra-5.1-*.txz # for the *, - # substitute your - # distro tarball name +git clone "git://git.cinelerra-gg.org/goodguy/cin-manual-latex.git" master \end{lstlisting} -\emph{Do not download the LEAP 10-bit version unless you use h265 (it -can't render 8-bit h265).} - -The \textbf{pkgs} directory contains the standard packaged -application for various distros. This will install a dynamic -system version for users who prefer to have the binaries in the -system area and for multi-user systems. -% -In addition, performing the package install checks the md5sum in -the file \texttt{md5sum.txt} to ensure the channel correctly -transmits the package. There is a -\href{https://cinelerra-gg.org/download/README.pkgs}{README.pkgs} -file in the \texttt{download} directory with instructions so you -can \textit{cut and paste} and avoid typos; it is also shown -next. + \item Included in the download is the \texttt{translate\_manual} script. After modifying this file to have execute permission, run this script from a terminal window in the \textit{master} directory where it was downloaded (be aware that this script includes several \textit{rm} commands): +\begin{lstlisting}[style=sh] +./translate_manual +\end{lstlisting} -\lstset{inputpath=extra/} -\lstinputlisting[ -style=nil, -basicstyle=\footnotesize, -caption={README.pkgs} -]{README.pkgs} + The steps that this script performs are as follows: + \begin{itemize} + \item PDF production. The PDF document will be produced from the latex source in the \textit{master} directory. Since the glossary and index are also present, it has to run the pdf build several times. The following commands in the \texttt{translate\_manual} script produce the PDF document from latex source which includes invoking makeindex for the Index and Glossary. + + \begin{lstlisting}[style=sh] + pdflatex CinelerraGG_Manual.tex + makeindex CinelerraGG_Manual.idx + pdflatex CinelerraGG_Manual.tex + makeindex CinelerraGG_Manual.nlo -s nomencl.ist -o CinelerraGG_Manual.nls + pdflatex CinelerraGG_Manual.tex + \end{lstlisting} + + After these commands are executed you will have the manual only in PDF format. So if you only want a PDF version, you only need to run these previous 5 lines but Context Help from the program will not be available with the PDF version. + \item Next, to produce HTML output the script then moves (renames) \texttt{latex 2html-init} to \texttt{.latex2html-init} (starting with dot). + + \item Then the script uses latex2html: latex2html is run with a unique set of parameters and some cleanup is performed. It creates the directory CinelerraGG\_Manual containing all the files of the manual in html: tables, references, index, glossary, and various images. + \end{itemize} + + \item After installation of the \CGG{} program, place the complete unchanged directory \texttt{CinelerraGG\_Manual}, as it was produced by latex2html from the manual package, into the \textit{doc} directory of the installed Cinelerra package. This will be the directory \textit{bin/doc/CinelerraGG\_Manual} if \CGG{} was built \texttt{--with-single-user}. The script ContextManual.pl will automatically be in bin/doc after the successful build of the program. It is this perl script that allows the program to access CinelerraGG\_Manual to offer Context Help. + + \item Optionally you can make some adjustments to the latex2html command line in the \texttt{translate\_manual} script. Some variants are shown in the comments inside the script but changes may impact the usability of Alt/h hotkey from the program. +\end{enumerate} \section{Windows 10 with Cygwin for \CGG{} Limited}% \label{sec:ms_windows10} +\index{windows 10} + +As of 10/31/2020, this is no longer being maintained. It should +still work using an older GIT version with Windows 10 but it is +possible with some effort to modify the patch file to work with the +latest updated GIT. To run \CGG{} on a Windows 10 computer, you will need to have Cygwin installed on your system, along with the \CGG{} static tar -and a patched library: libxbc. This setup has been tested with +and a patched library: libxcb. This setup has been tested with Windows 10, version 1909, on an HP EliteBook 820 at 2.3 GHz. This limited version provides \textit{core} functionality at this @@ -666,6 +832,7 @@ utility libraries are not currently compiled to work with Windows. \subsection*{Installing Cygwin} \label{sec:installing_cygwin} +\index{cygwin} Cygwin is an environment that runs natively on Windows which allows Unix programs to be compiled and run on Windows. With @@ -733,12 +900,12 @@ Terminal \item Download the tar file \href{https://cinelerra-gg.org/download/testing/libxcb-bld.tar.bz2}{libxcb-bld.tar.bz2}. -\item Install libxbc from the tar file -- installs into +\item Install libxcb from the tar file -- installs into \texttt{/usr/local} and requires approximately 21MB storage. \begin{lstlisting}[style=sh] tar -C /usr/local -xJf /path/libxcb-bld.tar.bz2 \end{lstlisting} - The libxcb path repairs an error (XIOError), which stops + The libxcb patch repairs an error (XIOError), which stops Cinelerra. \item Download the tar file @@ -850,9 +1017,94 @@ Running gdb from inside a desktop resident console (not a cygwin64 window) will hang cygwin (and cin) when it hits a breakpoint. You must run from an external console window to avoid this issue. +\section{Android Tablet or Phone with TERMUX}% +\label{sec:android_termux} +\index{Android} + +CinGG can be run on Android (without audio), a non-x86 mostly posix system, +tablet or phone after installing TERMUX, the \textit{terminal emulator}. +You will have to do your own build using the file in Cinelerra's +\textit{blds} subdirectory, \textit{termux.bld}. +Because this is a relatively new capability and of lesser use, some +additional effort may have to be exerted on your part to get it going +but it is easy to get help by contacting the mailing list. +In addition, there is currently no known procedure for hearing audio. + +\begin{figure}[htpb] + \centering + \includegraphics[width=1.0\linewidth]{android.png} + \caption{Screencast of an Android tablet running \CGG{} using TERMUX.} + \label{fig:android} +\end{figure} + +Some requirements include; +\begin{enumerate} +\item Termux runs with X on Android 7+. +\item Install takes 5 GB of internal storage. In addition you can download videos, +and other files with wget to one specific location at sdcard after running termux-setup-storage +inside termux (it will prompt you to give access to sdcard graphically the first time used). +\item If you have empty versions of locale.alias, locale.dir, + and +\newline \$PREFIX/share/X11/locale/en\_US.UTF-8/XLC\_LOCALE + you will have to request non-empty versions via the mailing list. +\item Some helpful information on installing the X environment is at: + \url{https://wiki.termux.com/wiki/Graphical\_Environment} +\item To prevent crashing when loading a video file that has audio, use the guide + \url{https://www.reddit.com/r/termux/comments/bpa8jz/pulseaudio\_streaming\_client/} + which explains vnc/pulseaudio setup. +\end{enumerate} + +A little more about Audio is presented next because you will need to have this running +in order to prevent a crash (even though you still will not be able to hear audio) - +there does not seem to be a simple PA client in termux itself. +Some information is available at: + \url{https://android.stackexchange.com/questions/205576/how-to-play-sound-from-termux-when-using-linux} . + +The next few lines show a successful setup/usage. +\begin{lstlisting}[style=sh] +$ pulseaudio --start +$ ps axv + PID TTY STAT TIME MAJFL TRS DRS RSS %MEM COMMAND + 7003 pts/28 S