Linux platform

Prev Next

Introduction

Supported distributions

The only officially supported Linux distribution is Ubuntu.

The latest release requires Ubuntu 22.04 or newer.

(While Composer has successfully been used on other distributions - no official guidance or responsibility are given or held by the Composer team for the compatibility or functionality)

It is always recommended to install or upgrade to the latest version of Composer for stability, performance, and feature availability.

If - for some reason - an older version is required. Please refer to the additional tabs below (for each segment).

Prerequisites

1 - System packages

The following packages must be installed in order to run Composer.

sudo apt-get update
                    sudo apt-get install dotnet-runtime-8.0 yasm gcc libunistring-dev libgnutls28-dev libvorbis-dev libx264-dev libx265-dev libfontconfig1-dev libssl-dev build-essential make cmake
sudo apt-get update
                    sudo apt-get install dotnet-runtime-6.0 yasm gcc libunistring-dev libgnutls28-dev libvorbis-dev libx264-dev libx265-dev libfontconfig1-dev build-essential make cmake

The following tools and libraries are all required by Composer.

2 - NVIDIA driver with CUDA support

Composer only works with NVIDIA graphics cards, and requires CUDA support from the proprietary drivers.

NVIDIA GPU driver supporting CUDA 12.8:

You need at least Nvidia driver >=570.26 - which is shipped with the proprietary Nvidia drivers.

CLI-based install: sudo apt-get install nvidia-driver-570
GUI-based install: Open Software and Updates and install nvidia-driver-570 (or later)

NVidia GPU driver supporting Cuda 12.4:

You need at least Nvidia driver >=550.54.14 - which is shipped with the proprietary Nvidia drivers.

CLI-based install: sudo apt-get install nvidia-driver-550
GUI-based install: Open Software and Updates and install nvidia-driver-550 (or later)

NVidia GPU driver supporting Cuda 11.6:

You need at least Nvidia driver >=515 - which is shipped with the proprietary Nvidia drivers.

CLI-based install: sudo apt-get install nvidia-driver-515
GUI-based install: Open Software and Updates and install nvidia-driver-515 (or later)

3 - FFMPEG

Composer requires FFMPEG to work with the specific library and codec support.

Non-free licenses

It is the responsibility of the user to acquire all necessary licenses for the below listed libraries and codecs.

wget https://github.com/FFmpeg/nv-codec-headers/releases/download/n12.1.14.0/nv-codec-headers-12.1.14.0.tar.gz
                    tar -xvf nv-codec-headers-12.1.14.0.tar.gz
                    cd nv-codec-headers-12.1.14.0
                    make
                    sudo make install
                    cd ..
                    git clone -b v1.5.5-rc.0 --depth 1 https://github.com/Haivision/srt.git
                    cd srt
                    cmake .
                    make -j12
                    sudo make install
                    cd ..
                    rm -rf srt/
                    wget https://ffmpeg.org/releases/ffmpeg-6.1.tar.xz
                    tar -xvf ffmpeg-6.1.tar.xz
                    cd ffmpeg-6.1
                    ./configure \
                    --enable-libx264 \
                    --enable-libx265 \
                    --enable-gpl \
                    --enable-libvorbis \
                    --enable-shared \
                    --enable-gnutls \
                    --enable-pic \
                    --enable-ffplay \
                    --enable-gnutls \
                    --disable-stripping \
                    --enable-libfontconfig \
                    --enable-libfreetype \
                    --enable-nvenc \
                    --enable-libsrt
                    make -j 12
                    sudo make install
                    sudo ldconfig

Verify installation

Issuing the command ffmpeg should yield output like below

ffmpeg version 6.1 Copyright (c) 2000-2023 the FFmpeg developers
                        built with gcc 14 (Ubuntu 14.2.0-4ubuntu2)
                        configuration: --enable-libx264 --enable-libx265 --enable-gpl --enable-libvorbis --enable-shared --enable-gnutls --enable-pic --enable-ffplay --enable-gnutls --disable-stripping --enable-libfontconfig --enable-libfreetype --enable-nvenc --enable-libsrt
                        libavutil 58. 29.100 / 58. 29.100
                        libavcodec 60. 31.102 / 60. 31.102
                        libavformat 60. 16.100 / 60. 16.100
                        libavdevice 60. 3.100 / 60. 3.100
                        libavfilter 9. 12.100 / 9. 12.100
                        libswscale 7. 5.100 / 7. 5.100
                        libswresample 4. 12.100 / 4. 12.100
                        libpostproc 57. 3.100 / 57. 3.100
