Linux ===== Requirements ------------ Debian Bullseye/Bookworm ^^^^^^^^^^^^^^^^^^^^^^^^ End of Life (Bullseye): July, 2024 End of Life (Bookworm): TBD Install Requirements .. code-block:: bash sudo apt update && sudo apt install \ build-essential \ cmake \ libavdevice-dev \ libayatana-appindicator3-dev \ libboost-filesystem-dev \ libboost-locale-dev \ libboost-log-dev \ libboost-program-options-dev \ libcap-dev \ # KMS libcurl4-openssl-dev \ libdrm-dev \ # KMS libevdev-dev \ libminiupnpc-dev \ libmfx-dev \ # x86_64 only libnotify-dev \ libnuma-dev \ libopus-dev \ libpulse-dev \ libssl-dev \ libva-dev \ # VA-API libvdpau-dev \ libwayland-dev \ # Wayland libx11-dev \ # X11 libxcb-shm0-dev \ # X11 libxcb-xfixes0-dev \ # X11 libxcb1-dev \ # X11 libxfixes-dev \ # X11 libxrandr-dev \ # X11 libxtst-dev \ # X11 nodejs \ npm \ nvidia-cuda-dev \ # Cuda, NvFBC nvidia-cuda-toolkit # Cuda, NvFBC Fedora 38, 39 ^^^^^^^^^^^^^ Install Requirements .. code-block:: bash sudo dnf update && \ sudo dnf group install "Development Tools" && \ sudo dnf install \ boost-devel \ cmake \ gcc \ gcc-c++ \ intel-mediasdk-devel \ # x86_64 only libappindicator-gtk3-devel \ libcap-devel \ libcurl-devel \ libdrm-devel \ libevdev-devel \ libnotify-devel \ libva-devel \ # VA-API libvdpau-devel \ libX11-devel \ # X11 libxcb-devel \ # X11 libXcursor-devel \ # X11 libXfixes-devel \ # X11 libXi-devel \ # X11 libXinerama-devel \ # X11 libXrandr-devel \ # X11 libXtst-devel \ # X11 mesa-libGL-devel \ miniupnpc-devel \ npm \ numactl-devel \ openssl-devel \ opus-devel \ pulseaudio-libs-devel \ rpm-build \ # if you want to build an RPM binary package wget \ # necessary for cuda install with `run` file which # necessary for cuda install with `run` file Ubuntu 20.04 ^^^^^^^^^^^^ End of Life: April 2030 Install Requirements .. code-block:: bash sudo apt update && sudo apt install \ build-essential \ cmake \ g++-10 \ libayatana-appindicator3-dev \ libavdevice-dev \ libboost-filesystem-dev \ libboost-locale-dev \ libboost-log-dev \ libboost-program-options-dev \ libcap-dev \ # KMS libcurl4-openssl-dev \ libdrm-dev \ # KMS libevdev-dev \ libminiupnpc-dev \ libmfx-dev \ # x86_64 only libnotify-dev \ libnuma-dev \ libopus-dev \ libpulse-dev \ libssl-dev \ libva-dev \ # VA-API libvdpau-dev \ libwayland-dev \ # Wayland libx11-dev \ # X11 libxcb-shm0-dev \ # X11 libxcb-xfixes0-dev \ # X11 libxcb1-dev \ # X11 libxfixes-dev \ # X11 libxrandr-dev \ # X11 libxtst-dev \ # X11 nodejs \ npm \ wget # necessary for cuda install with `run` file Update gcc alias .. code-block:: bash update-alternatives --install \ /usr/bin/gcc gcc /usr/bin/gcc-10 100 \ --slave /usr/bin/g++ g++ /usr/bin/g++-10 \ --slave /usr/bin/gcov gcov /usr/bin/gcov-10 \ --slave /usr/bin/gcc-ar gcc-ar /usr/bin/gcc-ar-10 \ --slave /usr/bin/gcc-ranlib gcc-ranlib /usr/bin/gcc-ranlib-10 Ubuntu 22.04 ^^^^^^^^^^^^ End of Life: April 2027 Install Requirements .. code-block:: bash sudo apt update && sudo apt install \ build-essential \ cmake \ libappindicator3-dev \ libavdevice-dev \ libboost-filesystem-dev \ libboost-locale-dev \ libboost-log-dev \ libboost-program-options-dev \ libcap-dev \ # KMS libcurl4-openssl-dev \ libdrm-dev \ # KMS libevdev-dev \ libminiupnpc-dev \ libmfx-dev \ # x86_64 only libnotify-dev \ libnuma-dev \ libopus-dev \ libpulse-dev \ libssl-dev \ libva-dev \ # VA-API libwayland-dev \ # Wayland libx11-dev \ # X11 libxcb-shm0-dev \ # X11 libxcb-xfixes0-dev \ # X11 libxcb1-dev \ # X11 libxfixes-dev \ # X11 libxrandr-dev \ # X11 libxtst-dev \ # X11 nodejs \ npm \ nvidia-cuda-dev \ # CUDA, NvFBC nvidia-cuda-toolkit # CUDA, NvFBC CUDA ---- If the version of CUDA available from your distro is not adequate, manually install CUDA. .. tip:: The version of CUDA you use will determine compatibility with various GPU generations. See `CUDA compatibility `__ for more info. Select the appropriate run file based on your desired CUDA version and architecture according to `CUDA Toolkit Archive `__. .. code-block:: bash wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda_11.8.0_520.61.05_linux.run \ --progress=bar:force:noscroll -q --show-progress -O ./cuda.run chmod a+x ./cuda.run ./cuda.run --silent --toolkit --toolkitpath=/usr --no-opengl-libs --no-man-page --no-drm rm ./cuda.run Build ----- .. attention:: Ensure you are in the build directory created during the clone step earlier before continuing. .. code-block:: bash cmake .. make -j ${nproc} cpack -G DEB # optionally, create a deb package cpack -G RPM # optionally, create a rpm package