Unable to enable HW transcoding. Docker container challenges on Debian Linux host

Server Version#: 1.43.0.10492
Player Version#:
<If providing server logs please do NOT turn on verbose logging, only debug logging should be enabled>

I am running plex in docker on Debian 12.

I have a Nvidia Quadro P600 GPU.

I have a valid plex pass.

container I am using is the lcd.io/linuxserver/plex:latest

I have installed the Nvidia drivers and container toolkit. Nvidia driver version is 550.163.01

In my docker compose file, I have the following added:

Under environment:

- NVIDIA_VISIBLE_DEVICES=0

- NVIDIA_DRIVER_CAPABILITIES=all

Under Devices:

# CDI GPU injection (must be first)

  **-** nvidia.com/gpu=all

  *# Optional: keep explicit device mappings*

  **-** /dev/dri:/dev/dri

  **-** /dev/nvidia0:/dev/nvidia0

  **-** /dev/nvidiactl:/dev/nvidiactl

  **-** /dev/nvidia-uvm:/dev/nvidia-uvm

  **-** /dev/nvidia-uvm-tools:/dev/nvidia-uvm-tools

Then I also have :

deploy:

  resources:

    reservations:

      devices:

        **-** driver: nvidia

          count: all

          capabilities:

            **-** gpu

Nvidia is viewable from the container:

docker info | grep -i nvidia

cdi: nvidia.com/gpu=0

cdi: nvidia.com/gpu=GPU-9995236e-f6d5-4ecf-d087-9fc3e6dbd14c

cdi: nvidia.com/gpu=all

Runtimes: runc io.containerd.runc.v2 nvidia

I verified in my docker daemon.json file that is is forcing legacy mode and not CDI mode…

When I recreate my docker container, and run:

docker exec -it plex ls /usr/lib/x86_64-linux-gnu | grep -i nvidia

I am still missing the HVENC and NVDEC libraries… but I see the display libraries.

I’m not sure, but I think it is still using CDI even though I forced the docker daemon.json and the Nvidia toolkit into legacy mode (I edited the /etc/nvidia-container-runtime/config.toml file and commented out all the CDI block and then changed mode to ‘legacy’)

Does anyone have a working plex container for docker and can help me troubleshoot?

I do not see a GPU widget on the dashboard.

I have enabled HW encoding.

I have manual set the device to the Quadro p600

Under Plex settings, I have set the transcode settings to:

quality to prefer higher quality.

background transcoding: slower

checked the boxes for Use hardware acceleration when available and Use hardware-accelerated video encoding

max gpu transcodes is set to 4

Ok, I solved my own problem…CDI was disabled everywhere and the iml file even renamed to prevent CDI - however I still had two sections in my docker compose that were forcing CDI.

I commented out of my docker compose file:

under devices:

-nvidia.com/gpu=all

And the whole section:

#deploy:

*#  resources:*

*#    reservations:*

*#      devices:*

*#        - driver: nvidia*

*#          count: all*

*#          capabilities:*

*#            - gpu*

I restarted the container and ran :

docker exec -it plex ls /usr/lib/x86_64-linux-gnu | grep -i nvidia

And ALL the Nvidia NVENC and NVDEC came up.

WORKING NOW!

Would you be able to post your current docker compose file ?

I encounter the same though on Debian 13, on a Proxmox host.
GPU is passthroughed to VM
Plex sees the Quadro P400 i have, and i can choose it in transcode settings.
But it never utlizes it when forcing transcode.

Followed multiple guides
My current

services:
  plex:
    image: lscr.io/linuxserver/plex:latest
    container_name: plex
    network_mode: host
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Etc/UTC
      - VERSION=docker
      - NVIDIA_VISIBLE_DEVICES=0
      - NVIDIA_DRIVER_CAPABILITIES=all
    runtime: nvidia
#    devices:
#      - /dev/nvidia0:/dev/nvidia0
#      - /dev/nvidiactl:/dev/nvidiactl
#      - /dev/nvidia-modeset:/dev/nvidia-modeset
#      - /dev/nvidia-uvm:/dev/nvidia-uvm
#      - /dev/nvidia-uvm-tools:/dev/nvidia-uvm-tools
    volumes:
      - /docker/plex/config/:/config
      - /mnt/movies:/data/movies
      - /mnt/shows:/data/shows
    restart: unless-stopped

When i run:
docker exec -it plex ls /usr/lib/x86_64-linux-gnu | grep -i nvidia
libbrotlicommon.so.1.1.0 libnvidia-egl-gbm.so.1
libbrotlidec.so.1 libnvidia-egl-gbm.so.1.1.2
libbrotlidec.so.1.1.0 libnvidia-egl-wayland.so.1
libbrotlienc.so.1 libnvidia-egl-wayland.so.1.1.18
libldap.so.2.0.200 nvidia