RafaMar Batch Render help files + a correction
[goodguy/cin-manual-latex.git] / parts / Installation.tex
index e2837629342dac420f91ac35d72cf30af3c28d4e..2258db4d7b89f82bc534480f11bff362497071c0 100644 (file)
@@ -1,7 +1,80 @@
 \chapter{Installation}
 \label{cha:Installation}
+\index{installation}
+
+\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.  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.  These are updated on a fairly
+regular basis as long as significant code changes have been made.
+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,
@@ -39,14 +112,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 +128,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}
@@ -85,8 +159,8 @@ cd cinelerra5/cinelerra-5.1
 
 \begin{lstlisting}[style=sh]
 ./blds/bld_prepare.sh <os> # where <os> represents the
-                           # Operating System of centos,
-                           # fedora, suse, ubuntu, mint, debian.
+                           # Operating System of
+                           # centos, fedora, suse, ubuntu, mint, debian.
 ./autogen.sh
 ./configure --prefix=/usr  # optional parameters can be added here
 make 2>&1 | tee log        # make and log the build
@@ -131,6 +205,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 +272,23 @@ After you have followed the above, in the cin.desktop file, change
 the \texttt{Exec=cin} line to be
 \texttt{Exec=<your\_directory\_path>/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 +302,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.
@@ -289,6 +374,9 @@ export FFMPEG_EXTRA_CFG=" --disable-vdpau"
 
 \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
@@ -387,6 +475,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 +533,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 +544,14 @@ similar to these next lines which are then explained in more detail.
  
 \begin{lstlisting}[style=sh]
 cd /<path>/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 <version> # 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 +600,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 +627,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 +645,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 +677,13 @@ this can be debilitating; you can always run \texttt{ffmpeg
   -formats} and \texttt{ffmpeg -codecs} to see what is available
 on your system.
 
-
-\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:
-
-\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:
-
-\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 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.
-
-\lstset{inputpath=extra/}
-\lstinputlisting[
-style=nil,
-basicstyle=\footnotesize,
-caption={README.pkgs}
-]{README.pkgs}
-
 \section{Windows 10 with Cygwin for \CGG{} Limited}%
 \label{sec:ms_windows10}
+\index{windows 10}
 
 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 +698,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 +766,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
@@ -757,8 +790,7 @@ tar -xJf /path/cygcin-bld.tar.bz2
 This creates \texttt{\~{}/cygcin}, a user build installation of
 \CGG{} and requires approximately 400MB storage.
 
-\underline{Running \CGG{}:}
-
+\paragraph{Running \CGG{}:}
 You will need to start a cygwin desktop from the startup menu:
 \begin{enumerate}
 \item \texttt{Start$\rightarrow$ Cygwin-X $\rightarrow$ Openbox}
@@ -797,7 +829,7 @@ example h264/h265), and utilities.  The only graphics driver is
 X11 and the only sound driver is pulseaudio.  Almost all
 configurable omissions are applied to this build.
 
-\underline{\CGG{} build on cygwin from source code:}
+\paragraph{\CGG{} build on cygwin from source code:}
 
 \begin{enumerate}
 \item Download and install ffmpeg into /usr/local :
@@ -852,8 +884,9 @@ window) will hang cygwin (and cin) when it hits a breakpoint.  You
 must run from an external console window to avoid this issue.
 
 
-\section{Distribution Systems with \CGG{} Included}%
-\label{sec:distribution_systems_with_cinelerra_included}
+\section{Distro with \CGG{} Included}%
+\label{sec:distro_with_cinelerra_included}
+\index{linux distro}
 
 There are also some special complete distribution systems
 available that include \CGG{} for audio and video production
@@ -882,15 +915,23 @@ graphics, animations, physical computing, etc.
 Click here for the
 \href{https://gitlab.com/giuseppetorre/bodhilinuxmedia}{homepage of Bodhi Linux}.
 
+\subsection{Elive}
+\label{sec:elive}
+
+\textbf{Elive}, or Enlightenment live CD, is a non-commercial, cost-free operating system based on Debian, for the daily use and it can be used both as live CD or 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.
 
 \section{Cinx and a “Bit” of Confusion}%
 \label{sec:cinx_and_a_bit_of_confusion}
+\index{cinx}
 
 Cinx is the exact same program as Cin.  The X (x) represents the
 roman numeral 10 for 10-bit as opposed to 8-bit standard.  The
 third-party library used for x265 must be specially compiled with
 \texttt{--bit-depth=10} in order to produce 10-bit rendered
-output.
+output.  A cinx version can be built for most other distros if 
+rendering at 10-bit is desirable instead of 8-bit.
 %
 This build will not be able to output 8-bit depth which means you
 have to retain the Cin version also.