X-Git-Url: https://git.cinelerra-gg.org/git/?p=goodguy%2Fcin-manual-latex.git;a=blobdiff_plain;f=parts%2FInstallation.tex;h=2258db4d7b89f82bc534480f11bff362497071c0;hp=1f667fea756eb0a8e9e5b3d9db40c089fcfda58c;hb=e73c52ca0a9cd07c7abc8bb1be8f3c4483923de0;hpb=448b4c639d5d1e80dcba174ab4a4d3ee84f9f6b7 diff --git a/parts/Installation.tex b/parts/Installation.tex index 1f667fe..2258db4 100644 --- a/parts/Installation.tex +++ b/parts/Installation.tex @@ -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 # where 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=/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 //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 +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 @@ -871,7 +904,7 @@ themselves. Of course, it includes \CGG{}! Click here for the \href{http://www.bandshed.net/avlinux/}{homepage of AV Linux}. -\subsection{Bodhi Linux} +\subsection{Bodhi Linux Media} \label{sec:Bodhi_Linux} \textbf{Bodhi Linux Media} is a free and open source distribution that @@ -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.