sudo add-apt-repository ppa:savoury1/ffmpeg4
                    sudo apt-get update
                    sudo apt-get install ffmpeg
wget https://github.com/FFmpeg/nv-codec-headers/releases/download/n12.0.16.0/nv-codec-headers-12.0.16.0.tar.gz
                    tar -xvf nv-codec-headers-12.0.16.0.tar.gz
                    cd nv-codec-headers-12.0.16.0
                    make
                    sudo make install
                    cd ..
                    wget https://ffmpeg.org/releases/ffmpeg-5.1.3.tar.xz
                    tar -xvf ffmpeg-5.1.3.tar.xz
                    cd ffmpeg-5.1.3
                    ./configure \
                    --enable-libx264 \
                    --enable-libx265 \
                    --enable-gpl \
                    --enable-libvorbis \
                    --enable-shared \
                    --enable-gnutls \
                    --enable-pic \
                    --enable-ffplay \
                    --enable-gnutls \
                    --disable-stripping \
                    --enable-libfontconfig \
                    --enable-libfreetype \
                    --enable-nvenc

                    make -j 12
                    sudo make install
                    sudo ldconfig

Verify installation

Issuing the command ffmpeg should yield output like below

ffmpeg version 5.1.3 Copyright (c) 2000-2022 the FFmpeg developers
                        built with gcc 11 (Ubuntu 11.3.0-1ubuntu1~22.04.1)
                        configuration: --enable-libx264 --enable-libx265 --enable-gpl --enable-libvorbis --enable-shared --enable-gnutls --enable-pic --enable-ffplay --enable-gnutls --disable-stripping --enable-libfontconfig --enable-libfreetype --enable-nvenc
                        libavutil 57. 28.100 / 57. 28.100
                        libavcodec 59. 37.100 / 59. 37.100
                        libavformat 59. 27.100 / 59. 27.100
                        libavdevice 59. 7.100 / 59. 7.100
                        libavfilter 8. 44.100 / 8. 44.100
                        libswscale 6. 7.100 / 6. 7.100
                        libswresample 4. 7.100 / 4. 7.100
                        libpostproc 56. 6.100 / 56. 6.100

Using a different / preexisting FFMPEG installation

