Having a bit of trouble getting hardware acceleration working on my home server. The cpu of the server is an i7-10700 and has a discrete GPU, RTX 2060. I was hoping to use intel quick sync for the hardware acceleration, but not having much luck.
From the guide on the jellyfin site https://jellyfin.org/docs/general/administration/hardware-acceleration/intel
I have gotten the render group ID using “getent group render | cut -d: -f3” though it mentions on some systems it might not be render, it may be video or input which i tried with those group ID’s as well.
When I run “docker exec -it jellyfin /usr/lib/jellyfin-ffmpeg/vainfo” I get back
libva info: VA-API version 1.22.0
libva info: Trying to open /usr/lib/jellyfin-ffmpeg/lib/dri/nvidia_drv_video.so
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/nvidia_drv_video.so
libva info: Trying to open /usr/lib/dri/nvidia_drv_video.so
libva info: Trying to open /usr/local/lib/dri/nvidia_drv_video.so
libva info: va_openDriver() returns -1
vaInitialize failed with error code -1 (unknown libva error),exit
I feel like I need to do something on the host system since its trying to use the discrete card? But I am unsure.
This is the compose file just in case I am missing something
version: "3.8"
services:
jellyfin:
image: jellyfin/jellyfin
user: 1000:1000
ports:
- 8096:8096
group_add:
- "989" # Change this to match your "render" host group id and remove this comment
- "985"
- "994"
# network_mode: 'host'
volumes:
- /home/hoxbug/Docker/jellyfin/config:/config
- /home/hoxbug/Docker/jellyfin/cache:/cache
- /mnt/External/Movies:/Movies
devices:
- /dev/dri/renderD128:/dev/dri/renderD128
networks:
external:
external: true
Thank you for the help.
On my system i was able to use my integrated iGPU wit the follwing:
devices: - /dev/dri:/dev/dri
The rest of your compose looks fine.
Isn’t your GPU an Nvidia RTX 2060? Why are you trying to use the Intel GPU acceleration method? I’m confused
It just seemed the easiest route, but I may just give using the GPU a go.
This is how mine works, with a Nvidia GPU
services: jellyfin: volumes: - jellyfin_config:/config - jellyfin_cache:/cache - type: tmpfs target: /cache/transcodes tmpfs: size: 8G - media:/media image: jellyfin/jellyfin:latest restart: unless-stopped deploy: resources: reservations: devices: - driver: nvidia device_ids: - "0" capabilities: - gpu
Do you have the Intel drivers installed on your machine? Are GuC and HuC working?
sudo reboot sudo dmesg | grep i915 sudo cat /sys/kernel/debug/dri/0/gt/uc/guc_info sudo cat /sys/kernel/debug/dri/0/gt/uc/huc_info
On Debian I had to manually download the i915 full driver Zip, extract it, take out the Intel drivers, and put it in
/usr/lib/firmware
Then hardware acceleration worked on my Arc380.
If you use QSV, your CPU iGPU will be the one that can use it, so make sure to set your render device in docker to the iGPU and not the RTX 2060
I have an arc for transcoding, and I had to set the device to /dev/dri without the renderD128 part. If I were you, I would just use the 2060. If it’s there for llama or something I’d still try it and see how it does doing both at once, as it should be separate parts of the gpu handling that.
If you switch the devices line to
- /dev/dri:/dev/dri
as other have suggested, that should expose the Intel iGPU to your Jellyfin docker container. Presently you’re only exposing the Nvidia GPU.