---
title: "Linux platform"
slug: "linux-platform"
updated: 2026-02-26T08:24:08Z
published: 2026-02-26T08:24:08Z
---

> ## Documentation Index
> Fetch the complete documentation index at: https://composer.docs.vindral.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Linux platform

## Introduction

> [!WARNING]
> 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.

Latest - R3 2025R1 2023 (and later)

```bash
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
```

```bash
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.

Latest - R3 2025R1 2023 (and later)R4 2022 (and later)

#### **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.

> [!WARNING]
> Non-free licenses
> 
> It is the responsibility of the user to acquire all necessary licenses for the below listed libraries and codecs.

Latest - R3 2025Composer R3 2023R2 2022 (and later)

```bash
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
```

> [!TIP]
> Verify installation
> 
> Issuing the command `ffmpeg` should yield output like below
> 
> ```plaintext
> 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
> ```

```bash
sudo add-apt-repository ppa:savoury1/ffmpeg4
                    sudo apt-get update
                    sudo apt-get install ffmpeg
```

```bash
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
```

> [!TIP]
> Verify installation
> 
> Issuing the command `ffmpeg` should yield output like below
> 
> ```plaintext
> 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
> ```

> [!NOTE]
> 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

```bash
tar xfvz VindralComposerRuntime-Linux.tgz
```

Run the application

```bash
./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](https://www.blackmagicdesign.com/support/family/capture-and-playback)

**Object detection**

> [!CAUTION]
> 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](https://developer.nvidia.com/cuda-12-4-0-download-archive) for your Linux version
2. Install [cuDNN 9.4](https://developer.nvidia.com/cudnn-9-4-0-download-archive?target_os=Linux) for your Linux version
3. Restart your system.

**Speech-to-text**

> [!CAUTION]
> 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](https://developer.nvidia.com/cuda-12-4-0-download-archive) for your Linux version
2. Restart your system.

**TensorRT - Optimize models for speed**

> [!CAUTION]
> 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](https://developer.nvidia.com/tensorrt/download/10x)

```bash
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:

> [!CAUTION]
> Ultralight requires Ubuntu 22+
> 
> Due to dependencies, Ultralight requires at least Ubuntu 22+ to work with Composer.

```bash
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:

Ubuntu 24Ubuntu 22

```bash
sudo apt-get install libopenblas0
```

```bash
sudo apt-get install libopenblas-base
```

**NDI support**

To discover NDI sources, the following packages are required:

```bash
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:

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

#### Composer says no CUDA compatible device found

Double check that

a) `nvidia-smi`shows 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)