While not recommended (it is possible to adjust the path to ffmpeg in the .vindralcomposerruntime configuration file found in the application root path:

#On Linux, set the ffmpeg.rootpath variable to the installation path of your FFmpeg X.X installation

ffmpeg.rootpath="/path/to/ffmpeg/libs"

Installation

Vindral Composer is distributed as gzipped tar file (.tgz).

Extract the contents

tar xfvz VindralComposerRuntime-Linux.tgz

Run the application

./vindralcomposerruntime

Optional packages and third-party tools

Desktop Video - Decklink capture

If a Decklink capture card is to be used.

Please refer to https://www.blackmagicdesign.com/support/family/capture-and-playback

Object detection

Requires Composer R2 2025

The Object detection modules require at least Composer R2 2025.

In order to utilize Composer’s add-on object detection features, the following additional libraries are needed:

  1. Install CUDA ToolKit 12.4 for your Linux version

  2. Install cuDNN 9.4 for your Linux version

  3. Restart your system.

Speech-to-text

Requires Composer R2 2025

The Speech-to-text optional module requires at least Composer R2 2025.

In order to utilize Composer’s add-on speech-to-text, the following additional libraries are needed:

  1. Install CUDA ToolKit 12.4 for your Linux version

  2. Restart your system.

TensorRT - Optimize models for speed

Requires Composer R3 2025

TensorRT 10.12 is optional for object detection and its packages only work in conjunction with cuDNN and requires Composer R3 2025 (Cuda 12.4).

Download TensorRT 10.12

version="10.9.0.34-1+cuda12.8"
                    sudo apt-get install \
                    libnvinfer-bin=${version} \
                    libnvinfer-dev=${version} \
                    libnvinfer-dispatch-dev=${version} \
                    libnvinfer-dispatch10=${version} \
                    libnvinfer-headers-dev=${version} \
                    libnvinfer-headers-plugin-dev=${version} \
                    libnvinfer-lean-dev=${version} \
                    libnvinfer-lean10=${version} \
                    libnvinfer-plugin-dev=${version} \
                    libnvinfer-plugin10=${version} \
                    libnvinfer-samples=${version} \
                    libnvinfer-vc-plugin-dev=${version} \
                    libnvinfer-vc-plugin10=${version} \
                    libnvinfer10=${version} \
                    libnvonnxparsers-dev=${version} \
                    libnvonnxparsers10=${version} \
                    python3-libnvinfer-dev=${version} \
                    python3-libnvinfer-dispatch=${version} \
                    python3-libnvinfer-lean=${version} \
                    python3-libnvinfer=${version} \
                    tensorrt-dev=${version} \
                    tensorrt-libs=${version} \
                    tensorrt=${version}

                    sudo apt-mark hold \
                    libnvinfer-bin \
                    libnvinfer-dev \
                    libnvinfer-dispatch-dev \
                    libnvinfer-dispatch10 \
                    libnvinfer-headers-dev \
                    libnvinfer-headers-plugin-dev \
                    libnvinfer-lean-dev \
                    libnvinfer-lean10 \
                    libnvinfer-plugin-dev \
                    libnvinfer-plugin10 \
                    libnvinfer-samples \
                    libnvinfer-vc-plugin-dev \
                    libnvinfer-vc-plugin10 \
                    libnvinfer10 \
                    libnvonnxparsers-dev \
                    libnvonnxparsers10 \
                    python3-libnvinfer-dev \
                    python3-libnvinfer-dispatch \
                    python3-libnvinfer-lean \
                    python3-libnvinfer \
                    tensorrt-dev \
                    tensorrt-libs \
                    tensorrt

Ultralight - HTML renderer

If an HTML renderer is to be used (Ultralight) , the following packages are required:

Ultralight requires Ubuntu 22+

Due to dependencies, Ultralight requires at least Ubuntu 22+ to work with Composer.

sudo apt-get install libgstreamer1.0-0 libgtk-3-dev

OpenBLAS - Face Detection

If the face detection module / function is to be used, the following packages are required:

sudo apt-get install libopenblas0
sudo apt-get install libopenblas-base

NDI support

To discover NDI sources, the following packages are required:

sudo apt-get install avahi-daemon

Updates

Composer does not have a predefined release schedule - but historically, there have been a few big releases per year.

The ambition is to avoid breaking changes, but it is always recommended that a clean install is performed when updating from one major release to another.

Please refer to the checklist below for backing up and restoring content for a Composer update.

Be sure to backup;

  • All project files (.prj)

  • All media files (used within projects)

  • settings.xml

  • license.lic

FAQ

Nvidia-smi shows “No devices were found” after installation

This either means that the installation failed, or that conflicting kernels are found.

Try purging all nvidia-related packages and re-do the installation from the CLI:

sudo apt purge '*nvidia*'
                    sudo apt-get install nvidia-driver-xxx

Composer says no CUDA compatible device found

Double check that

a) nvidia-smishows output (or refer to the FAQ-entry above)

b) the correct driver and cuda version for the Composer version is installed. This page has several sections with different instructions based on the Composer version.

Missing or faulty FFMPEG installation

If Composer can not find the (correct version of, refer to the FFMPEG installation section) libraries an error will occur. Double check the FFMPEG installation instructions above.

If using a custom-compiled (not recommended) FFMPEG version; please consider following the instructions in this guide. It is possible to install and configure multiple FFMPEG versions (if absolutely necessary) and configure its rootpath in .vindralcomposerruntime (in the application root)