X-Git-Url: https://git.cinelerra-gg.org/git/?p=goodguy%2Fcin-manual-latex.git;a=blobdiff_plain;f=parts%2FInstallation.tex;h=dd799ad2198a1929f04b05d85ebcd5ec9cfd6dc4;hp=12645b63a08c81984e45f3492c6288638a97715f;hb=HEAD;hpb=89c11b670e3a1baf736708cd4c3f7b3f5cf5b679 diff --git a/parts/Installation.tex b/parts/Installation.tex index 12645b6..a938d23 100644 --- a/parts/Installation.tex +++ b/parts/Installation.tex @@ -4,14 +4,19 @@ \section{\CGG{} AppImage}% \label{sec:cin_gg_appimage} +\index{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. +the desired date release. A small disadvantage of using the AppImage format is that some +of the options to make minor text type changes are not available and any graphics board +speedups most likely will not work. +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. -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: +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 newest distros +(most of the popular Linux distributions such as Arch, Ubuntu, and Fedora have dropped support for this older architecture). In any case, if you are using a 32-bit Linux distro, you should compile your sources from git or use a precompiled binary\protect\footnote{Remember that a 32-bit distro does not address more than 4GB of memory, so you may have stability and performance problems with large, high-resolution mediafiles.}. 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: @@ -20,14 +25,20 @@ Download the file from: 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 + CinGG-20230131-x86_64.AppImage + (currently based on Fedora 32, linux kernel 5.8.15, libc version 2.31) + CinGG-20230131-x86_64-older-distros.AppImage + (currently based on Ubuntu 16.04, libc version 2.23) + CinGG-20230131-i686.AppImage + (currently based on Debian 9, linux kernel 4.9, use "newer" for Debian 11.0) + CinGG-20230131-i686-newer-distros.AppImage + (currently based on Debian 11, linux kernel 5.10) + CinGG-20230131-x86_64-multibit.AppImage + (currently based on Fedora 32, libc version 2.31) + CinGG-20230131-x86_64-older-distros-multibit.AppImage + (currently based on Fedora 29 - runs on RHEL8 - linux kernel 4.19.9, libc version 2.28) + CinGG-20230930-alternative_shortcuts.AppImage (currently based on Ubuntu 16.04, libc version 2.23) - CinGG-20210731-i686.AppImage - (currently based on Debian 9, linux kernel 4.9) - 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: @@ -42,7 +53,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. @@ -56,6 +70,18 @@ And Leap 15.3 (OpenSUSE) requires installation of the \textit{appimage} package. 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. + +Using AppImage means you can't have the installation folder and work on the files. To unpack the AppImage and get its structure in folders and files see \nameref{sub:managing_appimage} To create, edit and manage appimages see \nameref{sub:built_appimage_scratch}. + +\subsection{AppImage with Standard Shortcuts} +\label{sec:appimage_standard_shortcuts} + +In video editing it is important to learn how to use shortcuts to speed up your work. \CGG{} uses shortcuts different from those considered standard in both the Linux world and video editing. For example, \texttt{"s"} is used instead of \texttt{Ctrl+S}, \texttt{"q"} instead of \texttt{Ctrl+Q}, and even the classic editing keys \texttt{J, K, L} are different. +In addition, in \CGG{} the keys are fixed and not customizable. A new user may have a hard time getting used to a new combination of shortcuts. To make it a little easier, an appimage containing a patch that makes use of some of the more frequently used classic key combinations is available. It can be downloaded \href{https://cinelerra-gg.org/download/images/CinGG-20230930-alternative_shortcuts.AppImage}{here} (note that the file contains the month and last day of the month, but you will want to go up a directory and download the latest date instead to include the current changes). A table showing the changes from \CGG{} mode to standard mode can be found here: \nameref{sec:alternative_shortcuts}. + \section{Download Already Built \CGG{}}% \label{sec:download_already_built_cinelerra_gg} @@ -66,6 +92,10 @@ And Leap 15.3 (OpenSUSE) requires installation of the \textit{appimage} package. \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 @@ -74,7 +104,7 @@ 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}. +and Slackware versions available\protect\footnote{Remember that a 32-bit distro does not address more than 4GB of memory, so you may have stability and performance problems with large, high-resolution mediafiles.}. \textbf{These binaries are no longer being updated; they are stable and working but without future functionality}. They are in subdirectories of: \begin{list}{}{} @@ -131,18 +161,21 @@ caption={README.pkgs} These are generic build instructions for building \CGG{} Infinity. Known to work on Ubuntu, Mint, OpenSuse, Fedora, Debian, Centos, -Arch, Slackware, and Gentoo. It has not been tested on every +Arch, Slackware, and Gentoo. Compiling from git is perhaps the best way to get \CGG{} on 32-bit systems\protect\footnote{Remember that a 32-bit distro does not address more than 4GB of memory, so you may have stability and performance problems with large, high-resolution mediafiles.}. 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. +\url{https://cinelerra-gg.org/download/images/HTML_Manual-20220131.tgz} +substituting for "20220131" the "yyyymmdd" representing latest release date. Then unpack to your Cinelerra/bin/doc directory so it is included in your built system. NOTE End @@ -200,8 +233,7 @@ To do a system build \index{build} , you should read the file \item You need about 6.0 \,GB of disk storage to operate a build and you need to have \textit{git} installed. -\item Obviously in order to install into the system, you must run as - \textbf{root}. +\item You do not need to be \textbf{root} (or \textit{sudo} ...) to install, except to run \texttt{bld\_prepare.sh} which calls in the distro's package manager. However if there are problems with permissions you can try to compile as root. \item The \textit{git:} step has to download many files (approx 130\,MB) so allow time. When decompressed this will expand to @@ -223,20 +255,19 @@ cd cinelerra5/cinelerra-5.1 \begin{lstlisting}[style=sh] ./blds/bld_prepare.sh # where represents the # Operating System of - # centos, fedora, suse, ubuntu, mint, debian. + # centos, fedora, suse, ubuntu, mint, debian, arch, debian-older, ubuntu-older. ./autogen.sh ./configure --prefix=/usr # optional parameters can be added here make 2>&1 | tee log # make and log the build \end{lstlisting} - \texttt{bld\_prepare.sh} does not work for Arch Linux or Gentoo, - so we have to install the dependencies - manually. \texttt{README.arch} or \texttt{README.gentoo}, which - contain the list of dependencies, can be found at: - \begin{list}{}{} +\texttt{bld\_prepare.sh} works for Arch and Gentoo with some additional information. For Arch linux, a README file containing many more dependencies is maintained. For Gentoo, a README file lists other dependencies that have to be installed manually. +\begin{list}{}{} \item \href{https://cinelerra-gg.org/download/README.arch}{https://cinelerra-gg.org/download/README.arch} \item \href{https://cinelerra-gg.org/download/README.gentoo}{https://cinelerra-gg.org/download/README.gentoo} - \end{list} +\end{list} + + \texttt{bld\_prepare.sh} option of debian-older and ubuntu-older is currently for older operating system versions since before about 06/2022. \item Check for obvious build errors: \begin{lstlisting}[style=sh] @@ -255,7 +286,7 @@ grep "\*\*\*.*error" -ai log make install \end{lstlisting} Where represents the Operating System supported by \CGG{}, such -as centos, fedora, suse, ubuntu, mint, debian. +as centos, fedora, suse, ubuntu, mint, or debian. The ``with-single-user'' parameter makes it so. % Make and log build ( Check for errors before proceeding. @@ -278,8 +309,7 @@ the top level after you get the source. \item You need at least 6\,GB of disk storage to operate a build + you need to have “\texttt{git}” installed. -\item Recommend you build and run as \textbf{root}, just to avoid - permission issues initially. +\item You can install it without being \textbf{root} or without using \textit{sudo}. In case of problems you can use \textit{sudo} to avoid permission issues. \item The \textit{git} step has to download many files (approx 130\,MB) so allow time. @@ -295,8 +325,7 @@ cd cinelerra5/cinelerra-5.1 NOTE: if your system has never had \CGG{} Infinity installed, you will have to make sure all the compilers and libraries necessary are -installed. So on the very first build you should run as -\textbf{root}: +installed. Thus, for the execution part of \texttt{bld\_prepare.sh} you must use sudo, but the other steps can be done as a normal user. % FIXME No novels in the listings. \begin{lstlisting}[style=sh] @@ -307,7 +336,7 @@ make 2>&1 | tee log make install \end{lstlisting} Where represents the Operating System supported by \CGG{}, such -as centos, fedora, suse, ubuntu, mint, debian. +as centos, fedora, suse, ubuntu, mint, debian and arch. The ``with-single-user'' parameter makes it so. % Make and log build ( Check for errors before proceeding. @@ -315,14 +344,13 @@ Check for errors before proceeding. Then just start the application by keying in: \texttt{./cin} in the bin subdirectory OR add a desktop icon by using the appropriate -directory to copy the files to, run as \textbf{root}, and edit to +directory to copy the files to and edit to correct the directory path. Below are generic directions of how to do this. Then just start the application by keying in: \texttt{./cin} in the bin subdirectory OR add a desktop icon by using the appropriate -directory to copy the files to, run as \textbf{root}, and edit to -correct the directory path. Below are generic directions of how to +directory to copy the files to, run as root, and edit to correct the directory path. Below are generic directions of how to do this. \begin{lstlisting}[style=sh] @@ -335,20 +363,18 @@ 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 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: +A working example of how to build in Arch as a normal user: \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 +$ ./configure --with-single-user --with-booby $ make 2>&1 | tee /tmp/cin5.log && make install +$ mv Makefile Makefile.cfg +$ cp Makefile.devel Makefile \end{lstlisting} - \subsection{Notable Options and Caveats}% \label{sub:notable_options_and_caveats} \index{./configure} @@ -360,6 +386,16 @@ handling errors, other problems and potential crashes with the most success. Included in this section are some of the build variations easily available for normal builds. +You can, during compilation, use a patch that changes the main non-standard shortcuts of \CGG{} to standard ones (\texttt{Ctrl+S} and \texttt{J, K, L}, etc.). +A table showing the changes from \CGG{} mode to standard mode can be found here: \nameref{sec:alternative_shortcuts}. +The instructions for the build with the patch are as follows. After downloading the sources from the git repository in the usual way, you apply the patch: + +\begin{lstlisting}[style=sh] + cd cinelerra-5.1 + patch -p1 -i alt_shortcuts.patch + ./bld.sh +\end{lstlisting} + To see the full list of features use: \begin{lstlisting}[style=sh] @@ -434,12 +470,19 @@ export ac_cv_header_xmmintrin_h=no export FFMPEG_EXTRA_CFG=" --disable-vdpau" \end{lstlisting} +Note for building 32-bit packages on hybrid 32/64 x86 systems, you may +need to add the following: + +\begin{lstlisting}[style=sh] +setarch i686 (befire configure and package build) +\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. +\url{https://cinelerra-gg.org/download/images/HTML_Manual-20220131.tgz} +substituting for "20220131" 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 @@ -455,7 +498,13 @@ Getting a build to work in a custom environment is not easy. If you have already installed libraries which are normally in the thirdparty build, getting them to be recognized means you have to install the \textit{devel} version so the header files which match -the library interfaces exist. Below is the list of thirdparty +the library interfaces exist. If you want to build using only the +thirdparty libraries installed in your system, just include +"--without-thirdparty" to your configure script. For example: +\begin{lstlisting}[style=sh] +./confgure --with-single-user --disable-static-build --without-thirdparty +\end{lstlisting} +Below is the list of thirdparty builds, but this list may have changed over time. % It's list of Table? @@ -611,6 +660,8 @@ git clean -i # interactive clean, use answer 1 to "clean" 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 similar to these next lines which are then explained in more detail. +You need "history" to do this, so should not have used the "depth 1" +parameter on your GIT. \strut \begin{lstlisting}[style=sh] @@ -695,6 +746,10 @@ cd cinelerra gdb ./ci \end{lstlisting} +When you get the gdb prompt, type the letter "r", for run, and the windows will come up. +If there is a crash, the windows will freeze and typing "bt" for backtrace in the startup window +after the gdb prompt, provides useful information. + \subsection{Unbundled Builds}% \label{sub:unbundled_builds} @@ -794,6 +849,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 @@ -996,14 +1056,111 @@ 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} + +\CGG{} 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 +\texttt{blds} subdirectory, \texttt{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 \texttt{locale.alias}, \texttt{locale.dir}, + and +\newline \texttt{\$PREFIX/share/X11/locale/en\_US.UTF-8/XLC\_LOCALE} +\newline 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