# Official Plex docker container refusing to use GPU. Other containers use GPU fine

**URL:** <https://forums.plex.tv/t/official-plex-docker-container-refusing-to-use-gpu-other-containers-use-gpu-fine/933175>\
**Category:** Plex Media Server\
**Tags:** server-linux, server-docker\
**Created:** [November 4, 2025, 2:08pm UTC](https://forums.plex.tv/t/official-plex-docker-container-refusing-to-use-gpu-other-containers-use-gpu-fine/933175 "2025-11-04T14:08:34Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![jameson71](https://avatars.discourse-cdn.com/v4/letter/j/a3d4f5/32.png) [@jameson71](https://forums.plex.tv/u/jameson71)\
**Post date:** [November 4, 2025, 2:08pm UTC](https://forums.plex.tv/t/official-plex-docker-container-refusing-to-use-gpu-other-containers-use-gpu-fine/933175/1 "2025-11-04T14:08:34Z")

</div>

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

Here is my docker command to run the container:

> ```auto
> 
> -bash-5.3# cat runPlex.sh
> docker run 
> -d 
> -–name plex 
> -p 32400:32400/tcp 
> -p 3005:3005/tcp 
> -p 8324:8324/tcp 
> -p 32469:32469/tcp 
> -p 1900:1900/udp 
> -p 32410:32410/udp 
> -p 32412:32412/udp 
> -p 32413:32413/udp 
> -p 32414:32414/udp 
> -e TZ=“America/New_York” 
> -e ADVERTISE_IP=“http://192.168.1.23:32400/” 
> -h plex 
> -v /var/docker/volumes/plex/config:/config 
> -v /var/docker/volumes/plex/transcode:/transcode 
> -v /mnt/media:/data 
> -–restart=always 
> -–runtime=nvidia 
> -e NVIDIA_VISIBLE_DEVICES=“all” 
> -e NVIDIA_DRIVER_CAPABILITIES=“all” 
> -–device /dev/dri:/dev/dri 
> plexinc/pms-docker:beta
> 
> ```

nvidia-smi on the host:

```auto
-bash-5.3# nvidia-smi
Tue Nov 4 09:07:04 2025
±----------------------------------------------------------------------------------------+
| NVIDIA-SMI 580.95.05 Driver Version: 580.95.05 CUDA Version: 13.0 |
±----------------------------------------±-----------------------±---------------------+
| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|=========================================+========================+======================|
| 0 NVIDIA GeForce RTX 3090 Off | 00000000:06:10.0 Off | N/A |
| 0% 48C P2 106W / 350W | 2113MiB / 24576MiB | 0% Default |
| | | N/A |
±----------------------------------------±-----------------------±---------------------+

±----------------------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=========================================================================================|
| 0 N/A N/A 2912 C python3.8 1202MiB |
| 0 N/A N/A 2969 C python3.8 896MiB |
±----------------------------------------------------------------------------------------+

```

---

<div class="post-metadata">

**Author:** ![jameson71](https://avatars.discourse-cdn.com/v4/letter/j/a3d4f5/32.png) [@jameson71](https://forums.plex.tv/u/jameson71)\
**Post date:** [November 4, 2025, 3:36pm UTC](https://forums.plex.tv/t/official-plex-docker-container-refusing-to-use-gpu-other-containers-use-gpu-fine/933175/2 "2025-11-04T15:36:22Z")

</div>

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”

---

<div class="post-metadata">

**Author:** ![Menel](https://sea1.discourse-cdn.com/plex/user_avatar/forums.plex.tv/menel/32/21732_2.png) [@Menel](https://forums.plex.tv/u/Menel)\
**Post date:** [November 4, 2025, 4:42pm UTC](https://forums.plex.tv/t/official-plex-docker-container-refusing-to-use-gpu-other-containers-use-gpu-fine/933175/3 "2025-11-04T16:42:37Z")

</div>

Check permissions, puid and guid, of user you want and of the render

---

<div class="post-metadata">

**Author:** ![jameson71](https://avatars.discourse-cdn.com/v4/letter/j/a3d4f5/32.png) [@jameson71](https://forums.plex.tv/u/jameson71)\
**Post date:** [November 4, 2025, 5:58pm UTC](https://forums.plex.tv/t/official-plex-docker-container-refusing-to-use-gpu-other-containers-use-gpu-fine/933175/4 "2025-11-04T17:58:26Z")

</div>

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.

Here is a ps from the host:

`-bash-5.3# ps -aux | grep -i plex`  
`root 16907 0.0 0.0 212 56 ? S 12:54 0:00 s6-supervise plex`  
`jq 16910 15.6 0.4 283608 78720 ? Ssl 12:54 0:05 /usr/lib/plexmediaserver/Plex Media Server`  
`jq 16982 2.0 0.2 65420 44580 ? SNl 12:55 0:00 Plex Plug-in [com.plexapp.system] /usr/lib/plexmediaserver/Resources/Plug-ins-ca3956848/Framework.bundle/Contents/Resources/Versions/2/Python/bootstrap.py --server-version 1.43.0.10231-ca3956848 /usr/lib/plexmediaserver/Resources/Plug-ins-ca3956848/System.bundle`  
`jq 17057 0.0 0.0 43944 13424 ? Sl 12:55 0:00 /usr/lib/plexmediaserver/Plex Tuner Service /usr/lib/plexmediaserver/Resources/Tuner/Private /usr/lib/plexmediaserver/Resources/Tuner/Shared 1.43.0.10231-ca3956848 32600`  
`jq 17089 1.6 0.2 64644 44244 ? Sl 12:55 0:00 Plex Plug-in [com.plexapp.agents.imdb] /usr/lib/plexmediaserver/Resources/Plug-ins-ca3956848/Framework.bundle/Contents/Resources/Versions/2/Python/bootstrap.py --server-version 1.43.0.10231-ca3956848 /usr/lib/plexmediaserver/Resources/Plug-ins-ca3956848/PlexMovie.bundle`  
`root 17377 0.0 0.0 6624 4216 pts/1 S+ 12:55 0:00 grep -i plex`

And here are the user it is running as, as well as the user I thought I was running it as:

`-bash-5.3# id jq`  
`uid=1000(jq) gid=1000(jq) groups=1000(jq),3(sys),90(network),998(wheel),996(audio),991(lp),989(render),987(storage),985(video),984(users),981(rfkill),965(docker)`  
`-bash-5.3# id plex`  
`uid=1017(plex) gid=1017(plex) groups=1017(plex),989(render),985(video)`

And here is my current plex command:

`-bash-5.3# cat runPlex.sh`  
`docker run `  
`-d `  
`-–name plex `  
`-–privileged `  
`-e PUID=1017 `  
`-e PGID=1017 `  
`-p 32400:32400/tcp `  
`-p 3005:3005/tcp `  
`-p 8324:8324/tcp `  
`-p 32469:32469/tcp `  
`-p 1900:1900/udp `  
`-p 32410:32410/udp `  
`-p 32412:32412/udp `  
`-p 32413:32413/udp `  
`-p 32414:32414/udp `  
`-e TZ=“America/New_York” `  
`-e ADVERTISE_IP=“``http://192.168.1.23:32400/”`` `  
`-h plex `  
`-v /var/docker/volumes/plex/config:/config `  
`-v /var/docker/volumes/plex/transcode:/transcode `  
`-v /mnt/media:/data `  
`-–restart=always `  
`-–runtime=nvidia `  
`-–gpus all `  
`-e NVIDIA_VISIBLE_DEVICES=“all” `  
`-e NVIDIA_DRIVER_CAPABILITIES=“all” `  
`-–device /dev/dri:/dev/dri `  
`plexinc/pms-docker:beta`

---

<div class="post-metadata">

**Author:** ![jameson71](https://avatars.discourse-cdn.com/v4/letter/j/a3d4f5/32.png) [@jameson71](https://forums.plex.tv/u/jameson71)\
**Post date:** [November 4, 2025, 8:01pm UTC](https://forums.plex.tv/t/official-plex-docker-container-refusing-to-use-gpu-other-containers-use-gpu-fine/933175/5 "2025-11-04T20:01:34Z")

</div>

I have found some other threads about this. Seems like nvidia and docker are putting the file somewhere Plex doesn’t look for it.

This is from inside the container:

`root@plex:/usr/lib/plexmediaserver/lib# ls -l`  
`total 85848`  
`-rwxr-xr-x 1 root root 747264 Oct 9 06:03 ld-musl-x86_64.so.1`  
`-rwxr-xr-x 1 root root 6121544 Oct 9 06:03 libavcodec.so.60`  
`-rwxr-xr-x 1 root root 6927632 Oct 9 06:03 libavfilter.so.9`  
`-rwxr-xr-x 1 root root 3220672 Oct 9 06:03 libavformat.so.60`  
`-rwxr-xr-x 1 root root 1037112 Oct 9 06:03 libavutil.so.58`  
`-rwxr-xr-x 1 root root 10616 Oct 9 06:03 libboost_atomic.so`  
`-rwxr-xr-x 1 root root 33056 Oct 9 06:03 libboost_chrono.so`  
`-rwxr-xr-x 1 root root 4760 Oct 9 06:03 libboost_date_time.so`  
`-rwxr-xr-x 1 root root 130968 Oct 9 06:03 libboost_filesystem.so`  
`-rwxr-xr-x 1 root root 196256 Oct 9 06:03 libboost_iostreams.so`  
`-rwxr-xr-x 1 root root 265608 Oct 9 06:03 libboost_json.so`  
`-rwxr-xr-x 1 root root 470008 Oct 9 06:03 libboost_locale.so`  
`-rwxr-xr-x 1 root root 323024 Oct 9 06:03 libboost_program_options.so`  
`-rwxr-xr-x 1 root root 26880 Oct 9 06:03 libboost_random.so`  
`-rwxr-xr-x 1 root root 195288 Oct 9 06:03 libboost_regex.so`  
`-rwxr-xr-x 1 root root 4728 Oct 9 06:03 libboost_system.so`  
`-rwxr-xr-x 1 root root 113248 Oct 9 06:03 libboost_thread.so`  
`-rwxr-xr-x 1 root root 30800 Oct 9 06:03 libboost_timer.so`  
`-rw-r–r-- 1 root root 1152880 Oct 9 06:03 libc++.so.2`  
`-rwxr-xr-x 1 root root 747264 Oct 9 06:03 libc.so`  
`-rwxr-xr-x 1 root root 5096 Oct 9 06:03 libcharset.so.1`  
`-rwxr-xr-x 1 root root 4990824 Oct 9 06:03 libcrypto.so.3`  
`-rwxr-xr-x 1 root root 519808 Oct 9 06:03 libcurl.so.4`  
`-rwxr-xr-x 1 root root 84624 Oct 9 06:03 libdrm.so.2`  
`-rwxr-xr-x 1 root root 41568 Oct 9 06:03 libdrm_amdgpu.so.1`  
`-rwxr-xr-x 1 root root 135288 Oct 9 06:03 libdrm_intel.so.1`  
`-rwxr-xr-x 1 root root 39312 Oct 9 06:03 libdrm_radeon.so.1`  
`-rwxr-xr-x 1 root root 39368 Oct 9 06:03 libeditline.so.1`  
`-rw-r–r-- 1 root root 94064 Oct 9 06:03 libfmt.so.8`  
`-rwxr-xr-x 1 root root 5431224 Oct 9 06:03 libfreeimage.so`  
`-rwxr-xr-x 1 root root 58688 Oct 9 06:03 libgcompat.so.0`  
`-rwxr-xr-x 1 root root 88368 Oct 9 06:03 libhdhomerun.so`  
`-rwxr-xr-x 1 root root 918856 Oct 9 06:03 libiconv.so.2`  
`-rwxr-xr-x 1 root root 11037448 Oct 9 06:03 libicudataplex.so.69`  
`-rwxr-xr-x 1 root root 3670024 Oct 9 06:03 libicui18nplex.so.69`  
`-rwxr-xr-x 1 root root 59968 Oct 9 06:03 libicuioplex.so.69`  
`-rwxr-xr-x 1 root root 2110136 Oct 9 06:03 libicuucplex.so.69`  
`-rw-r–r-- 1 root root 668744 Oct 9 06:03 libigdgmm.so.12`  
`-rwxr-xr-x 1 root root 57624 Oct 9 06:03 libminiupnpc.so.17`  
`-rw-r–r-- 1 root root 149256 Oct 9 06:03 libnghttp2.so`  
`-rwxr-xr-x 1 root root 14941184 Oct 9 06:03 libonnxruntime.so.1.16.3`  
`-rwxr-xr-x 1 root root 2588152 Oct 9 06:03 libopencv_core.so.405`  
`-rwxr-xr-x 1 root root 3263192 Oct 9 06:03 libopencv_dnn.so.405`  
`-rwxr-xr-x 1 root root 915048 Oct 9 06:03 libopencv_imgcodecs.so.405`  
`-rwxr-xr-x 1 root root 3789064 Oct 9 06:03 libopencv_imgproc.so.405`  
`-rwxr-xr-x 1 root root 37000 Oct 9 06:03 libpciaccess.so.0`  
`-rw-r–r-- 1 root root 1218440 Oct 9 06:03 libpion.so`  
`-rwxr-xr-x 1 root root 4598688 Oct 9 06:03 libpython27.so`  
`-rwxr-xr-x 1 root root 223560 Oct 9 06:03 libsoci_core.so`  
`-rwxr-xr-x 1 root root 87976 Oct 9 06:03 libsoci_sqlite3.so`  
`-rwxr-xr-x 1 root root 982016 Oct 9 06:03 libsqlite3.so`  
`-rwxr-xr-x 1 root root 642008 Oct 9 06:03 libssl.so.3`  
`-rwxr-xr-x 1 root root 149912 Oct 9 06:03 libswresample.so.4`  
`-rwxr-xr-x 1 root root 949344 Oct 9 06:03 libswscale.so.7`  
`-rwxr-xr-x 1 root root 1157360 Oct 9 06:03 libtag.so.1`  
`-rwxr-xr-x 1 root root 87488 Oct 9 06:03 libusb-1.0.so.0`  
`-rwxr-xr-x 1 root root 9328 Oct 9 06:03 libva-drm.so.2`  
`-rwxr-xr-x 1 root root 172968 Oct 9 06:03 libva.so.2`  
`-rw-r–r-- 1 root root 920 Oct 9 07:11 plexmediaserver.default`  
`-rwxr-xr-x 1 root root 6669 Oct 9 07:11 plexmediaserver.init`  
`-rw-r–r-- 1 root root 1664 Oct 9 07:11 plexmediaserver.service`

`root@plex:/usr/lib/plexmediaserver/lib# find / -name libcuda.so.1`  
`/usr/lib/libcuda.so.1`

I can confirm the fix listed here [[BUG] cuda broken - Cannot load libcuda.so.1 · Issue #403 · linuxserver/docker-plex · GitHub](https://github.com/linuxserver/docker-plex/issues/403)

```auto
for i in /usr/lib/lib*.so.1;
do ln -s $i /usr/lib/plexmediaserver/lib/;
done

```

does resolve the issue.

Is there any way to report a bug?

---

<div class="post-metadata">

**Author:** ![jameson71](https://avatars.discourse-cdn.com/v4/letter/j/a3d4f5/32.png) [@jameson71](https://forums.plex.tv/u/jameson71)\
**Post date:** [November 8, 2025, 8:49pm UTC](https://forums.plex.tv/t/official-plex-docker-container-refusing-to-use-gpu-other-containers-use-gpu-fine/933175/6 "2025-11-08T20:49:19Z")

</div>

Am I doing something wrong here or are there plans to fix this?

---

<div class="post-metadata">

**Author:** ![TheRC51](https://avatars.discourse-cdn.com/v4/letter/t/74df32/32.png) [@TheRC51](https://forums.plex.tv/u/TheRC51)\
**Post date:** [December 7, 2025, 6:31pm UTC](https://forums.plex.tv/t/official-plex-docker-container-refusing-to-use-gpu-other-containers-use-gpu-fine/933175/7 "2025-12-07T18:31:41Z")

</div>

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?

---

<div class="post-metadata">

**Author:** ![jameson71](https://avatars.discourse-cdn.com/v4/letter/j/a3d4f5/32.png) [@jameson71](https://forums.plex.tv/u/jameson71)\
**Post date:** [February 24, 2026, 4:58pm UTC](https://forums.plex.tv/t/official-plex-docker-container-refusing-to-use-gpu-other-containers-use-gpu-fine/933175/8 "2026-02-24T16:58:52Z")

</div>

Bumping because I still need to do this workaround every time I update the image

---

<div class="post-metadata">

**Author:** ![TheRC51](https://avatars.discourse-cdn.com/v4/letter/t/74df32/32.png) [@TheRC51](https://forums.plex.tv/u/TheRC51)\
**Post date:** [February 28, 2026, 4:31pm UTC](https://forums.plex.tv/t/official-plex-docker-container-refusing-to-use-gpu-other-containers-use-gpu-fine/933175/9 "2026-02-28T16:31:59Z")

</div>

Will also bump, still having this issue on the official plex docker image.

---

<div class="post-metadata">

**Author:** ![johncastberg](https://avatars.discourse-cdn.com/v4/letter/j/dbc845/32.png) [@johncastberg](https://forums.plex.tv/u/johncastberg)\
**Post date:** [March 23, 2026, 12:31am UTC](https://forums.plex.tv/t/official-plex-docker-container-refusing-to-use-gpu-other-containers-use-gpu-fine/933175/10 "2026-03-23T00:31:28Z")

</div>

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`

1. Open the shell in your plex container  
`docker exec -it plex bash`

2. 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`

3. 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:-}`

4. Recreate the plex container.

5. Play a video with subtitles on. The error in the console should be gone.

6. 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.

---

<div class="post-metadata">

**Author:** ![system](https://global.discourse-cdn.com/plex/original/3X/2/a/2acb9765406f63293d357b4ec509ec39aa28f2ad.png) [@system](https://forums.plex.tv/u/system)\
**Post date:** [June 21, 2026, 12:32am UTC](https://forums.plex.tv/t/official-plex-docker-container-refusing-to-use-gpu-other-containers-use-gpu-fine/933175/11 "2026-06-21T00:32:00Z")

</div>

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.
