Plex hw transcoding does not work after 24.10 upgrade

Just to add, I also have the issue, but only for Plex is not working. I tried using Immich and it works fine there for both compute and video. Looking in portainer the NVIDIA env variables are identical and GPU UUIDs are correct. I tried midclt call -job app.update plex but it didn’t resolve. I deleted the app and remaining images to recreate everything from scratch, but no luck.

Looking inside the plex container I can run nvidia-smi just fine, so I think the plex docker image for some reason has conflicts with the 550.127.05 driver. I tried a bunch of other things, like enabling and disabling GPU passthrough.

Some said the “automatic” was using the GPU, but not for me. It just shows my iGPU. I have Plex Pass.

Before using TrueNAS 24.10.0.2, which had the 535… driver, it worked. Since the new driver works with immich, I really suspect it is Plex, but not sure.

System config:
TrueNAS: ElectricEel-24.10.1
Plex: 1.41.3.9314-a0bfb8370 (native app)
Nvidia GPU: RTX 4060Ti 16GB
Nvidia driver: 550.127.05

Can at least confirm that Plex on ‘Automatic’ works for my GPU. Any luck if you disable iGPU in bios (if it isn’t needed anywhere else) at least for testing purposes? Maybe this is something on Plex’s end where it is selecting iGPU instead of available GPUs & needs to be reported as a bug to them?

This is with the 550.127.05 driver, so also not 100% that it is a driver fault based on my own results.

image

root@truenas[~]# nvidia-smi
Thu Jan  9 22:59:04 2025       
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 550.127.05             Driver Version: 550.127.05     CUDA Version: 12.4     |
|-----------------------------------------+------------------------+----------------------+
| 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 3050        Off |   00000000:2E:00.0 Off |                  N/A |
|  0%   42C    P2             45W /  130W |     140MiB /   8192MiB |      6%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+
                                                                                         
+-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU   GI   CI        PID   Type   Process name                              GPU Memory |
|        ID   ID                                                               Usage      |
|=========================================================================================|
|    0   N/A  N/A   2407404      C   ...lib/plexmediaserver/Plex Transcoder        133MiB |
+-----------------------------------------------------------------------------------------+

Disabling the iGPU did not work for me. Looking at the Plex logs, it does not detect the Nvidia GPU, only the iGPU. I ran plex trasncoder --hwaccels and it shows cuda and /dev/dri shows both cards. So not sure what is going on, but Nvidia transcoding is broken for Plex only. My issue is not related to UUID or PCI_SLOTs ids because they are populate and correct, and other apps are able to use the GPU just fine.

Does anyone know what kind of script is used to detect the gpu at startup? I am looking for this to try to understand before Plex or Truenas update.

I think this might be relevant.

I just remembered having similar issues after ee update & this fixed it for me.

…realistically though half the time I have issues after an update I kinda just save config & reinstall and 75% of the time it is fixed. Maybe also an option.

After those steps, I think some folks also had luck after stopping plex, removing gpu, starting it, stopping it, and then readding gpu. At least from a couple of posts I remember reading.

The UUID or PCI_SLOT issue seems to apply more to those migrating from 24.04 to 24.10. Anyway, TrueNAS now acknowledges the problem for 24.10.1 both in know issues and in this Jira card. A fix is coming in the next release 24.10.2 (28 Jan). It seems that the nvidia_drm kernel module are not loading, which populates the /dev/dri folder with the render nodes that some applications like Plex use to identify GPUs. I say some because others like Immich seem not to be affected by this, not sure, anyway I will wait for the fix in the next weeks

Note: If you run udevadm info -n /dev/dri/<some> -q path it shows the GPU PCI_SLOT and on my system none are the Nvidia GPU.

2 Likes