add Android/Termux build notes from Andrew email
[goodguy/cin-manual-latex.git] / parts / Installation.tex
index 95df45e9853b037174df69e5af6fa5de509ec682..7ae11fbb8c43d71205e0c982519945a2277b3745 100644 (file)
@@ -11,7 +11,9 @@ and since each release is named differently, you can keep a number of versions i
 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 and 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:
+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:
 
@@ -25,7 +27,7 @@ Some example file names are as follows - where 8 digits represent yyyymmdd:
        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)
+         (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}
@@ -42,7 +44,10 @@ Finally start the program from a window in the directory where the image is stor
        $ ./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.
+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.
 
@@ -50,6 +55,16 @@ Most distros already have the libraries to run the appimage, but if not you may
        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}
 
@@ -60,6 +75,10 @@ Most distros already have the libraries to run the appimage, but if not you may
        \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
@@ -129,7 +148,10 @@ 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
@@ -788,6 +810,11 @@ git clone "git://git.cinelerra-gg.org/goodguy/cin-manual-latex.git" master
 \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: libxcb.  This setup has been tested with
@@ -990,6 +1017,90 @@ 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\/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<s 0:00 637 532 9039 1716 0.0 /data/data/com
+13684 ? S<l 0:00 0 49 123898 16616 0.8 pulseaudio --
+13692 pts/28 R<+ 0:00 0 63 7500 1420 0.0 ps axv
+\end{lstlisting}
+\begin{lstlisting}[style=sh]
+$ pactl load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1 auth-anonymous=116
+$ PULSE_SERVER=127.0.0.1 pactl info
+Server String: 127.0.0.1
+Library Protocol Version: 34
+Server Protocol Version: 34
+Is Local: no
+Client Index: 2
+Tile Size: 65496
+User Name: u0_a116
+Host Name: localhost
+Server Name: pulseaudio
+Server Version: 14.2
+Default Sample Specification: s16le 2ch 44100Hz
+Default Channel Map: front-left,front-right
+Default Sink: OpenSL_ES_sink
+Default Source: OpenSL_ES_sink.monitor
+Cookie: c659:c1b7
+\end{lstlisting}
+
+Now to start up \CGG{}, type in:
+\begin{lstlisting}[style=sh]
+        $ cd (your cinelerra directory)/cinelerra/cinelerra-5.1/
+        $ PULSE_SERVER=127.0.0.1 ./cin.sh
+\end{lstlisting}
+
+You can even build a package version similiar to Debian, just with 'pkg search\/pkg install'
+instead of 'apt search/install' and with '*-static' instead of '-dev\/-devel packages'. For more
+information on this, see:
+
+\url{https://wiki.termux.com/wiki/Package\_Management}
+\newline \url{https://wiki.termux.com/wiki/Building\_packages}
 
 \section{Distro with \CGG{} Included}%
 \label{sec:distro_with_cinelerra_included}
@@ -1034,10 +1145,11 @@ You can read all about DeLinuxCo \href{https://www.delinuxco.com/}{here} and dow
 
 \textbf{Elive}, or Enlightenment live CD, is a non-commercial, cost-free operating system based on Debian, and it can be used either as a live CD or an Installed system. Elive uses a customized Enlightenment desktop. It is fast, user-friendly and feature-rich and \CGG{} is included in the 64 bit version.
 
-Click \href{https://www.elivecd.org/}{Elive} for more information.  The \CGG{} package is at 
-\href{http://repository.elivecd.org/pool/multimedia/c/cinelerra-gg/} {package} - just download
-the .deb file and install via “dpkg -i “.  To include access to the Alt/h hotkey help, also install
-\href{http://repository.elivecd.org/pool/multimedia/c/cinelerra-gg-manual/}{manual} for help.
+Click \href{https://www.elivecd.org/}{Elive} for more information.  The \CGG{} packages for the program
+and the manual are in the direcotry at 
+\href{https://repo.bullseye.elive.elivecd.org/pool/multimedia/c/} {Bullseye version 11} and
+\href{http://repo.buster.elive.elivecd.org/pool/multimedia/c/}{Buster version 10} - just download 
+the .deb files inside that directory and install via “dpkg -i “.
 
 \section{Cinx and a “Bit” of Confusion}%
 \label{sec:cinx_and_a_bit_of_confusion}
@@ -1067,21 +1179,21 @@ There is also a 12-bit version for consideration but currently the
 results are simply the same as 10-bit with padding to make 12-bit
 so it is of no value.
 
-\section{Multibit build for 8/10/12-bit Handling}%
+\section{Multibit build for x265-8/10/12-bit}%
 \label{sec:multibit_build}
 \index{multibit}
 
 To build a version that can handle 8 bit, or 10 bit, or 12 bit videos,
-a patch is provided in the \textit{thirdparty} subdirectory that needs
-to be applied to do so.  Be aware that the compile will take a
-substantial amount of extra time.  To apply the required patch:
+a patch is provided in the \texttt{thirdparty} subdirectory that needs
+to be applied to do so.  Be aware that the compile may take more time
+and seems to be about twice as long. To apply the required patch:
 
 \begin{lstlisting}[style=sh]
-cd location of your cinelerra/cinelerra-5.1/thirdparty
+cd /path/to/cinelerra-5.1/thirdparty
 patch < compile_multibit_X265.txt
 mv x265_3.5.patch* src/.
 \end{lstlisting}
-Render formats h265-10bit and h265-12bit have been provided and will
+Render formats \textit{h265-10bit} and \textit{h265-12bit} have been provided and will
 be operational after the applied patch is compiled in.
 
 %%% Local Variables: