Server Version#: 1.43.0.10389
Player Version#: Tested with app.plex.tv
My setup: Plex running on proxmox privileged LXC. nvidia P5000 passed through.
HEVC transcoding stopped working on my server with a P5000 GPU. Uncertain when this started to happen, but my best guess is it was along side upgrading to Proxmox 9.1, which was a frustrating experience due to the compatibility of nvidia drivers and 6.17 kernel. I’m pinned to 6.14.
I used Claude to run some extensive tests – may be helpful or potentially way off course. I’ve posted my findings along with the actual server logs.
I’ve seen other similar user reports. Tried pinning container back to stable release rather than beta:
image: plexinc/pms-docker:1.42.2.10156-f737b826c
edit seems like your ubuntu ver and kernel don’t match, you’ve gone forward past 6.8 for 22.04… could make for a headache https://ubuntu.com/kernel/lifecycle might be unrelated.
I’m more hung up on your suspicion that your proxmox upgrade broke it is likely a redherring… vs the PMS package update from stable to beta.
I suspect your pms package broke it. Youre on a beta release… come on… first thing I’d always do with an issue under beta is revert to public stable.
@Menel – Ok! I’ve been treating the beta for plex as stable for nearly 10 years
Results were the same after downgrading. I also tested using stable and disabling HEVC encode.
Test Results: Stable (1.42.2.10156)
NVIDIA Library Test
$ sudo -u plex python3 -c “import ctypes; ctypes.CDLL(‘libnvcuvid.so.1’); print(‘DECODE: OK’); ctypes.CDLL(‘libnvidia-encode.so.1’); print(‘ENCODE: OK’)”
DECODE: OK
ENCODE: OK
HEVC Playback Test (Ocean’s Eleven 4K HEVC)
TPU: hardware transcoding: enabled, but no hardware decode accelerator found
TPU: hardware transcoding: final decoder: , final encoder:
Result: Software transcoding (same as PlexPass)
With “Use hardware-accelerated video encoding” DISABLED
Changed setting in Plex Settings > Transcoder > unchecked “Use hardware-accelerated video encoding”
Did you use TTECK helper scripts to create the VM?
IIRC, there is something about needing to blacklist the card so Proxmox’s drivers don’t get control of it. Does that apply here again in this newer release?
On regular Linux (Ubuntu/Debian/Redhat), you install all the drivers on the native host. Physical passthrough of the GPU is done via /dev/dri which then gets handled in the host’s kernel space and not the LXC
EDIT: When you install the PMS DEB package, I check for the presence of the device / inodes and make the appropriate configuration changes to PMS.
If the report (at end of install) can’t find the GPU then it’s not being passed in correctly.
After some extensive testing, I discovered the issue.
Root Cause:
NVIDIA libraries were bind-mounted to /usr/lib/x86_64-linux-gnu/nvidia/current/ but Plex’s FFmpeg looks for them directly in /usr/lib/x86_64-linux-gnu/.
Solution:
Create symlinks from the standard library path to the nvidia subdirectory:
cd /usr/lib/x86_64-linux-gnu
for lib in nvidia/current/*.so.1; do
sudo ln -sf “$lib” $(basename “$lib”)
done