Knowledge Base
Searching in : Article
ID: AR09X01392
Applies to: NoMachine Software
Added on: 2026-09-08
Last Update: 2026-09-08

VA-API H.264 Encoder installation guide

This guide details the minimal package requirements to enable hardware-accelerated H.264 encoding via VA-API with DRM display support.

1. PACKAGE REFERENCE TABLE

Identify the driver package required for your specific GPU hardware.

* INTEL USERS: The "Non-Free" packages are highly recommended. They unlock CBR
  mode, which is recommended for NoMachine (available in RPMFusion and Packman).
* AMD do not use separate non-free VA-API packages.
* NVIDIA doesn't provide encoding via VA-API.

 DISTRO VERIFICATION BASE PACKAGES INTEL
(Modern /Legacy)   
AMD
Debian/Ubuntu vainfo  libva2 libdrm2 Free: intel-media-va-driver/i965-va-driver
Non-free: intel-media-va-driver-non-free/i965-va-driver-shaders

Free: mesa-va-drivers   

Non-free: standard

 

Fedora / RHEL libva-utils

 

 libva libdrm

Free: intel-media-driver/libva-intel-driver

Non-free: intel-media-driver (requires RPMFusion)

Free: mesa-va-drivers

Non-free:  standard

Arch Linux libva-utils libva libdrm

Free: intel-media-driver/libva-intel-driver

Non-free: Same pkg, check deps

Free: libva-mesa-driver
Non-free: standard
OpenSUSE  libva-utils libva2 libdrm2

Free: intel-media-driver/vaapi-intel-driver

Non-free: intel-media-driver (requires Packman)

Free: Mesa-libva-driver

Non-free: standard


2. INSTALLATION COMMANDS

Run the command for your distribution. Replace [DRIVER_PACKAGE] with the
specific package name from the table above.

UBUNTU / DEBIAN / MINT (apt):
  sudo apt update && sudo apt install libva2 libdrm2 vainfo [DRIVER_PACKAGE]

FEDORA / RHEL (dnf):
  sudo dnf install libva libdrm libva-utils [DRIVER_PACKAGE]

ARCH LINUX (pacman):
  sudo pacman -S libva libdrm libva-utils [DRIVER_PACKAGE]

OPENSUSE (zypper):
  sudo zypper install libva2 libdrm2 libva-utils [DRIVER_PACKAGE]

3. VERIFICATION

To verify that the H.264 encoder is correctly exposed via the DRM display backend, run:

  vainfo --display drm -a

Success criteria:
Look for the output block under VAProfileH264ConstrainedBaseline. You MUST see one of the following encoding entrypoints listed:

* VAProfileH264ConstrainedBaseline/VAEntrypointEncSlice
* VAProfileH264ConstrainedBaseline/VAEntrypointEncSliceLP

NOTE:
If you only see "VAEntrypointVLD", you have decoding support but NO encoding support.