2025-08-29, 01:20 PM
(This post was last modified: 2025-08-29, 03:16 PM by lilajka. Edited 2 times in total.)
Hello, I know this is probably issue on the host, not jellyfin itself, but Im having trouble with transcoding, or to better say with N150 graphics in general.
TL;DR: Jellyfin pod can see /dev/dri, but VA-API fails with Failed to open the given device! / No VA display found / iHD init failed. After lots of k8s/container tweaks, it looks like a host-side problem: on Ubuntu 24.04 my Asus NUC Essential 14 (N150) wouldn’t init.
Environment
Goal: enable Quick Sync (VA-API) transcoding in Jellyfin on this node.
Symptoms
In the container
On the host
Kernel logs show i915 loaded, DMC v2.20, GuC 70.36, HuC 7.9.3 → firmware looked fine.
What I tried (chronological highlights)
Kubernetes / container side
Host side (6.14)
System report:
TL;DR: Jellyfin pod can see /dev/dri, but VA-API fails with Failed to open the given device! / No VA display found / iHD init failed. After lots of k8s/container tweaks, it looks like a host-side problem: on Ubuntu 24.04 my Asus NUC Essential 14 (N150) wouldn’t init.
Environment
- Host: Ubuntu 24.04 (Noble), originally 6.14.0-29-generic, fresh install
- Hardware: ASUS mini PC “asusnuc”, Intel N150 (Alder Lake-N), iGPU PCI ID shows as 8086:46d4; 2.5G Ethernet (exact model TBD — either Intel i225/i226 igc or Realtek RTL8125 r8125)
- nodeSelector: highperf: "true" (only this node has iGPU)
- Volumes: /config, /cache, media PVCs, and hostPath /dev/dri
- Security: supplementalGroups: [992, 44] (host render, video)
- Env: LIBVA_DRIVER_NAME=iHD
- Images tried: ghcr.io/jellyfin/jellyfin:latest and lscr.io/linuxserver/jellyfin
Goal: enable Quick Sync (VA-API) transcoding in Jellyfin on this node.
Symptoms
In the container
- vainfo --display drm --device /dev/dri/renderD128 → Failed to open the given device!
- Jellyfin’s FFmpeg with VA-API:No VA display found for device /dev/dri/renderD128. Device creation failed: -22.
- When -init_hw_device vaapi=va:... fails, -filter_hw_device va then errors with Invalid filter device va.
On the host
- vainfo --display drm --device /dev/dri/renderD128 prints:
Code:
libva info: VA-API version 1.20.0
libva info: User environment variable requested driver 'iHD'
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 error: /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so init failed
libva info: va_openDriver() returns 1
vaInitialize failed with error code 1 (operation failed),exit
Kernel logs show i915 loaded, DMC v2.20, GuC 70.36, HuC 7.9.3 → firmware looked fine.
What I tried (chronological highlights)
Kubernetes / container side
- Mounted /dev/dri into the pod (initially readOnly: true → changed to RW).
- Set supplementalGroups to host GIDs: render=992, video=44. Confirmed inside pod: id shows groups 992,44.
- Set LIBVA_DRIVER_NAME=iHD env in the container.
- (Temp) tried privileged: true, seccomp: Unconfined, AppArmor: Unconfined.
- Inside the Debian-based image, enabled non-free + non-free-firmware and installed:
- intel-media-va-driver-non-free, vainfo
- Verified iHD_drv_video.so exists; still failed to open VA display.
- Switched to linuxserver/jellyfin image (which normally handles /dev/dri perms for the abc user).
Host side (6.14)
- Ensured user is in render group; checked /dev/dri/renderD128 permissions (crw-rw---- root:render).
- Reinstalled userspace: intel-media-va-driver-non-free libva2 libdrm2 libigdgmm12 vainfo.
- Tried unloading xe (it wasn’t bound anyway).
- Tried kernel param i915.enable_pxp=0. Still iHD init failed.
- Connecting display to ASUS NUC & adding GRUB_CMDLINE_LINUX_DEFAULT="i915.enable_pxp=0 i915.modeset=1 i915.enable_guc=3 video=DP-1:1920x1080@60e quiet splash"
System report:
Code:
=== KERNEL & MODULES ===
6.14.0-29-generic
Driver (card0): no card0
Driver (renderD128): /sys/bus/pci/drivers/i915
Loaded modules:
xe 3428352 0
drm_gpuvm 45056 1 xe
gpu_sched 61440 1 xe
drm_ttm_helper 16384 1 xe
drm_exec 12288 2 drm_gpuvm,xe
drm_suballoc_helper 20480 1 xe
i915 4714496 12
drm_buddy 24576 2 xe,i915
ttm 118784 3 drm_ttm_helper,xe,i915
drm_display_helper 278528 2 xe,i915
cec 94208 3 drm_display_helper,xe,i915
i2c_algo_bit 16384 2 xe,i915
intel_vsec 20480 2 intel_pmc_core,xe
video 77824 4 asus_wmi,asus_nb_wmi,xe,i915
i915.ko present?
/lib/modules/6.14.0-29-generic/kernel/drivers/gpu/drm/i915/i915.ko.zst
filename: /lib/modules/6.14.0-29-generic/kernel/drivers/gpu/drm/i915/i915.ko.zst
srcversion: 18AD0B385BA537B78D31B02
vermagic: 6.14.0-29-generic SMP preempt mod_unload modversions
parm: invert_brightness:Invert backlight brightness (-1 force normal, 0 machine defaults, 1 force inversion), please report PCI device ID, subsystem vendor and subsystem device ID to dri-devel@lists.freedesktop.org, if your machine needs it. It will then be included in an upcoming module version. (int)
=== DRM DEVICES ===
total 0
drwxr-xr-x 2 root root 80 Aug 29 14:26 by-path
crw-rw----+ 1 root video 226, 1 Aug 29 14:33 card1
crw-rw----+ 1 root render 226, 128 Aug 29 14:26 renderD128
=== FIRMWARE (DMC/GuC/HuC) ===
Aug 29 14:26:39 asusnuc kernel: Command line: BOOT_IMAGE=/vmlinuz-6.14.0-29-generic root=UUID=2b302797-6909-4c5b-82fd-d1be03866ed5 ro i915.enable_pxp=0 quiet splash vt.handoff=7
Aug 29 14:26:39 asusnuc kernel: Kernel command line: BOOT_IMAGE=/vmlinuz-6.14.0-29-generic root=UUID=2b302797-6909-4c5b-82fd-d1be03866ed5 ro i915.enable_pxp=0 quiet splash vt.handoff=7
Aug 29 14:26:42 asusnuc kernel: i915: unknown parameter 'enable_pxp' ignored
Aug 29 14:26:42 asusnuc kernel: i915 0000:00:02.0: [drm] Found alderlake_p/alderlake_n (device ID 46d4) integrated display version 13.00 stepping D0
Aug 29 14:26:42 asusnuc kernel: i915 0000:00:02.0: [drm] VT-d active for gfx access
Aug 29 14:26:42 asusnuc kernel: i915 0000:00:02.0: vgaarb: deactivate vga console
Aug 29 14:26:42 asusnuc kernel: i915 0000:00:02.0: [drm] Using Transparent Hugepages
Aug 29 14:26:42 asusnuc kernel: i915 0000:00:02.0: vgaarb: VGA decodes changed: olddecodes=io+mem,decodes=io+mem:owns=io+mem
Aug 29 14:26:42 asusnuc kernel: i915 0000:00:02.0: [drm] Finished loading DMC firmware i915/adlp_dmc.bin (v2.20)
Aug 29 14:26:42 asusnuc kernel: i915 0000:00:02.0: [drm] GT0: GuC firmware i915/tgl_guc_70.bin version 70.36.0
Aug 29 14:26:42 asusnuc kernel: i915 0000:00:02.0: [drm] GT0: HuC firmware i915/tgl_huc.bin version 7.9.3
Aug 29 14:26:42 asusnuc kernel: i915 0000:00:02.0: [drm] GT0: HuC: authenticated for all workloads
Aug 29 14:26:42 asusnuc kernel: i915 0000:00:02.0: [drm] GT0: GUC: submission enabled
Aug 29 14:26:42 asusnuc kernel: i915 0000:00:02.0: [drm] GT0: GUC: SLPC enabled
Aug 29 14:26:42 asusnuc kernel: i915 0000:00:02.0: [drm] GT0: GUC: RC enabled
Aug 29 14:26:42 asusnuc kernel: mei_pxp 0000:00:16.0-fbf6fcf1-96cf-4e2e-a6a6-1bab8cbe36b1: bound 0000:00:02.0 (ops i915_pxp_tee_component_ops [i915])
Aug 29 14:26:42 asusnuc kernel: i915 0000:00:02.0: [drm] Protected Xe Path (PXP) protected content support initialized
Aug 29 14:26:42 asusnuc kernel: mei_hdcp 0000:00:16.0-b638ab7e-94e2-4ea2-a552-d1c54b627f04: bound 0000:00:02.0 (ops i915_hdcp_ops [i915])
Aug 29 14:26:42 asusnuc kernel: [drm] Initialized i915 1.6.0 for 0000:00:02.0 on minor 1
Aug 29 14:26:42 asusnuc kernel: fbcon: i915drmfb (fb0) is primary device
Aug 29 14:26:42 asusnuc kernel: i915 0000:00:02.0: [drm] fb0: i915drmfb frame buffer device
Aug 29 14:26:42 asusnuc kernel: snd_hda_intel 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
=== USERS & PERMS ===
uid=1000(dano) gid=1000(dano) groups=1000(dano),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),100(users),114(lpadmin),992(render)
render:x:992:dano,jellyfin
User in render?
render
=== USERSPACE PACKAGES ===
WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
intel-media-va-driver-non-free:
Installed: 24.1.0+ds1-1
Candidate: 24.1.0+ds1-1
Version table:
*** 24.1.0+ds1-1 500
500 http://archive.ubuntu.com/ubuntu noble/multiverse amd64 Packages
100 /var/lib/dpkg/status
i965-va-driver:
Installed: (none)
Candidate: 2.4.1+dfsg1-1build2
Version table:
2.4.1+dfsg1-1build2 500
500 http://archive.ubuntu.com/ubuntu noble/universe amd64 Packages
libva2:
Installed: 2.20.0-2build1
Candidate: 2.20.0-2build1
Version table:
*** 2.20.0-2build1 500
500 http://archive.ubuntu.com/ubuntu noble/universe amd64 Packages
100 /var/lib/dpkg/status
libdrm2:
Installed: 2.4.122-1~ubuntu0.24.04.1
Candidate: 2.4.122-1~ubuntu0.24.04.1
Version table:
*** 2.4.122-1~ubuntu0.24.04.1 500
500 http://archive.ubuntu.com/ubuntu noble-updates/main amd64 Packages
100 /var/lib/dpkg/status
2.4.120-2build1 500
500 http://archive.ubuntu.com/ubuntu noble/main amd64 Packages
libigdgmm12:
Installed: 22.3.17+ds1-1
Candidate: 22.3.17+ds1-1
Version table:
*** 22.3.17+ds1-1 500
500 http://archive.ubuntu.com/ubuntu noble/universe amd64 Packages
100 /var/lib/dpkg/status
=== VA-API DRIVERS ON DISK ===
lrwxrwxrwx 1 root root 40 May 23 17:16 /usr/lib/x86_64-linux-gnu/dri/d3d12_drv_video.so -> ../libgallium-25.0.7-0ubuntu0.24.04.1.so
-rw-r--r-- 1 root root 36102104 Dec 29 2023 /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
lrwxrwxrwx 1 root root 40 May 23 17:16 /usr/lib/x86_64-linux-gnu/dri/nouveau_drv_video.so -> ../libgallium-25.0.7-0ubuntu0.24.04.1.so
lrwxrwxrwx 1 root root 40 May 23 17:16 /usr/lib/x86_64-linux-gnu/dri/r600_drv_video.so -> ../libgallium-25.0.7-0ubuntu0.24.04.1.so
lrwxrwxrwx 1 root root 40 May 23 17:16 /usr/lib/x86_64-linux-gnu/dri/radeonsi_drv_video.so -> ../libgallium-25.0.7-0ubuntu0.24.04.1.so
lrwxrwxrwx 1 root root 40 May 23 17:16 /usr/lib/x86_64-linux-gnu/dri/virtio_gpu_drv_video.so -> ../libgallium-25.0.7-0ubuntu0.24.04.1.so
=== VA-API PROBE (DRM path) ===
libva info: VA-API version 1.20.0
libva info: User environment variable requested driver 'iHD'
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 error: /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so init failed
libva info: va_openDriver() returns 1
vaInitialize failed with error code 1 (operation failed),exit