Skip to content

Add /app/emby/lib/dri to LIBVA_DRIVERS_PATH for Intel VA-API/QSV#117

Merged
aptalca merged 1 commit into
linuxserver:betafrom
Sausageroll2077:fix-vaapi-driver-path-beta
Jun 19, 2026
Merged

Add /app/emby/lib/dri to LIBVA_DRIVERS_PATH for Intel VA-API/QSV#117
aptalca merged 1 commit into
linuxserver:betafrom
Sausageroll2077:fix-vaapi-driver-path-beta

Conversation

@Sausageroll2077

Copy link
Copy Markdown

linuxserver.io


  • I have read the contributing guideline and understand that I have made the correct modifications

Description:

Adds /app/emby/lib/dri to LIBVA_DRIVERS_PATH in the Emby service run script (root/etc/s6-overlay/s6-rc.d/svc-emby/run).

On the beta image, Emby ships its bundled VA-API drivers (iHD, i965, radeonsi, etc.) under /app/emby/lib/dri, but the service's LIBVA_DRIVERS_PATH only searched /usr/lib/x86_64-linux-gnu/dri (empty) and /app/emby/extra/lib/dri (not populated on beta). libva therefore couldn't find any driver, and Emby reported:

Failed to initialize VA /dev/dri/renderD128. Error -1

…for both VAAPI and QuickSync, silently falling back to software (libx264) transcoding on any Intel GPU (Arc dGPU or iGPU). Adding /app/emby/lib/dri to the search path lets libva locate the bundled driver. It's appended after the existing entries, so it's harmless on images that ship the driver in extra/lib/dri (the path is simply ignored when empty).

A changelog entry has been added to readme-vars.yml.

Benefits of this PR and context:

Restores out-of-the-box Intel hardware transcoding (VAAPI/QSV) on the beta image, which is currently broken for all Intel GPUs. Without this, users get software transcoding with no indication of why hardware acceleration fails. The stable (latest) image is unaffected because it ships the driver in extra/lib/dri, which is already on the path — but beta moved the driver to lib/dri, exposing the gap.

How Has This Been Tested?

Ran Emby's own detection command (ffdetect vaencdec) inside the lscr.io/linuxserver/emby:beta container with the service's exact environment, against a real Intel /dev/dri device, before and after the change:

  • Before: Failed to initialize VA /dev/dri/renderD128. Error -1, empty Driver, no codecs.
  • After: Intel iHD driver for Intel(R) Gen Graphics - 25.3.4, full decode/encode codec enumeration (H264, HEVC, MPEG2, VC1, etc.).

Test environment: Intel UHD Graphics iGPU, /dev/dri/renderD128, image base Ubuntu 24.04 (noble), Emby 4.10.0.x.

Source / References:

N/A

Emby bundles its VA-API drivers (iHD, i965, radeonsi, etc.) under
/app/emby/lib/dri on the beta image, but the service's LIBVA_DRIVERS_PATH
only searched /usr/lib/x86_64-linux-gnu/dri (empty) and
/app/emby/extra/lib/dri (not populated on beta). libva then failed to
load any driver and Emby reported 'Failed to initialize VA
/dev/dri/renderD128. Error -1', falling back to software transcoding on
any Intel GPU.

Adding /app/emby/lib/dri to the search path lets libva find the bundled
driver. Validated on an Intel iGPU: emby:beta went from 'Error -1' to
detecting the Intel iHD driver with full codec enumeration. Harmless on
images that ship the driver in extra/lib/dri (path simply ignored).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for opening this pull request! Be sure to follow the pull request template!

@github-project-automation github-project-automation Bot moved this from PRs to PRs Approved in Issue & PR Tracker Jun 19, 2026
@aptalca aptalca merged commit 4048f96 into linuxserver:beta Jun 19, 2026
3 checks passed
@LinuxServer-CI LinuxServer-CI moved this from PRs Approved to Done in Issue & PR Tracker Jun 19, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Development

Successfully merging this pull request may close these issues.

3 participants