Yesterday, 09:38 PM
Hey all,
I’m trying to get Nvidia GPU transcoding working in Jellyfin (running as a Docker container on Ubuntu 24.04, with an RTX 2080 Ti). I keep hitting what looks like a CUDA permissions or access problem, and nothing I do seems to fix it.
What’s happening:
Could not dynamically load CUDA
Failed to set value 'cuda=cu:0' for option 'init_hw_device': Operation not permitted
Error parsing global options: Operation not permitted
Direct play and direct stream work. Only hardware transcoding is broken.
What I’ve tried and checked so far:
At this point:
I’ve rebooted, regeared, checked and re-checked guides and docs for Jellyfin+Docker+Nvidia, but it's still not working. The container sees the GPU (nvidia-smi works in the container with --runtime=nvidia), but every attempt to use NVENC/NVDEC fails in ffmpeg (from either Jellyfin or the console).
Really appreciate any advice—this is driving me nuts!
Thanks!
I’m trying to get Nvidia GPU transcoding working in Jellyfin (running as a Docker container on Ubuntu 24.04, with an RTX 2080 Ti). I keep hitting what looks like a CUDA permissions or access problem, and nothing I do seems to fix it.
What’s happening:
- Whenever Jellyfin tries to transcode with NVENC/NVDEC, the logs show:
Could not dynamically load CUDA
Failed to set value 'cuda=cu:0' for option 'init_hw_device': Operation not permitted
Error parsing global options: Operation not permitted
Direct play and direct stream work. Only hardware transcoding is broken.
What I’ve tried and checked so far:
- On the host, nvidia-smiworks — 580.65.06.
- Installed nvidia-cuda-toolkit so CUDA libraries are present. Confirmed /usr/lib/x86_64-linux-gnu/libcuda.so.1 points to the correct file.
- All /dev/nvidia* devices have group video, and my host-level checks look good.
- I’m using the official Jellyfin Docker image and keeping up to date.
- All hardware codecs for my GPU are enabled (no AV1, obviously for 2080 Ti).
- Hardware encoding and "HEVC encoding" switched on.
- Running Jellyfin’s exact ffmpeg command inside the container gives the same CUDA load/permission error.
At this point:
I’ve rebooted, regeared, checked and re-checked guides and docs for Jellyfin+Docker+Nvidia, but it's still not working. The container sees the GPU (nvidia-smi works in the container with --runtime=nvidia), but every attempt to use NVENC/NVDEC fails in ffmpeg (from either Jellyfin or the console).
Really appreciate any advice—this is driving me nuts!
Thanks!