Server Version#: 1.43.0.10231 in docker
Player Version#: Web
Yes I have plex pass. When I first set this server up, hardware transcoding was working. Then some updates installed for the host and now I can’t get it to work for the life of me. I also have CodeProjectAI Running in docker using the same GPU just fine. nvidia-smi inside the container sees the GPU just fine. Here are the errors in the debug logs since I can’t figure out how to attach them:
Nov 04, 2025 08:49:37.756 [140012314766136] DEBUG - [Req#220/Transcode] Codecs: testing hevc (decoder) with hwdevice nvdec
Nov 04, 2025 08:49:37.756 [140012314766136] DEBUG - [Req#220/Transcode] Codecs: hardware transcoding: testing API nvdec for device ‘pci:0000:06:10.0’ (NVIDIA GA102 [GeForce RTX 3090])
Nov 04, 2025 08:49:37.756 [140012314766136] ERROR - [Req#220/Transcode] [FFMPEG] - Cannot load libcuda.so.1
Nov 04, 2025 08:49:37.756 [140012314766136] ERROR - [Req#220/Transcode] [FFMPEG] - Could not dynamically load CUDA
Nov 04, 2025 08:49:37.756 [140012314766136] DEBUG - [Req#220/Transcode] Codecs: hardware transcoding: opening hw device failed - probably not supported by this system, error: Operation not permitted
Nov 04, 2025 08:49:37.756 [140012314766136] DEBUG - [Req#220/Transcode] Could not create hardware context for hevc
One more thing I wanted to add, Plex definitely sees the GPU because I can select it on the transcode tab of settings under “Hardware transcode device”
I am not exactly sure what you are asking me to check. I just noticed that PMS is not running at the user I thought it was on the host. I added that user to the render group and restarted the container. No luck. I even tried adding the –privileged flag to my docker run command and still no luck.
I have the exact same issue, also exact same solution fixed it. I run my docker container as a specific user so from the sounds of it that might be part of the problem as well?
Came here to post this. Here’s the solution I came up with:
0: Double check this is actually the problem you’re having.
I turned on subtitle burn in (on web: Settings → Plex Web → Player → Burn Subtitles: always) to ensure the gpu would be activated to transcode. Then, play something, turn subtitles on, and watch the console (Settings → Manage → Console). You will see the error [FFMPEG] - Cannot load libcuda.so.1
Open the shell in your plex container docker exec -it plex bash
Find the location of libcuda.so.1 find /usr/lib -name libcuda.so.1
→ /usr/lib/x86_64-linux-gnu/nvidia/current/libcuda.so.1
Add environment variable LD_LIBRARY_PATH with the directory containing libcuda.so.1 in your docker command or docker compose config: LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/nvidia/current:${LD_LIBRARY_PATH:-}
Recreate the plex container.
Play a video with subtitles on. The error in the console should be gone.
Turn off subtitle burn in
This is definitely just a work around, not sure where the location of libcuda.so.1 is getting lost but the Plex team will have to fix it for real.