Summary
Plex Media Server is unable to initialize VAAPI hardware transcoding on an Intel Arc Pro A40 GPU passed through to an Ubuntu 24.04.3 VM.
System VAAPI works perfectly, and system ffmpeg can use VAAPI correctly under the same user, but Plex’s bundled ‘Plex Transcoder’ binary fails immediately with “Failed to initialise VAAPI connection: -1 (unknown libva error)”.
I think this indicates that Plex Transcoder’s VAAPI stack is incompatible with the Intel Arc DG2 GPU on current Linux distributions, even though the OS-level VAAPI stack is configured and functioning.
Environment
Hardware
-
CPU: Intel Core Ultra 5 235 (Arrow Lake-S)
-
Intel Arc Pro A40 (DG2)
-
Host OS: TrueNAS SCALE (KVM/QEMU VM) Version 25.04.2.6
-
GPU passthrough via PCIe to VM (works correctly)
VM
-
Ubuntu Server 24.04.3 LTS
-
Kernel: 6.8.x (Ubuntu default)
-
vCPUs: 6; Cores:1; Threads:1
-
Memory Size: 8 GiB
-
i915 + xe drivers loaded
-
User for Plex:
plex
Plex
-
Plex Media Server version: EDIT: [1.42.2.10156-f737b826c] void, updated to BETA version 1.43.0.10389 (released Dec. 3rd)
-
Installation method: Debian/Ubuntu APT repo
-
GPU selected in Settings → Transcoder: Intel DG2 [Arc Pro A40/A50]
Troubleshooting step 1: Confirmed VAAPI works correctly in the OS and for the Plex user
vainfo as root:
Success — all VAAPI profiles listed (H.264, HEVC, VP9, AV1, etc.)
vainfo as plex user:
Success — identical output to root.
System ffmpeg with VAAPI as plex user:
Command:
sudo -u plex ffmpeg -hwaccel vaapi -vaapi_device /dev/dri/renderD128 -i "/Movies/SomeMovie.mkv" -t 5 -f null -
Result:
Runs normally, no VAAPI errors.
This confirms:
-
/dev/dri/renderD128is accessible -
Permissions are correct
-
VAAPI driver stack (libva, intel-media) is fully functional
-
The
plexuser can use VAAPI successfully
Troubleshooting step 2: Plex Transcoder fails to initialize VAAPI
When using Plex Transcoder directly:
sudo -u plex /usr/lib/plexmediaserver/Plex\ Transcoder \
-hwaccel vaapi \
-hwaccel_device /dev/dri/renderD128 \
-vaapi_device /dev/dri/renderD128 \
-i "/Movies/SomeMovie.mkv" \
-t 5 \
-f null -
Result:
[AVHWDeviceContext] Failed to initialise VAAPI connection: -1 (unknown libva error).
Device creation failed: -5.
Failed to set value '/dev/dri/renderD128' for option 'vaapi_device': I/O error
Error parsing global options: I/O error
This is the same error Plex logs during actual transcode attempts, where it falls back to software transcoding.
Plex logs (excerpt):
[Req#/Transcode] [FFMPEG] - Failed to initialise VAAPI connection: -1 (unknown libva error).
Analysis
All OS-level checks confirm VAAPI and the Intel Arc GPU are fully functional:
-
VAAPI works via
vainfo -
VAAPI works via system
ffmpeg -
VAAPI works as both root and plex user
-
/dev/dri/renderD128has correct permissions (plexis in bothrenderandvideogroups) -
Drivers (i915 + xe) initialize correctly
-
Hardware is passed through properly
The only component that fails is Plex’s bundled Plex Transcoder binary, indicating:
-
A VAAPI/libva/libigdgmm mismatch inside Plex’s ffmpeg build
-
A compatibility issue with Intel Arc DG2 GPUs
-
Or Plex’s VAAPI device initialization path is not compatible with Ubuntu 24.04’s newer Intel media stack
This appears to be an internal limitation of Plex’s own ffmpeg build rather than a system configuration issue.
Help Request
I would greatly appreciate help investigating/troubleshooting compatibility between:
-
Intel Arc DG2 GPUs
-
Plex Media Server’s bundled ffmpeg/VAAPI stack
-
Modern Linux driver stacks (Ubuntu 24.04, kernel 6.8+, i915/xe + intel-media-va-driver)
In particular:
-
Why
Plex Transcodercannot open/dev/dri/renderD128, even though system ffmpeg can -
Whether Plex is shipping a VAAPI build incompatible with Intel Arc DG2
-
Whether Plex overrides or ignores
LIBVA_DRIVER_NAME=iHDorVAAPI_DEVICE -
Whether Plex can update their ffmpeg/libva build to support modern Intel GPUs
Happy to provide full logs, system details, and test additional builds if needed.
Thank you!











