Max076 3 Posted yesterday at 09:07 AM Posted yesterday at 09:07 AM Hi there, I've been troubleshooting a hardware acceleration issue with the Emby snap package and wanted to document it for others hitting the same wall. First, my system info for reference: - OS: Ubuntu 24.04.3 LTS (Noble Numbat), Kernel 6.17.0-14-generic - CPU: Intel Core i3-14100F - GPU 1: NVIDIA GeForce RTX 3090 - GPU 2: Intel Arc A380 - Emby installed via Snap The Problem Emby can see and use the Nvidia RTX 3090 for hardware transcoding (NVENC) without issue, but completely fails to detect the Intel Arc A380 for VA-API / QSV transcoding. VA-API is confirmed working at the system level: $ sudo vainfo --display drm --device /dev/dri/renderD129 libva info: VA-API version 1.20.0 libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_20 libva info: va_openDriver() returns 0 vainfo: VA-API version: 1.20 (libva 2.12.0) vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 24.1.0 However, that same driver path (`/usr/lib/x86_64-linux-gnu/dri/`) appears empty inside the snap's confined environment; the Intel iHD drivers are simply not bundled with the snap package, and the sandbox prevents access to the host system's drivers. Unlike Nvidia (`/dev/nvidia*` devices are world-readable and accessible to the snap via the `opengl` plug), Intel needs those drivers to be included in snap. would be Happy to test any builds or provide additional logs. Would really love to keep the 3090 free for other workloads and use the Arc A380 for dedicated transcoding! (that's why I bought it after all) Thanks, -Max
Luke 42128 Posted 17 hours ago Posted 17 hours ago HI, can you try our native package directly on the host machine? How does that compare?
Max076 3 Posted 1 hour ago Author Posted 1 hour ago 16 hours ago, Luke said: HI, can you try our native package directly on the host machine? How does that compare? Hi there, This of course works (tested to confirm as well), since then Emby can see the Intel drivers I have installed at "/usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so"; the problem is that snap does not bundle it nor does the snap package have the needed permissions to access the root filesystem. The reason Nvidia works is because they live in a different location, /dev/nvidia*, which is world-readable and can be accessed using the existing "opengl" plug on the snap, but because Intel places it's drivers in a more usual fashion they can't be accessed directly. So there's two fixes you could do, either bundle the intel-media-va-driver and intel-media-va-driver-non-free (needed for Arc GPUs) inside of the snap using stage-packages in your snapcraft yaml, or you could modify the snapcraft yaml to bind the user's driver path. Though the latter just shifts the burden to the user for installing the drivers, and I don't know if it'll cause errors if that path doesn't exist on a different system. Thanks for your attention!
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now