Installing on Linux

Linux is a Runtime-only platform — Composer Desktop is Windows-only. Author your project on a Windows workstation, then deploy the .prj plus its media to a Linux Runtime host.

Only Ubuntu is officially supported (22.04 LTS or newer). Other distributions may work but are not tested by RealSprint.

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

Prerequisites

1 — System packages

Install the packages Composer's runtime requires:

sudo apt-get update
sudo apt-get install -y \
    dotnet-runtime-9.0 \
    yasm gcc build-essential cmake \
    libunistring-dev libgnutls28-dev libvorbis-dev \
    libx264-dev libx265-dev \
    libfontconfig1-dev libssl-dev \
    libgdiplus

2 — NVIDIA driver with CUDA support

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

You need at least NVIDIA driver 580.65 (CUDA 13.0). Install via CLI:

sudo apt-get install nvidia-driver-580

Or open Software and Updates and install nvidia-driver-580 (or later) from the GUI.

Verify with nvidia-smi after the install.

3 — FFmpeg

Composer requires a custom-built FFmpeg 6.1 with specific library and codec support.

Caution

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

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 \
    --disable-stripping \
    --enable-libfontconfig \
    --enable-libfreetype \
    --enable-nvenc \
    --enable-libsrt
make -j12
sudo make install
sudo ldconfig

Verify the installation by running ffmpeg — the output should show ffmpeg version 6.1 and the configuration flags above.

Using a different / pre-existing FFmpeg installation: It is possible to point Composer at an existing FFmpeg build by setting ffmpeg.rootpath in the .vindralcomposerruntime configuration file found in the application root:

# On Linux, set the ffmpeg.rootpath variable to the installation path of your FFmpeg installation
ffmpeg.rootpath="/path/to/ffmpeg/libs"

Installation

Extract the runtime archive into a folder of your choice and run it:

tar xfvz VindralComposerRuntime-Linux.tgz
./vindralcomposerruntime

The runtime is a self-contained .NET 8 binary; there is no installer, no system service, and nothing to add to apt. Move the folder anywhere on disk; create your own systemd unit when you're ready to put it under a service manager.

Optional packages

Some Composer features need extra optional dependencies. Install only the ones relevant to your use case.

If a Decklink capture card is to be used, install the Blackmagic Desktop Video drivers for your card from the Blackmagic support page.

Object detection

Important

Requires Composer R2 2025 or later.

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

Important

Requires Composer R2 2025 or later.

The following additional libraries are needed:

  1. Install CUDA Toolkit 12.4 for your Linux version.
  2. Restart your system.

TensorRT 10.12 — Optimize models for speed

Important

Requires Composer R3 2025 or later. TensorRT 10.12 works in conjunction with cuDNN (CUDA 12.4).

Download from the TensorRT 10.12 download page, then install the packages:

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}

Pin the packages to prevent unintended upgrades:

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

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

OpenBLAS — Face detection

The following package is required:

sudo apt-get install libopenblas0

NDI support

The following package is required to discover NDI sources:

sudo apt-get install avahi-daemon

Updates

Composer does not have a predefined release schedule, but historically there have been a few major 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. Be sure to back up the following before upgrading:

  • All project files (.prj)
  • All media files used within projects
  • settings.xml
  • license.lic

FAQ

Nvidia-smi shows "No devices were found" after installation

The NVIDIA driver may not have loaded correctly. Try rebooting the machine after driver installation. If the problem persists, confirm the driver version matches the installed kernel headers (sudo apt-get install linux-headers-$(uname -r)).

Composer says no CUDA-compatible device found

Confirm the NVIDIA driver is loaded (nvidia-smi) and that the installed driver version meets the minimum requirement. If running in a container or VM, ensure GPU passthrough is configured correctly.

Missing or faulty FFmpeg installation

Run ffmpeg -version and confirm the build shows the required --enable-* flags. If Composer cannot locate FFmpeg, set ffmpeg.rootpath in the .vindralcomposerruntime configuration file (see the FFmpeg section above).

How do I verify my installation is working?

After installation, run the following to verify each prerequisite:

# .NET runtime
dotnet --info

# NVIDIA driver
nvidia-smi

# FFmpeg libraries (check paths)
ldd $(which ffmpeg) | grep -E 'libx264|libx265|libsrt|libnvenc'

# For optional packages: cuDNN libraries
ldd $CUDA_PATH/lib64/libcudnn.so 2>/dev/null || echo "cuDNN not found"

# For optional packages: TensorRT libraries  
ldd /usr/lib/x86_64-linux-gnu/libnvinfer.so 2>/dev/null || echo "TensorRT not found"

If any library is missing, the path or installation step for that component needs review.