Hello everyone,
I am trying to get my new A380 working on jellyfin for transcoding. My setup is headless so I have no X server or wayland installed.
I am running debian 12 bookworm with backported ZFS and kernel:
Linux Kiruna 6.4.0-0.deb12.2-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.4.4-3~bpo12+1 (2023-08-08) x86_64 GNU/Linux
According to everything I found, there is no need for any extra drivers as Intel card drivers are baked into the kernel and functional on 6.2+
I have followed the documentation regarding intel GPUs and added both /dev/dri
and /dev/dri/renderD128
to my devices in jellyfin and restarted.
Executing vainfo in the container space returns this:
Trying display: drm
libva info: VA-API version 1.19.0
libva info: Trying to open /usr/lib/jellyfin-ffmpeg/lib/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_19
libva error: /usr/lib/jellyfin-ffmpeg/lib/dri/iHD_drv_video.so init failed
libva info: va_openDriver() returns 1
libva info: Trying to open /usr/lib/jellyfin-ffmpeg/lib/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_1_19
libva error: /usr/lib/jellyfin-ffmpeg/lib/dri/i965_drv_video.so init failed
libva info: va_openDriver() returns -1
vaInitialize failed with error code -1 (unknown libva error),exit
vainfo on the main device sudo vainfo --display drm --device /dev/dri/card0
returns the same thing even though this command should work on headless servers.
executing docker exec -it jellyfin /usr/lib/jellyfin-ffmpeg/ffmpeg -v verbose -init_hw_device vaapi=va -init_hw_device opencl@va
for checking OpenCL gives this:
ffmpeg version 5.1.3-Jellyfin Copyright (c) 2000-2022 the FFmpeg developers
built with gcc 11 (Ubuntu 11.4.0-1ubuntu1~22.04)
configuration: --prefix=/usr/lib/jellyfin-ffmpeg --target-os=linux --extra-libs=-lfftw3f --extra-version=Jellyfin --disable-doc --disable-ffplay --disable-ptx-compression --disable-static --disable-libxcb --disable-sdl2 --disable-xlib --enable-lto --enable-gpl --enable-version3 --enable-shared --enable-gmp --enable-gnutls --enable-chromaprint --enable-libdrm --enable-libass --enable-libfreetype --enable-libfribidi --enable-libfontconfig --enable-libbluray --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libopenmpt --enable-libdav1d --enable-libwebp --enable-libvpx --enable-libx264 --enable-libx265 --enable-libzvbi --enable-libzimg --enable-libfdk-aac --arch=amd64 --enable-libsvtav1 --enable-libshaderc --enable-libplacebo --enable-vulkan --enable-opencl --enable-vaapi --enable-amf --enable-libmfx --enable-ffnvcodec --enable-cuda --enable-cuda-llvm --enable-cuvid --enable-nvdec --enable-nvenc
libavutil 57. 28.100 / 57. 28.100
libavcodec 59. 37.100 / 59. 37.100
libavformat 59. 27.100 / 59. 27.100
libavdevice 59. 7.100 / 59. 7.100
libavfilter 8. 44.100 / 8. 44.100
libswscale 6. 7.100 / 6. 7.100
libswresample 4. 7.100 / 4. 7.100
libpostproc 56. 6.100 / 56. 6.100
[AVHWDeviceContext @ 0x55e4877d54c0] Trying to use DRM render node for device 0.
[AVHWDeviceContext @ 0x55e4877d54c0] libva: VA-API version 1.19.0
[AVHWDeviceContext @ 0x55e4877d54c0] libva: Trying to open /usr/lib/jellyfin-ffmpeg/lib/dri/iHD_drv_video.so
[AVHWDeviceContext @ 0x55e4877d54c0] libva: Found init function __vaDriverInit_1_19
[AVHWDeviceContext @ 0x55e4877d54c0] libva: /usr/lib/jellyfin-ffmpeg/lib/dri/iHD_drv_video.so init failed
[AVHWDeviceContext @ 0x55e4877d54c0] libva: va_openDriver() returns 1
[AVHWDeviceContext @ 0x55e4877d54c0] libva: Trying to open /usr/lib/jellyfin-ffmpeg/lib/dri/i965_drv_video.so
[AVHWDeviceContext @ 0x55e4877d54c0] libva: Found init function __vaDriverInit_1_19
[AVHWDeviceContext @ 0x55e4877d54c0] libva: /usr/lib/jellyfin-ffmpeg/lib/dri/i965_drv_video.so init failed
[AVHWDeviceContext @ 0x55e4877d54c0] libva: va_openDriver() returns -1
[AVHWDeviceContext @ 0x55e4877d54c0] Failed to initialise VAAPI connection: -1 (unknown libva error).
Device creation failed: -5.
Failed to set value 'vaapi=va' for option 'init_hw_device': Input/output error
Error parsing global options: Input/output error
I also have under environment this option:
- DOCKER_MODS=linuxserver/mods:jellyfin-opencl-intel
because I am using the Linuxserver.io version of jellyfin.
Starting a show with hardware encoding then enables (VAAPI or QSV) results in "This client isn't compatible with the media and the server isn't sending a compatible media format." so hardware encoding definitely isn't working.
Does anyone have any idea if this is because I don't have a display driver installed? According to FFMPEG it shouldn't need an X server environment
Solution 5 months later:
After a lot of debuging, giving up, and starting again recently. I noticed that intel GuC was loading on start but HuC was not. I ended up having to download the entire linux firmware git repo, extracting the i915 folder and dropping it in my /usr/lib/firmware/.
Now it works perfectly!
Google keep used to (don't use it anymore) store your notes "backed up" by email. You could view all your notes in gmail.
Maybe it was something like that?