2025-01-13, 06:02 AM
(This post was last modified: 2025-01-16, 12:21 AM by alex-fl. Edited 3 times in total.)
Hello everyone,
I recently set up Jellyfin in a Docker container and configured hardware acceleration using an AMD iGPU through a VM passthrough. I followed the official Jellyfin documentation for AMD hardware acceleration: Hardware Acceleration Guide.
However, when enabling VAAPI hardware acceleration in the Jellyfin settings, playback fails with the following error message:
"Playback has failed due to a critical player error."
Logs:
- Jellyfin Log: https://pastebin.com/vHXuy9WF
- FFMPEG Log: https://pastebin.com/hLvu0Mkr
Docker Configuration:
Here’s my docker-compose.yml for the Jellyfin container:
I have ensured that the render group is configured correctly:
The vainfo output looks as follows:
Potential Issue:
The warning in the vainfo output appears problematic:
I suspect this may be causing the transcoding failure, but I'm unsure how to resolve it.
Questions:
1. Has anyone encountered a similar issue with VAAPI and AMD GPUs in Docker?
2. Are there specific configurations or troubleshooting steps I might be missing?
3. Is this warning about os_same_file_description critical, and how can it be resolved?
Thank you for your help!
I recently set up Jellyfin in a Docker container and configured hardware acceleration using an AMD iGPU through a VM passthrough. I followed the official Jellyfin documentation for AMD hardware acceleration: Hardware Acceleration Guide.
However, when enabling VAAPI hardware acceleration in the Jellyfin settings, playback fails with the following error message:
"Playback has failed due to a critical player error."
Logs:
- Jellyfin Log: https://pastebin.com/vHXuy9WF
- FFMPEG Log: https://pastebin.com/hLvu0Mkr
Docker Configuration:
Here’s my docker-compose.yml for the Jellyfin container:
Code:
services:
jellyfin:
image: jellyfin/jellyfin
container_name: jellyfin
network_mode: host
mem_limit: 10240M
mem_reservation: 512M
cpus: 0.5
user: 0:0
group_add:
- "105"
volumes:
- /data/jellyfin/config:/config
- /data/jellyfin/cache:/cache
- type: bind
source: /data/downloads/media
target: /media
restart: unless-stopped
environment:
- JELLYFIN_PublishedServerUrl=https://[hidden].com/
extra_hosts:
- host.docker.internal:host-gateway
devices:
- /dev/dri/renderD128:/dev/dri/renderD128
networks: {}
I have ensured that the render group is configured correctly:
Code:
getent group render | cut -d: -f3
105
The vainfo output looks as follows:
Code:
docker exec -it jellyfin /usr/lib/jellyfin-ffmpeg/vainfo --display drm --device /dev/dri/renderD128
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!
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.22 (libva 2.22.0)
vainfo: Driver version: Mesa Gallium driver 24.0.9 for AMD Radeon Graphics (radeonsi, renoir, LLVM 16.0.6, DRM 3.49, 6.1.0-28-amd64)
vainfo: Supported profile and entrypoints
VAProfileMPEG2Simple : VAEntrypointVLD
VAProfileMPEG2Main : VAEntrypointVLD
VAProfileVC1Simple : VAEntrypointVLD
VAProfileVC1Main : VAEntrypointVLD
VAProfileVC1Advanced : VAEntrypointVLD
VAProfileH264ConstrainedBaseline: VAEntrypointVLD
VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
VAProfileH264Main : VAEntrypointVLD
VAProfileH264Main : VAEntrypointEncSlice
VAProfileH264High : VAEntrypointVLD
VAProfileH264High : VAEntrypointEncSlice
VAProfileHEVCMain : VAEntrypointVLD
VAProfileHEVCMain : VAEntrypointEncSlice
VAProfileHEVCMain10 : VAEntrypointVLD
VAProfileHEVCMain10 : VAEntrypointEncSlice
VAProfileJPEGBaseline : VAEntrypointVLD
VAProfileVP9Profile0 : VAEntrypointVLD
VAProfileVP9Profile2 : VAEntrypointVLD
VAProfileNone : VAEntrypointVideoProc
Potential Issue:
The warning in the vainfo output appears problematic:
Code:
amdgpu: os_same_file_description couldn't determine if two DRM fds reference the same file description.
If they do, bad things may happen!
I suspect this may be causing the transcoding failure, but I'm unsure how to resolve it.
Questions:
1. Has anyone encountered a similar issue with VAAPI and AMD GPUs in Docker?
2. Are there specific configurations or troubleshooting steps I might be missing?
3. Is this warning about os_same_file_description critical, and how can it be resolved?
Thank you for your help!