Jellyfin Forum
SOLVED: VA-API Issues - Printable Version

+- Jellyfin Forum (https://forum.jellyfin.org)
+-- Forum: Support (https://forum.jellyfin.org/f-support)
+--- Forum: Troubleshooting (https://forum.jellyfin.org/f-troubleshooting)
+--- Thread: SOLVED: VA-API Issues (/t-solved-va-api-issues)



VA-API Issues - hazzac181 - 2025-05-28

Hey all,

First time poster. Thank you in advance for any assistance you are willing to provide. I've been unable to get hardware transcoding to function on my desktop computer, which is hosting a number of containers in Docker CE, including Jellyfin. I've been following the guide on the Jellyfin wiki. Key system specs below:
OS: Fedora 42 Workstation
CPU: Ryzen 5800x
Motherboard: Asus X570 Prime-Pro
GPU: Gigabyte 9070XT

Here is my compose.yml file:
Code:
services:
  jellyfin:
    image: jellyfin/jellyfin
    container_name: jellyfin
    ports:
      - 8096:8096
    group_add:
      - "105"
      - "39"
    volumes:
      - /home/hazzac181/Docker/Jellyfin/Config:/config
      - /home/hazzac181/Docker/Jellyfin/Cache:/cache
      - type: bind
        source: /media/hazzac181/Data + Media/Media/Movies
        target: /Movies
      - type: bind
        source: /media/hazzac181/Data + Media/Media/TV Shows
        target: /TV Shows
        read_only: true
    devices:
      - /dev/dri/renderD128:/dev/dri/renderD128
    restart: 'unless-stopped'
 

When I run
Code:
docker exec -it jellyfin /usr/lib/jellyfin-ffmpeg/vainfo --display drm --device /dev/dri/renderD128
to check the VA-API codecs, I get the following:
Code:
Trying display: drm
libva info: VA-API version 1.22.0
libva info: Trying to open /usr/lib/jellyfin-ffmpeg/lib/dri/radeonsi_drv_video.so
libva info: Found init function __vaDriverInit_1_22
amdgpu: os_same_file_description couldn't determine if two DRM fds reference the same file description.
If they do, bad things may happen!
amdgpu: Unknown gfx version: 12.0
libva error: /usr/lib/jellyfin-ffmpeg/lib/dri/radeonsi_drv_video.so init failed
libva info: va_openDriver() returns 2
vaInitialize failed with error code 2 (resource allocation failed),exit

When I run the next command in the guidance - 
Code:
docker exec -it jellyfin /usr/lib/jellyfin-ffmpeg/ffmpeg -v debug -init_hw_device vulkan
- I receive:
Code:
ffmpeg version 7.0.2-Jellyfin Copyright (c) 2000-2024 the FFmpeg developers
  built with gcc 12 (Debian 12.2.0-14)
  configuration: --prefix=/usr/lib/jellyfin-ffmpeg --target-os=linux --extra-version=Jellyfin --disable-doc --disable-ffplay --disable-ptx-compression --disable-static --disable-libxcb --disable-sdl2 --disable-xlib --enable-lto=auto --enable-gpl --enable-version3 --enable-shared --enable-gmp --enable-gnutls --enable-chromaprint --enable-opencl --enable-libdrm --enable-libxml2 --enable-libass --enable-libfreetype --enable-libfribidi --enable-libfontconfig --enable-libharfbuzz --enable-libbluray --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libopenmpt --enable-libdav1d --enable-libsvtav1 --enable-libwebp --enable-libvpx --enable-libx264 --enable-libx265 --enable-libzvbi --enable-libzimg --enable-libfdk-aac --arch=amd64 --enable-libshaderc --enable-libplacebo --enable-vulkan --enable-vaapi --enable-amf --enable-libvpl --enable-ffnvcodec --enable-cuda --enable-cuda-llvm --enable-cuvid --enable-nvdec --enable-nvenc
  libavutil      59.  8.100 / 59.  8.100
  libavcodec    61.  3.100 / 61.  3.100
  libavformat    61.  1.100 / 61.  1.100
  libavdevice    61.  1.100 / 61.  1.100
  libavfilter    10.  1.100 / 10.  1.100
  libswscale      8.  1.100 /  8.  1.100
  libswresample  5.  1.100 /  5.  1.100
  libpostproc    58.  1.100 / 58.  1.100
Splitting the commandline.
Reading option '-v' ... matched as option 'v' (set logging level) with argument 'debug'.
Reading option '-init_hw_device' ... matched as option 'init_hw_device' (initialise hardware device) with argument 'vulkan'.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option v (set logging level) with argument debug.
Applying option init_hw_device (initialise hardware device) with argument vulkan.
[AVHWDeviceContext @ 0x56363cc03140] Supported layers:
[AVHWDeviceContext @ 0x56363cc03140] VK_LAYER_MESA_device_select
[AVHWDeviceContext @ 0x56363cc03140] VK_LAYER_MESA_overlay
[AVHWDeviceContext @ 0x56363cc03140] Using instance extension VK_KHR_portability_enumeration
amdgpu: Unknown gfx version: 12.0
[AVHWDeviceContext @ 0x56363cc03140] No devices found: VK_ERROR_INITIALIZATION_FAILED!
Device creation failed: -19.
Failed to set value 'vulkan' for option 'init_hw_device': No such device
Error parsing global options: No such device

No amount of Googling has allowed me to come up with a viable solution. I'm not hugely tech savvy, but reading the errors, it looks like I may have a driver issue? If anyone has any pointers, they would be greatly appreciated. Please let me know if you require additional logs/info and I will do my best to provide.

Thank you Smiling-face


RE: VA-API Issues - nyanmisaka - 2025-05-28

The Mesa driver included in Jellyfin 10.10 docker image is not recent enough for the RX 9070 series.

You can manually update the jellyfin-ffmpeg7 package in docker to fix this.


sudo docker exec -it jellyfin apt update
sudo docker exec -it jellyfin apt upgrade -y jellyfin-ffmpeg7



RE: VA-API Issues - hazzac181 - 2025-05-28

(2025-05-28, 08:07 AM)nyanmisaka Wrote: The Mesa driver included in Jellyfin 10.10 docker image is not recent enough for the RX 9070 series.

You can manually update the jellyfin-ffmpeg7 package in docker to fix this.


sudo docker exec -it jellyfin apt update
sudo docker exec -it jellyfin apt upgrade -y jellyfin-ffmpeg7


Thank you ever so much - I can't believe I couldn't find that in my searches. VA-API now functions as intended Smiling-face