Skip to content

[BUG] Nvidia HW Transcoding Issues #432

Open

Description

@MikeVensel

Is there an existing issue for this?

  • I have searched the existing issues

Current Behavior

I'm having issues with HW transcoding after updating all the packages on my Arch Linux host. This included the nvidia container runtime and updating the nvidia driver to version 580.xx.xx. Originally the Plex container failed to even start with the following error

docker: Error response from daemon: failed to create task for container: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error during container init: error running prestart hook #0: exit status 1, stdout: , stderr: Auto-detected mode as 'legacy'

I found this post on the Arch Linux forum about this exact issue which led me to switch to using CDI instead of legacy by running the following commands.

sudo nvidia-ctk runtime configure --runtime=docker
sudo nvidia-ctk cdi generate --output=/etc/cdi/nvidia.yaml
sudo nvidia-ctk config --in-place --set nvidia-container-runtime.mode=cdi && sudo systemctl restart docker

This fixed the issue for my frigate, jellyfin, and faster-whisper containers but for some reason the Plex container exhibits the same behavior as #403 where the, failed to load libcuda.so errors come up when Plex attempts to transcode. I am able to run nvidia-smi in the plex container and I receive the proper output.

I was finally able to get Plex to use HW transcoding by using the solution in #403 (comment) which was to run for i in /usr/lib/lib*.so.1; do ln -s $i /usr/lib/plexmediaserver/lib/; done in the container.

That obviously isn't a super ideal solution so I wanted to bring the issue to your attention to see if there is something else that could be done to mitigate this issue. I'm really not sure where this is falling down whether it be the nvidia 580.xx driver, the nvidia container runtime, a docker update, upstream of this container in plex itself, or the linux server container itself.

Expected Behavior

The Plex container starts and hardware transcoding remains functional as it did before.

Steps To Reproduce

  1. Update Arch Linux with sudo pacman -Syyu
  2. Try to run the Plex container

Environment

- OS: Arch Linux
- How docker service was installed: sudo pacman -S docker

CPU architecture

x86-64

Docker creation

I used the following compose file:


services:
  plex:
    image: lscr.io/linuxserver/plex:latest
    container_name: plex
    runtime: nvidia
    network_mode: host
    environment:
      - PUID=1001
      - PGID=985
      - VERSION=docker
      - NVIDIA_VISIBLE_DEVICES=all
      - NVIDIA_DRIVER_CAPABILITIES=all
    volumes:
      - /tank/appdata/plex:/config
      - /tank/media:/media
    restart: unless-stopped
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              count: all
              capabilities: [gpu]

Container logs

[migrations] started
[migrations] no migrations found
───────────────────────────────────────

      ██╗     ███████╗██╗ ██████╗
      ██║     ██╔════╝██║██╔═══██╗
      ██║     ███████╗██║██║   ██║
      ██║     ╚════██║██║██║   ██║
      ███████╗███████║██║╚██████╔╝
      ╚══════╝╚══════╝╚═╝ ╚═════╝

   Brought to you by linuxserver.io
───────────────────────────────────────

To support LSIO projects visit:
https://www.linuxserver.io/donate/

───────────────────────────────────────
GID/UID
───────────────────────────────────────

User UID:    1001
User GID:    985
───────────────────────────────────────
Linuxserver.io version: 1.42.1.10060-4e8b05daf-ls278
Build-date: 2025-08-11T17:39:21+00:00
───────────────────────────────────────

**** Server already claimed ****
**** adding /dev/dri/renderD128 to video group root with id 0 ****
**** permissions for /dev/dri/card1 are good ****
Docker is used for versioning skip update check
[custom-init] No custom files found, skipping...
Starting Plex Media Server. . . (you can ignore the libusb_init error)
Connection to localhost (::1) 32400 port [tcp/*] succeeded!
[ls.io-init] done.
Critical: libusb_init failed
Dolby, Dolby Digital, Dolby Digital Plus, Dolby TrueHD and the double D symbol are trademarks of Dolby Laboratories.
Connection to 45.56.108.77 closed by remote host.

Activity

  1. github-actions commented on Sep 4, 2025

    @github-actions

    Thanks for opening your first issue here! Be sure to follow the relevant issue templates, or risk having this issue marked as invalid.

  2. LinuxServer-CI commented on Oct 5, 2025

    @LinuxServer-CI
    Contributor

    This issue has been automatically marked as stale because it has not had recent activity. This might be due to missing feedback from OP. It will be closed if no further activity occurs. Thank you for your contributions.

  3. iurab commented on Oct 16, 2025

    @iurab

    I encounter the same problem.

  4. tr4cks commented on Oct 27, 2025

    @tr4cks

    I’ve run into a similar problem since updating the NVIDIA Container Toolkit v1.18.0.

    • Plex was no longer able to find the libcuda.so.1 library, even though ffmpeg works fine in the same container — I’ve tested this.
    • After some investigation, I realized this is related to the toolkit update and the way it now exposes GPU libraries. The runtime now defaults to CDI mode instead of legacy mode, which changes how libraries and devices are injected into containers.

    I tried switching back to legacy mode by editing /etc/nvidia-container-runtime/config.toml:

    [nvidia-container-runtime]
    mode = "legacy"
    • This worked temporarily, and Plex was able to use GPU acceleration.
    • However, when I rebuilt my entire Docker Compose stack, I ran into the following error:
    failed to deploy a stack: compose up operation failed: Error response from daemon: failed to create task for container: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error during container init: error running createContainer hook #0: exit status 1, stdout: , stderr: time="..." level=error msg="invalid symlink specification --link": unknown
    

    As a temporary workaround, I added the NVIDIA library path directly in my Docker Compose environment:

    environment:
      - LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/nvidia/current
    • This allows Plex to find libcuda.so.1 and enables GPU acceleration again.
    • It’s clearly a temporary fix, but it works for now.

    I’m not entirely sure who should take responsibility for this issue — NVIDIA, Docker, or the container images themselves — since NVIDIA introduced a new way of exposing libraries and devices that older containers like Plex weren’t designed to handle.

    Just wanted to share my findings in case it helps others facing the same issue.

    Sorry to repeat myself a bit from the original message, but it's to explain the whole process I went through.

  5. TheSpaceGod commented on Nov 14, 2025

    @TheSpaceGod

    I am having a similar issue on nvidia container toolkit 1.17.9 . It looks like my card is mostly working, its just plex cant find the nvidia decoder (hevc_nvdec) but it can find the nvidia encoder (hevc_nvenc).

    
    root@f5721e220304:/# /usr/lib/plexmediaserver/Plex\ Transcoder -encoders | grep hevc_nvenc
    
    ffmpeg version 46f74ab-560174306fe167a5978a79dd Copyright (c) 2000-2022 the FFmpeg developers
    
      built with Plex clang version 11.0.1 (https://plex.tv 9b997da8e5b47bdb4a9425b3a3b290be393b4b1f)
    
      configuration: --disable-static --enable-shared --disable-libx264 --disable-hwaccels --disable-protocol=concat --external-decoder=h264 --enable-debug --enable-muxers --enable-libxml2 --fatal-warnings --disable-gmp --disable-avdevice --disable-bzlib --disable-sdl2 --disable-decoders --disable-devices --disable-encoders --disable-ffprobe --disable-ffplay --disable-doc --disable-iconv --disable-lzma --disable-schannel --disable-linux-perf --disable-mediacodec --enable-eae --disable-protocol='udp,udplite' --arch=x86_64 --target-os=linux --strip=true --cc=x86_64-linux-musl-clang --pkg-config=/home/runner/_work/plex-conan/plex-conan/plexconantool/plex-pkg-config --pkg-config-flags=--static --windres=llvm-windres --enable-cuda-llvm --enable-libdrm --enable-opencl --enable-cross-compile --ar=llvm-ar --nm=llvm-nm --ranlib=llvm-ranlib --extra-ldflags='-Wl,-rpath,/home/runner/_work/plex-conan/plex-conan/.conan/data/libpciaccess/0.17-6/plex/main/package/7763a87432c78a82fd36373080b064286892cea3/lib -Wl,-rpath,/home/runner/_work/plex-conan/plex-conan/.conan/data/libdrm/2.4.120-4/plex/main/package/ba4ee9fcf280d38ea7457f18301aac09908b7976/lib -Wl,-rpath,/home/runner/_work/plex-conan/plex-conan/.conan/data/intel-gmmlib/22.3.19-0/plex/main/package/d7d5d1f35ff92a8c39da6b47605055e839a42a9c/lib -Wl,-rpath,/home/runner/_work/plex-conan/plex-conan/.conan/data/libva/2.21.0-7/plex/main/package/f0f4893209b867ce448a96e25ef4d6b158311557/lib -Wl,-rpath,/home/runner/_work/plex-conan/plex-conan/.conan/data/iconv/1.16-36/plex/main/package/da4999666f4b1709dd93ae40fffdb2c6f130b23f/lib -Wl,-rpath,/home/runner/_work/plex-conan/plex-conan/.conan/data/openssl/3.1.1-2cf4e90-4/plex/main/package/121b5d655884b039b2c06c747f3d73ef7b698b66/lib -Wl,-rpath,/home/runner/_work/plex-conan/plex-conan/.conan/data/libpciaccess/0.17-6/plex/main/package/7763a87432c78a82fd36373080b064286892cea3/lib -Wl,-rpath,/home/runner/_work/plex-conan/plex-conan/.conan/data/libdrm/2.4.120-4/plex/main/package/ba4ee9fcf280d38ea7457f18301aac09908b7976/lib -Wl,-rpath,/home/runner/_work/plex-conan/plex-conan/.conan/data/intel-gmmlib/22.3.19-0/plex/main/package/d7d5d1f35ff92a8c39da6b47605055e839a42a9c/lib -Wl,-rpath,/home/runner/_work/plex-conan/plex-conan/.conan/data/libva/2.21.0-7/plex/main/package/f0f4893209b867ce448a96e25ef4d6b158311557/lib -Wl,-rpath,/home/runner/_work/plex-conan/plex-conan/.conan/data/iconv/1.16-36/plex/main/package/da4999666f4b1709dd93ae40fffdb2c6f130b23f/lib -Wl,-rpath,/home/runner/_work/plex-conan/plex-conan/.conan/data/openssl/3.1.1-2cf4e90-4/plex/main/package/121b5d655884b039b2c06c747f3d73ef7b698b66/lib -m64 -L/home/runner/_work/plex-conan/plex-conan/.conan/data/opus/1.2.1-38/plex/main/package/64edc78a49b81c2615dad7b22a9ac90cc029860a/lib -L/home/runner/_work/plex-conan/plex-conan/.conan/data/libvorbis/1.3.5-42/plex/main/package/76eba14299c6c14bf4759b1da21aec07c9ca1a2f/lib -L/home/runner/_work/plex-conan/plex-conan/.conan/data/dav1d/1.0.0-18/plex/main/package/4d954bcc6be6a68b775ef1b1bae9dd65e4e237ff/lib -L/home/runner/_work/plex-conan/plex-conan/.conan/data/ffnvcodec/11.1.5.3-43d9170-0/plex/main/package/5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9/lib -L/home/runner/_work/plex-conan/plex-conan/.conan/data/openssl/3.1.1-2cf4e90-4/plex/main/package/121b5d655884b039b2c06c747f3d73ef7b698b66/lib -L/home/runner/_work/plex-conan/plex-conan/.conan/data/x264/161-1086f45-33/plex/main/package/64edc78a49b81c2615dad7b22a9ac90cc029860a/lib -L/home/runner/_work/plex-conan/plex-conan/.conan/data/zvbi/0.2.35-64/plex/main/package/7366a567f554439fb9e7a3415c9d1c2ea2b75360/lib -L/home/runner/_work/plex-conan/plex-conan/.conan/data/libass/0.17.3-4/plex/main/package/d81dbed7e8ad560c9ec55240308ceb55b203927d/lib -L/home/runner/_work/plex-conan/plex-conan/.conan/data/mp3lame/3.98.4-37/plex/main/package/64edc78a49b81c2615dad7b22a9ac90cc029860a/lib -L/home/runner/_work/plex-conan/plex-conan/.conan/data/intel-media-driver/24.1.5-8/plex/main/package/692c8a3a5ee1dcef32efca7f6d273cefdb94118c/lib -L/home/runner/_work/plex-conan/plex-conan/.conan/data/intel-vaapi-driver/2.4.1-45/plex/main/package/72e89cd6576e82e7fa9cf563da5f492cd43a05f4/lib -L/home/runner/_work/plex-conan/plex-conan/.conan/data/opencl-icd-loader/v2024.05.08-861b68b-0/plex/main/package/ce07721293871305120600790e13d0480da9bff7/lib -L/home/runner/_work/plex-conan/plex-conan/.conan/data/libogg/1.3.2-38/plex/main/package/64edc78a49b81c2615dad7b22a9ac90cc029860a/lib -L/home/runner/_work/plex-conan/plex-conan/.conan/data/iconv/1.16-36/plex/main/package/da4999666f4b1709dd93ae40fffdb2c6f130b23f/lib -L/home/runner/_work/plex-conan/plex-conan/.conan/data/fribidi/1.0.12-6/plex/main/package/464531ac2a3f2ab2167bd10d1214603bc8116983/lib -L/home/runner/_work/plex-conan/plex-conan/.conan/data/harfbuzz/4.2.1-9/plex/main/package/53415d552ac96104f622ffa8d8530937a40b4271/lib -L/home/runner/_work/plex-conan/plex-conan/.conan/data/libva/2.21.0-7/plex/main/package/f0f4893209b867ce448a96e25ef4d6b158311557/lib -L/home/runner/_work/plex-conan/plex-conan/.conan/data/intel-gmmlib/22.3.19-0/plex/main/package/d7d5d1f35ff92a8c39da6b47605055e839a42a9c/lib -L/home/runner/_work/plex-conan/plex-conan/.conan/data/fontconfig/2.14.0-9/plex/main/package/aacc2a7710dfa87ed80d4eea45b80c93243fe456/lib -L/home/runner/_work/plex-conan/plex-conan/.conan/data/libdrm/2.4.120-4/plex/main/package/ba4ee9fcf280d38ea7457f18301aac09908b7976/lib -L/home/runner/_work/plex-conan/plex-conan/.conan/data/libxml2/2.9.11-e1bcffea-17/plex/main/package/33406d37abb556848190dcd6097a9849aa894baf/lib -L/home/runner/_work/plex-conan/plex-conan/.conan/data/freetype2/2.12.1-30/plex/main/package/82a00e1e4cc2e8878bb79ae9b5e2235fd8280e6a/lib -L/home/runner/_work/plex-conan/plex-conan/.conan/data/expat/2.6.4-0/plex/main/package/64edc78a49b81c2615dad7b22a9ac90cc029860a/lib -L/home/runner/_work/plex-conan/plex-conan/.conan/data/libuuid/1.0.3-32/plex/main/package/841d526523d3550ac4d52807df94cbbedce37e2c/lib -L/home/runner/_work/plex-conan/plex-conan/.conan/data/libpciaccess/0.17-6/plex/main/package/7763a87432c78a82fd36373080b064286892cea3/lib -L/home/runner/_work/plex-conan/plex-conan/.conan/data/libpthread-stubs/0.4-39/plex/main/package/5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9/lib -L/home/runner/_work/plex-conan/plex-conan/.conan/data/bzip2/1.0.6-42/plex/main/package/618bb3c469051b52e1349cf1a297263df374d15a/lib -L/home/runner/_work/plex-conan/plex-conan/.conan/data/libpng/1.6.37-45/plex/main/package/33406d37abb556848190dcd6097a9849aa894baf/lib -L/home/runner/_work/plex-conan/plex-conan/.conan/data/zlib/1.2.11-36/plex/main/package/64edc78a49b81c2615dad7b22a9ac90cc029860a/lib -Wl,--gc-sections -Wl,-z,noexecstack -Wl,-z,relro -g2 -gdwarf-4 -Wl,--build-id=sha1 -flto=thin -fwhole-program-vtables -Wl,--icf=all -Wl,--threads=6 -Wl,-O2 -l:libgcompat.so.0 -Wl,-rpath,'\''XORIGIN/../lib'\'' -Wl,-rpath,'\''XORIGIN/lib'\'' -Wl,--thinlto-cache-dir=/home/runner/_work/plex-conan/plex-conan/.conan/data/ffmpeg/2.0-46f74ab83e-0/plex/main/build/d17660f7512a62e64743f73949dbd3a0155eeb35/lto_cache/' --extra-libs= --enable-decoder=png --enable-decoder=apng --enable-decoder=bmp --enable-decoder=mjpeg --enable-decoder=thp --enable-decoder=gif --enable-decoder=dirac --enable-decoder=ffv1 --enable-decoder=ffvhuff --enable-decoder=huffyuv --enable-decoder=libdav1d --enable-decoder=av1 --enable-decoder=rawvideo --enable-decoder=zero12v --enable-decoder=ayuv --enable-decoder=r210 --enable-decoder=v210 --enable-decoder=v210x --enable-decoder=v308 --enable-decoder=v408 --enable-decoder=v410 --enable-decoder=y41p --enable-decoder=yuv4 --enable-decoder=ansi --enable-decoder=alac --enable-decoder=flac --enable-decoder=vorbis --enable-decoder=opus --enable-decoder=pcm_f32be --enable-decoder=pcm_f32le --enable-decoder=pcm_f64be --enable-decoder=pcm_f64le --enable-decoder=pcm_lxf --enable-decoder=pcm_s16be --enable-decoder=pcm_s16be_planar --enable-decoder=pcm_s16le --enable-decoder=pcm_s16le_planar --enable-decoder=pcm_s24be --enable-decoder=pcm_s24le --enable-decoder=pcm_s24le_planar --enable-decoder=pcm_s32be --enable-decoder=pcm_s32le --enable-decoder=pcm_s32le_planar --enable-decoder=pcm_s8 --enable-decoder=pcm_s8_planar --enable-decoder=pcm_u16be --enable-decoder=pcm_u16le --enable-decoder=pcm_u24be --enable-decoder=pcm_u24le --enable-decoder=pcm_u32be --enable-decoder=pcm_u32le --enable-decoder=pcm_u8 --enable-decoder=pcm_alaw --enable-decoder=pcm_mulaw --enable-decoder=ass --enable-decoder=dvbsub --enable-decoder=dvdsub --enable-decoder=ccaption --enable-decoder=pgssub --enable-decoder=jacosub --enable-decoder=microdvd --enable-decoder=movtext --enable-decoder=mpl2 --enable-decoder=pjs --enable-decoder=realtext --enable-decoder=sami --enable-decoder=ssa --enable-decoder=stl --enable-decoder=subrip --enable-decoder=subviewer --enable-decoder=text --enable-decoder=vplayer --enable-decoder=webvtt --enable-decoder=xsub --enable-decoder=eac3_eae --enable-decoder=truehd_eae --enable-decoder=mlp_eae --enable-encoder=flac --enable-encoder=alac --enable-encoder=libvorbis --enable-encoder=libopus --enable-encoder=mjpeg --enable-encoder=png --enable-encoder=rawvideo --enable-encoder=wrapped_avframe --enable-encoder=ass --enable-encoder=dvbsub --enable-encoder=dvdsub --enable-encoder=movtext --enable-encoder=ssa --enable-encoder=subrip --enable-encoder=text --enable-encoder=webvtt --enable-encoder=xsub --enable-encoder=pcm_f32be --enable-encoder=pcm_f32le --enable-encoder=pcm_f64be --enable-encoder=pcm_f64le --enable-encoder=pcm_s8 --enable-encoder=pcm_s8_planar --enable-encoder=pcm_s16be --enable-encoder=pcm_s16be_planar --enable-encoder=pcm_s16le --enable-encoder=pcm_s16le_planar --enable-encoder=pcm_s24be --enable-encoder=pcm_s24le --enable-encoder=pcm_s24le_planar --enable-encoder=pcm_s32be --enable-encoder=pcm_s32le --enable-encoder=pcm_s32le_planar --enable-encoder=pcm_u8 --enable-encoder=pcm_u16be --enable-encoder=pcm_u16le --enable-encoder=pcm_u24be --enable-encoder=pcm_u24le --enable-encoder=pcm_u32be --enable-encoder=pcm_u32le --enable-encoder=h264_vaapi --enable-encoder=hevc_vaapi --enable-encoder=h264_nvenc --enable-encoder=hevc_nvenc --enable-encoder=eac3_eae --enable-hwaccel=av1_vaapi --enable-hwaccel=av1_nvdec --prefix=/home/runner/_work/plex-conan/plex-conan/.conan/data/ffmpeg/2.0-46f74ab83e-0/plex/main/build/d17660f7512a62e64743f73949dbd3a0155eeb35/transcoder-install --enable-libzvbi --enable-openssl --enable-libass --enable-libopus --enable-libvorbis --enable-libdav1d --extra-cflags='-m64 -O3 -fdata-sections -ffunction-sections -fno-omit-frame-pointer -g2 -gdwarf-4 -fcommon -flto=thin -fwhole-program-vtables -I/home/runner/_work/plex-conan/plex-conan/.conan/data/opus/1.2.1-38/plex/main/package/64edc78a49b81c2615dad7b22a9ac90cc029860a/include -I/home/runner/_work/plex-conan/plex-conan/.conan/data/libvorbis/1.3.5-42/plex/main/package/76eba14299c6c14bf4759b1da21aec07c9ca1a2f/include -I/home/runner/_work/plex-conan/plex-conan/.conan/data/dav1d/1.0.0-18/plex/main/package/4d954bcc6be6a68b775ef1b1bae9dd65e4e237ff/include -I/home/runner/_work/plex-conan/plex-conan/.conan/data/ffnvcodec/11.1.5.3-43d9170-0/plex/main/package/5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9/include -I/home/runner/_work/plex-conan/plex-conan/.conan/data/openssl/3.1.1-2cf4e90-4/plex/main/package/121b5d655884b039b2c06c747f3d73ef7b698b66/include -I/home/runner/_work/plex-conan/plex-conan/.conan/data/x264/161-1086f45-33/plex/main/package/64edc78a49b81c2615dad7b22a9ac90cc029860a/include -I/home/runner/_work/plex-conan/plex-conan/.conan/data/zvbi/0.2.35-64/plex/main/package/7366a567f554439fb9e7a3415c9d1c2ea2b75360/include -I/home/runner/_work/plex-conan/plex-conan/.conan/data/libass/0.17.3-4/plex/main/package/d81dbed7e8ad560c9ec55240308ceb55b203927d/include -I/home/runner/_work/plex-conan/plex-conan/.conan/data/mp3lame/3.98.4-37/plex/main/package/64edc78a49b81c2615dad7b22a9ac90cc029860a/include -I/home/runner/_work/plex-conan/plex-conan/.conan/data/intel-media-driver/24.1.5-8/plex/main/package/692c8a3a5ee1dcef32efca7f6d273cefdb94118c/include -I/home/runner/_work/plex-conan/plex-conan/.conan/data/libogg/1.3.2-38/plex/main/package/64edc78a49b81c2615dad7b22a9ac90cc029860a/include -I/home/runner/_work/plex-conan/plex-conan/.conan/data/iconv/1.16-36/plex/main/package/da4999666f4b1709dd93ae40fffdb2c6f130b23f/include -I/home/runner/_work/plex-conan/plex-conan/.conan/data/fribidi/1.0.12-6/plex/main/package/464531ac2a3f2ab2167bd10d1214603bc8116983/include -I/home/runner/_work/plex-conan/plex-conan/.conan/data/harfbuzz/4.2.1-9/plex/main/package/53415d552ac96104f622ffa8d8530937a40b4271/include/harfbuzz -I/home/runner/_work/plex-conan/plex-conan/.conan/data/libva/2.21.0-7/plex/main/package/f0f4893209b867ce448a96e25ef4d6b158311557/include -I/home/runner/_work/plex-conan/plex-conan/.conan/data/intel-gmmlib/22.3.19-0/plex/main/package/d7d5d1f35ff92a8c39da6b47605055e839a42a9c/include -I/home/runner/_work/plex-conan/plex-conan/.conan/data/opencl-headers/v2024.05.08-8275634-0/plex/main/package/5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9/include -I/home/runner/_work/plex-conan/plex-conan/.conan/data/fontconfig/2.14.0-9/plex/main/package/aacc2a7710dfa87ed80d4eea45b80c93243fe456/include -I/home/runner/_work/plex-conan/plex-conan/.conan/data/libdrm/2.4.120-4/plex/main/package/ba4ee9fcf280d38ea7457f18301aac09908b7976/include -I/home/runner/_work/plex-conan/plex-conan/.conan/data/libdrm/2.4.120-4/plex/main/package/ba4ee9fcf280d38ea7457f18301aac09908b7976/include/libdrm -I/home/runner/_work/plex-conan/plex-conan/.conan/data/libxml2/2.9.11-e1bcffea-17/plex/main/package/33406d37abb556848190dcd6097a9849aa894baf/include -I/home/runner/_work/plex-conan/plex-conan/.conan/data/libxml2/2.9.11-e1bcffea-17/plex/main/package/33406d37abb556848190dcd6097a9849aa894baf/include/libxml2 -I/home/runner/_work/plex-conan/plex-conan/.conan/data/freetype2/2.12.1-30/plex/main/package/82a00e1e4cc2e8878bb79ae9b5e2235fd8280e6a/include -I/home/runner/_work/plex-conan/plex-conan/.conan/data/expat/2.6.4-0/plex/main/package/64edc78a49b81c2615dad7b22a9ac90cc029860a/include -I/home/runner/_work/plex-conan/plex-conan/.conan/data/libuuid/1.0.3-32/plex/main/package/841d526523d3550ac4d52807df94cbbedce37e2c/include -I/home/runner/_work/plex-conan/plex-conan/.conan/data/libpciaccess/0.17-6/plex/main/package/7763a87432c78a82fd36373080b064286892cea3/include -I/home/runner/_work/plex-conan/plex-conan/.conan/data/bzip2/1.0.6-42/plex/main/package/618bb3c469051b52e1349cf1a297263df374d15a/include -I/home/runner/_work/plex-conan/plex-conan/.conan/data/libpng/1.6.37-45/plex/main/package/33406d37abb556848190dcd6097a9849aa894baf/include -I/home/runner/_work/plex-conan/plex-conan/.conan/data/zlib/1.2.11-36/plex/main/package/64edc78a49b81c2615dad7b22a9ac90cc029860a/include -DLIBXML_STATIC -DFRIBIDI_LIB_STATIC -DNDEBUG'
    
      libavutil      57. 24.102 / 57. 24.102
    
      libavcodec     59. 25.100 / 59. 25.100
    
      libavformat    59. 20.101 / 59. 20.101
    
      libavfilter     8. 29.100 /  8. 29.100
    
      libswscale      6.  6.100 /  6.  6.100
    
      libswresample   4.  6.100 /  4.  6.100
    
     V....D hevc_nvenc           NVIDIA NVENC hevc encoder (codec hevc)
    
    root@f5721e220304:/# /usr/lib/plexmediaserver/Plex\ Transcoder -decoders | grep hevc_nvdec
    
    ffmpeg version 46f74ab-560174306fe167a5978a79dd Copyright (c) 2000-2022 the FFmpeg developers
    
      built with Plex clang version 11.0.1 (https://plex.tv 9b997da8e5b47bdb4a9425b3a3b290be393b4b1f)
    
      configuration: --disable-static --enable-shared --disable-libx264 --disable-hwaccels --disable-protocol=concat --external-decoder=h264 --enable-debug --enable-muxers --enable-libxml2 --fatal-warnings --disable-gmp --disable-avdevice --disable-bzlib --disable-sdl2 --disable-decoders --disable-devices --disable-encoders --disable-ffprobe --disable-ffplay --disable-doc --disable-iconv --disable-lzma --disable-schannel --disable-linux-perf --disable-mediacodec --enable-eae --disable-protocol='udp,udplite' --arch=x86_64 --target-os=linux --strip=true --cc=x86_64-linux-musl-clang --pkg-config=/home/runner/_work/plex-conan/plex-conan/plexconantool/plex-pkg-config --pkg-config-flags=--static --windres=llvm-windres --enable-cuda-llvm --enable-libdrm --enable-opencl --enable-cross-compile --ar=llvm-ar --nm=llvm-nm --ranlib=llvm-ranlib --extra-ldflags='-Wl,-rpath,/home/runner/_work/plex-conan/plex-conan/.conan/data/libpciaccess/0.17-6/plex/main/package/7763a87432c78a82fd36373080b064286892cea3/lib -Wl,-rpath,/home/runner/_work/plex-conan/plex-conan/.conan/data/libdrm/2.4.120-4/plex/main/package/ba4ee9fcf280d38ea7457f18301aac09908b7976/lib -Wl,-rpath,/home/runner/_work/plex-conan/plex-conan/.conan/data/intel-gmmlib/22.3.19-0/plex/main/package/d7d5d1f35ff92a8c39da6b47605055e839a42a9c/lib -Wl,-rpath,/home/runner/_work/plex-conan/plex-conan/.conan/data/libva/2.21.0-7/plex/main/package/f0f4893209b867ce448a96e25ef4d6b158311557/lib -Wl,-rpath,/home/runner/_work/plex-conan/plex-conan/.conan/data/iconv/1.16-36/plex/main/package/da4999666f4b1709dd93ae40fffdb2c6f130b23f/lib -Wl,-rpath,/home/runner/_work/plex-conan/plex-conan/.conan/data/openssl/3.1.1-2cf4e90-4/plex/main/package/121b5d655884b039b2c06c747f3d73ef7b698b66/lib -Wl,-rpath,/home/runner/_work/plex-conan/plex-conan/.conan/data/libpciaccess/0.17-6/plex/main/package/7763a87432c78a82fd36373080b064286892cea3/lib -Wl,-rpath,/home/runner/_work/plex-conan/plex-conan/.conan/data/libdrm/2.4.120-4/plex/main/package/ba4ee9fcf280d38ea7457f18301aac09908b7976/lib -Wl,-rpath,/home/runner/_work/plex-conan/plex-conan/.conan/data/intel-gmmlib/22.3.19-0/plex/main/package/d7d5d1f35ff92a8c39da6b47605055e839a42a9c/lib -Wl,-rpath,/home/runner/_work/plex-conan/plex-conan/.conan/data/libva/2.21.0-7/plex/main/package/f0f4893209b867ce448a96e25ef4d6b158311557/lib -Wl,-rpath,/home/runner/_work/plex-conan/plex-conan/.conan/data/iconv/1.16-36/plex/main/package/da4999666f4b1709dd93ae40fffdb2c6f130b23f/lib -Wl,-rpath,/home/runner/_work/plex-conan/plex-conan/.conan/data/openssl/3.1.1-2cf4e90-4/plex/main/package/121b5d655884b039b2c06c747f3d73ef7b698b66/lib -m64 -L/home/runner/_work/plex-conan/plex-conan/.conan/data/opus/1.2.1-38/plex/main/package/64edc78a49b81c2615dad7b22a9ac90cc029860a/lib -L/home/runner/_work/plex-conan/plex-conan/.conan/data/libvorbis/1.3.5-42/plex/main/package/76eba14299c6c14bf4759b1da21aec07c9ca1a2f/lib -L/home/runner/_work/plex-conan/plex-conan/.conan/data/dav1d/1.0.0-18/plex/main/package/4d954bcc6be6a68b775ef1b1bae9dd65e4e237ff/lib -L/home/runner/_work/plex-conan/plex-conan/.conan/data/ffnvcodec/11.1.5.3-43d9170-0/plex/main/package/5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9/lib -L/home/runner/_work/plex-conan/plex-conan/.conan/data/openssl/3.1.1-2cf4e90-4/plex/main/package/121b5d655884b039b2c06c747f3d73ef7b698b66/lib -L/home/runner/_work/plex-conan/plex-conan/.conan/data/x264/161-1086f45-33/plex/main/package/64edc78a49b81c2615dad7b22a9ac90cc029860a/lib -L/home/runner/_work/plex-conan/plex-conan/.conan/data/zvbi/0.2.35-64/plex/main/package/7366a567f554439fb9e7a3415c9d1c2ea2b75360/lib -L/home/runner/_work/plex-conan/plex-conan/.conan/data/libass/0.17.3-4/plex/main/package/d81dbed7e8ad560c9ec55240308ceb55b203927d/lib -L/home/runner/_work/plex-conan/plex-conan/.conan/data/mp3lame/3.98.4-37/plex/main/package/64edc78a49b81c2615dad7b22a9ac90cc029860a/lib -L/home/runner/_work/plex-conan/plex-conan/.conan/data/intel-media-driver/24.1.5-8/plex/main/package/692c8a3a5ee1dcef32efca7f6d273cefdb94118c/lib -L/home/runner/_work/plex-conan/plex-conan/.conan/data/intel-vaapi-driver/2.4.1-45/plex/main/package/72e89cd6576e82e7fa9cf563da5f492cd43a05f4/lib -L/home/runner/_work/plex-conan/plex-conan/.conan/data/opencl-icd-loader/v2024.05.08-861b68b-0/plex/main/package/ce07721293871305120600790e13d0480da9bff7/lib -L/home/runner/_work/plex-conan/plex-conan/.conan/data/libogg/1.3.2-38/plex/main/package/64edc78a49b81c2615dad7b22a9ac90cc029860a/lib -L/home/runner/_work/plex-conan/plex-conan/.conan/data/iconv/1.16-36/plex/main/package/da4999666f4b1709dd93ae40fffdb2c6f130b23f/lib -L/home/runner/_work/plex-conan/plex-conan/.conan/data/fribidi/1.0.12-6/plex/main/package/464531ac2a3f2ab2167bd10d1214603bc8116983/lib -L/home/runner/_work/plex-conan/plex-conan/.conan/data/harfbuzz/4.2.1-9/plex/main/package/53415d552ac96104f622ffa8d8530937a40b4271/lib -L/home/runner/_work/plex-conan/plex-conan/.conan/data/libva/2.21.0-7/plex/main/package/f0f4893209b867ce448a96e25ef4d6b158311557/lib -L/home/runner/_work/plex-conan/plex-conan/.conan/data/intel-gmmlib/22.3.19-0/plex/main/package/d7d5d1f35ff92a8c39da6b47605055e839a42a9c/lib -L/home/runner/_work/plex-conan/plex-conan/.conan/data/fontconfig/2.14.0-9/plex/main/package/aacc2a7710dfa87ed80d4eea45b80c93243fe456/lib -L/home/runner/_work/plex-conan/plex-conan/.conan/data/libdrm/2.4.120-4/plex/main/package/ba4ee9fcf280d38ea7457f18301aac09908b7976/lib -L/home/runner/_work/plex-conan/plex-conan/.conan/data/libxml2/2.9.11-e1bcffea-17/plex/main/package/33406d37abb556848190dcd6097a9849aa894baf/lib -L/home/runner/_work/plex-conan/plex-conan/.conan/data/freetype2/2.12.1-30/plex/main/package/82a00e1e4cc2e8878bb79ae9b5e2235fd8280e6a/lib -L/home/runner/_work/plex-conan/plex-conan/.conan/data/expat/2.6.4-0/plex/main/package/64edc78a49b81c2615dad7b22a9ac90cc029860a/lib -L/home/runner/_work/plex-conan/plex-conan/.conan/data/libuuid/1.0.3-32/plex/main/package/841d526523d3550ac4d52807df94cbbedce37e2c/lib -L/home/runner/_work/plex-conan/plex-conan/.conan/data/libpciaccess/0.17-6/plex/main/package/7763a87432c78a82fd36373080b064286892cea3/lib -L/home/runner/_work/plex-conan/plex-conan/.conan/data/libpthread-stubs/0.4-39/plex/main/package/5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9/lib -L/home/runner/_work/plex-conan/plex-conan/.conan/data/bzip2/1.0.6-42/plex/main/package/618bb3c469051b52e1349cf1a297263df374d15a/lib -L/home/runner/_work/plex-conan/plex-conan/.conan/data/libpng/1.6.37-45/plex/main/package/33406d37abb556848190dcd6097a9849aa894baf/lib -L/home/runner/_work/plex-conan/plex-conan/.conan/data/zlib/1.2.11-36/plex/main/package/64edc78a49b81c2615dad7b22a9ac90cc029860a/lib -Wl,--gc-sections -Wl,-z,noexecstack -Wl,-z,relro -g2 -gdwarf-4 -Wl,--build-id=sha1 -flto=thin -fwhole-program-vtables -Wl,--icf=all -Wl,--threads=6 -Wl,-O2 -l:libgcompat.so.0 -Wl,-rpath,'\''XORIGIN/../lib'\'' -Wl,-rpath,'\''XORIGIN/lib'\'' -Wl,--thinlto-cache-dir=/home/runner/_work/plex-conan/plex-conan/.conan/data/ffmpeg/2.0-46f74ab83e-0/plex/main/build/d17660f7512a62e64743f73949dbd3a0155eeb35/lto_cache/' --extra-libs= --enable-decoder=png --enable-decoder=apng --enable-decoder=bmp --enable-decoder=mjpeg --enable-decoder=thp --enable-decoder=gif --enable-decoder=dirac --enable-decoder=ffv1 --enable-decoder=ffvhuff --enable-decoder=huffyuv --enable-decoder=libdav1d --enable-decoder=av1 --enable-decoder=rawvideo --enable-decoder=zero12v --enable-decoder=ayuv --enable-decoder=r210 --enable-decoder=v210 --enable-decoder=v210x --enable-decoder=v308 --enable-decoder=v408 --enable-decoder=v410 --enable-decoder=y41p --enable-decoder=yuv4 --enable-decoder=ansi --enable-decoder=alac --enable-decoder=flac --enable-decoder=vorbis --enable-decoder=opus --enable-decoder=pcm_f32be --enable-decoder=pcm_f32le --enable-decoder=pcm_f64be --enable-decoder=pcm_f64le --enable-decoder=pcm_lxf --enable-decoder=pcm_s16be --enable-decoder=pcm_s16be_planar --enable-decoder=pcm_s16le --enable-decoder=pcm_s16le_planar --enable-decoder=pcm_s24be --enable-decoder=pcm_s24le --enable-decoder=pcm_s24le_planar --enable-decoder=pcm_s32be --enable-decoder=pcm_s32le --enable-decoder=pcm_s32le_planar --enable-decoder=pcm_s8 --enable-decoder=pcm_s8_planar --enable-decoder=pcm_u16be --enable-decoder=pcm_u16le --enable-decoder=pcm_u24be --enable-decoder=pcm_u24le --enable-decoder=pcm_u32be --enable-decoder=pcm_u32le --enable-decoder=pcm_u8 --enable-decoder=pcm_alaw --enable-decoder=pcm_mulaw --enable-decoder=ass --enable-decoder=dvbsub --enable-decoder=dvdsub --enable-decoder=ccaption --enable-decoder=pgssub --enable-decoder=jacosub --enable-decoder=microdvd --enable-decoder=movtext --enable-decoder=mpl2 --enable-decoder=pjs --enable-decoder=realtext --enable-decoder=sami --enable-decoder=ssa --enable-decoder=stl --enable-decoder=subrip --enable-decoder=subviewer --enable-decoder=text --enable-decoder=vplayer --enable-decoder=webvtt --enable-decoder=xsub --enable-decoder=eac3_eae --enable-decoder=truehd_eae --enable-decoder=mlp_eae --enable-encoder=flac --enable-encoder=alac --enable-encoder=libvorbis --enable-encoder=libopus --enable-encoder=mjpeg --enable-encoder=png --enable-encoder=rawvideo --enable-encoder=wrapped_avframe --enable-encoder=ass --enable-encoder=dvbsub --enable-encoder=dvdsub --enable-encoder=movtext --enable-encoder=ssa --enable-encoder=subrip --enable-encoder=text --enable-encoder=webvtt --enable-encoder=xsub --enable-encoder=pcm_f32be --enable-encoder=pcm_f32le --enable-encoder=pcm_f64be --enable-encoder=pcm_f64le --enable-encoder=pcm_s8 --enable-encoder=pcm_s8_planar --enable-encoder=pcm_s16be --enable-encoder=pcm_s16be_planar --enable-encoder=pcm_s16le --enable-encoder=pcm_s16le_planar --enable-encoder=pcm_s24be --enable-encoder=pcm_s24le --enable-encoder=pcm_s24le_planar --enable-encoder=pcm_s32be --enable-encoder=pcm_s32le --enable-encoder=pcm_s32le_planar --enable-encoder=pcm_u8 --enable-encoder=pcm_u16be --enable-encoder=pcm_u16le --enable-encoder=pcm_u24be --enable-encoder=pcm_u24le --enable-encoder=pcm_u32be --enable-encoder=pcm_u32le --enable-encoder=h264_vaapi --enable-encoder=hevc_vaapi --enable-encoder=h264_nvenc --enable-encoder=hevc_nvenc --enable-encoder=eac3_eae --enable-hwaccel=av1_vaapi --enable-hwaccel=av1_nvdec --prefix=/home/runner/_work/plex-conan/plex-conan/.conan/data/ffmpeg/2.0-46f74ab83e-0/plex/main/build/d17660f7512a62e64743f73949dbd3a0155eeb35/transcoder-install --enable-libzvbi --enable-openssl --enable-libass --enable-libopus --enable-libvorbis --enable-libdav1d --extra-cflags='-m64 -O3 -fdata-sections -ffunction-sections -fno-omit-frame-pointer -g2 -gdwarf-4 -fcommon -flto=thin -fwhole-program-vtables -I/home/runner/_work/plex-conan/plex-conan/.conan/data/opus/1.2.1-38/plex/main/package/64edc78a49b81c2615dad7b22a9ac90cc029860a/include -I/home/runner/_work/plex-conan/plex-conan/.conan/data/libvorbis/1.3.5-42/plex/main/package/76eba14299c6c14bf4759b1da21aec07c9ca1a2f/include -I/home/runner/_work/plex-conan/plex-conan/.conan/data/dav1d/1.0.0-18/plex/main/package/4d954bcc6be6a68b775ef1b1bae9dd65e4e237ff/include -I/home/runner/_work/plex-conan/plex-conan/.conan/data/ffnvcodec/11.1.5.3-43d9170-0/plex/main/package/5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9/include -I/home/runner/_work/plex-conan/plex-conan/.conan/data/openssl/3.1.1-2cf4e90-4/plex/main/package/121b5d655884b039b2c06c747f3d73ef7b698b66/include -I/home/runner/_work/plex-conan/plex-conan/.conan/data/x264/161-1086f45-33/plex/main/package/64edc78a49b81c2615dad7b22a9ac90cc029860a/include -I/home/runner/_work/plex-conan/plex-conan/.conan/data/zvbi/0.2.35-64/plex/main/package/7366a567f554439fb9e7a3415c9d1c2ea2b75360/include -I/home/runner/_work/plex-conan/plex-conan/.conan/data/libass/0.17.3-4/plex/main/package/d81dbed7e8ad560c9ec55240308ceb55b203927d/include -I/home/runner/_work/plex-conan/plex-conan/.conan/data/mp3lame/3.98.4-37/plex/main/package/64edc78a49b81c2615dad7b22a9ac90cc029860a/include -I/home/runner/_work/plex-conan/plex-conan/.conan/data/intel-media-driver/24.1.5-8/plex/main/package/692c8a3a5ee1dcef32efca7f6d273cefdb94118c/include -I/home/runner/_work/plex-conan/plex-conan/.conan/data/libogg/1.3.2-38/plex/main/package/64edc78a49b81c2615dad7b22a9ac90cc029860a/include -I/home/runner/_work/plex-conan/plex-conan/.conan/data/iconv/1.16-36/plex/main/package/da4999666f4b1709dd93ae40fffdb2c6f130b23f/include -I/home/runner/_work/plex-conan/plex-conan/.conan/data/fribidi/1.0.12-6/plex/main/package/464531ac2a3f2ab2167bd10d1214603bc8116983/include -I/home/runner/_work/plex-conan/plex-conan/.conan/data/harfbuzz/4.2.1-9/plex/main/package/53415d552ac96104f622ffa8d8530937a40b4271/include/harfbuzz -I/home/runner/_work/plex-conan/plex-conan/.conan/data/libva/2.21.0-7/plex/main/package/f0f4893209b867ce448a96e25ef4d6b158311557/include -I/home/runner/_work/plex-conan/plex-conan/.conan/data/intel-gmmlib/22.3.19-0/plex/main/package/d7d5d1f35ff92a8c39da6b47605055e839a42a9c/include -I/home/runner/_work/plex-conan/plex-conan/.conan/data/opencl-headers/v2024.05.08-8275634-0/plex/main/package/5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9/include -I/home/runner/_work/plex-conan/plex-conan/.conan/data/fontconfig/2.14.0-9/plex/main/package/aacc2a7710dfa87ed80d4eea45b80c93243fe456/include -I/home/runner/_work/plex-conan/plex-conan/.conan/data/libdrm/2.4.120-4/plex/main/package/ba4ee9fcf280d38ea7457f18301aac09908b7976/include -I/home/runner/_work/plex-conan/plex-conan/.conan/data/libdrm/2.4.120-4/plex/main/package/ba4ee9fcf280d38ea7457f18301aac09908b7976/include/libdrm -I/home/runner/_work/plex-conan/plex-conan/.conan/data/libxml2/2.9.11-e1bcffea-17/plex/main/package/33406d37abb556848190dcd6097a9849aa894baf/include -I/home/runner/_work/plex-conan/plex-conan/.conan/data/libxml2/2.9.11-e1bcffea-17/plex/main/package/33406d37abb556848190dcd6097a9849aa894baf/include/libxml2 -I/home/runner/_work/plex-conan/plex-conan/.conan/data/freetype2/2.12.1-30/plex/main/package/82a00e1e4cc2e8878bb79ae9b5e2235fd8280e6a/include -I/home/runner/_work/plex-conan/plex-conan/.conan/data/expat/2.6.4-0/plex/main/package/64edc78a49b81c2615dad7b22a9ac90cc029860a/include -I/home/runner/_work/plex-conan/plex-conan/.conan/data/libuuid/1.0.3-32/plex/main/package/841d526523d3550ac4d52807df94cbbedce37e2c/include -I/home/runner/_work/plex-conan/plex-conan/.conan/data/libpciaccess/0.17-6/plex/main/package/7763a87432c78a82fd36373080b064286892cea3/include -I/home/runner/_work/plex-conan/plex-conan/.conan/data/bzip2/1.0.6-42/plex/main/package/618bb3c469051b52e1349cf1a297263df374d15a/include -I/home/runner/_work/plex-conan/plex-conan/.conan/data/libpng/1.6.37-45/plex/main/package/33406d37abb556848190dcd6097a9849aa894baf/include -I/home/runner/_work/plex-conan/plex-conan/.conan/data/zlib/1.2.11-36/plex/main/package/64edc78a49b81c2615dad7b22a9ac90cc029860a/include -DLIBXML_STATIC -DFRIBIDI_LIB_STATIC -DNDEBUG'
    
      libavutil      57. 24.102 / 57. 24.102
    
      libavcodec     59. 25.100 / 59. 25.100
    
      libavformat    59. 20.101 / 59. 20.101
    
      libavfilter     8. 29.100 /  8. 29.100
    
      libswscale      6.  6.100 /  6.  6.100
    
      libswresample   4.  6.100 /  4.  6.100
    
    root@f5721e220304:/# nvidia-smi
    
    Fri Nov 14 16:20:03 2025
    
    +-----------------------------------------------------------------------------------------+
    
    | NVIDIA-SMI 570.153.02             Driver Version: 570.153.02     CUDA Version: 12.8     |
    
    |-----------------------------------------+------------------------+----------------------+
    
    | 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 3060        On  |   00000000:07:00.0  On |                  N/A |
    
    |  0%   46C    P8             12W /  170W |       9MiB /  12288MiB |      0%      Default |
    
    |                                         |                        |                  N/A |
    
    +-----------------------------------------+------------------------+----------------------+
    
    
    
    +-----------------------------------------------------------------------------------------+
    
    | Processes:                                                                              |
    
    |  GPU   GI   CI              PID   Type   Process name                        GPU Memory |
    
    |        ID   ID                                                               Usage      |
    
    |=========================================================================================|
    
    |  No running processes found                                                             |
    
    +-----------------------------------------------------------------------------------------+
    
    root@f5721e220304:/#
    
    
  6. tr4cks commented on Nov 14, 2025

    @tr4cks

    @TheSpaceGod Was it working before that? Are you in CDI mode or not?
    Because in version 1.17.*, CDI mode is not enabled by default. But you may have forced it.
    Is Plex unable to find the CUDA library? You can check the logs.

  7. TheSpaceGod commented on Nov 14, 2025

    @TheSpaceGod

    @tr4cks I am using nixOS so this all is more... complicated than normal Linux. Yes it was working before this.

    From what I can tell, my nvidia container runtime is in mode "auto". The following shows all my nvidia LD libraries look to be available in the container:

    root@a1042cddef06:/usr/lib/plexmediaserver# ldconfig -p | grep libnv
            libnvoptix.so.1 (libc6,x86-64) => /nix/store/ikx3iqd996g3gk4c5f9sbal75ly1823p-nvidia-x11-570.153.02-6.12.49/lib/libnvoptix.so.1
            libnvidia-vksc-core.so.1 (libc6,x86-64) => /nix/store/ikx3iqd996g3gk4c5f9sbal75ly1823p-nvidia-x11-570.153.02-6.12.49/lib/libnvidia-vksc-core.so.1
            libnvidia-tls.so.570.153.02 (libc6,x86-64) => /nix/store/ikx3iqd996g3gk4c5f9sbal75ly1823p-nvidia-x11-570.153.02-6.12.49/lib/libnvidia-tls.so.570.153.02
            libnvidia-sandboxutils.so.1 (libc6,x86-64) => /nix/store/ikx3iqd996g3gk4c5f9sbal75ly1823p-nvidia-x11-570.153.02-6.12.49/lib/libnvidia-sandboxutils.so.1
            libnvidia-rtcore.so.570.153.02 (libc6,x86-64) => /nix/store/ikx3iqd996g3gk4c5f9sbal75ly1823p-nvidia-x11-570.153.02-6.12.49/lib/libnvidia-rtcore.so.570.153.02
            libnvidia-ptxjitcompiler.so.1 (libc6,x86-64) => /nix/store/ikx3iqd996g3gk4c5f9sbal75ly1823p-nvidia-x11-570.153.02-6.12.49/lib/libnvidia-ptxjitcompiler.so.1
            libnvidia-pkcs11-openssl3.so.570.153.02 (libc6,x86-64) => /nix/store/ikx3iqd996g3gk4c5f9sbal75ly1823p-nvidia-x11-570.153.02-6.12.49/lib/libnvidia-pkcs11-openssl3.so.570.153.02
            libnvidia-opticalflow.so.1 (libc6,x86-64) => /nix/store/ikx3iqd996g3gk4c5f9sbal75ly1823p-nvidia-x11-570.153.02-6.12.49/lib/libnvidia-opticalflow.so.1
            libnvidia-opencl.so.1 (libc6,x86-64) => /nix/store/ikx3iqd996g3gk4c5f9sbal75ly1823p-nvidia-x11-570.153.02-6.12.49/lib/libnvidia-opencl.so.1
            libnvidia-nvvm.so.4 (libc6,x86-64) => /nix/store/ikx3iqd996g3gk4c5f9sbal75ly1823p-nvidia-x11-570.153.02-6.12.49/lib/libnvidia-nvvm.so.4
            libnvidia-ngx.so.1 (libc6,x86-64) => /nix/store/ikx3iqd996g3gk4c5f9sbal75ly1823p-nvidia-x11-570.153.02-6.12.49/lib/libnvidia-ngx.so.1
            libnvidia-ml.so.1 (libc6,x86-64) => /nix/store/ikx3iqd996g3gk4c5f9sbal75ly1823p-nvidia-x11-570.153.02-6.12.49/lib/libnvidia-ml.so.1
            libnvidia-gpucomp.so.570.153.02 (libc6,x86-64) => /nix/store/ikx3iqd996g3gk4c5f9sbal75ly1823p-nvidia-x11-570.153.02-6.12.49/lib/libnvidia-gpucomp.so.570.153.02
            libnvidia-glvkspirv.so.570.153.02 (libc6,x86-64) => /nix/store/ikx3iqd996g3gk4c5f9sbal75ly1823p-nvidia-x11-570.153.02-6.12.49/lib/libnvidia-glvkspirv.so.570.153.02
            libnvidia-glsi.so.570.153.02 (libc6,x86-64) => /nix/store/ikx3iqd996g3gk4c5f9sbal75ly1823p-nvidia-x11-570.153.02-6.12.49/lib/libnvidia-glsi.so.570.153.02
            libnvidia-glcore.so.570.153.02 (libc6,x86-64) => /nix/store/ikx3iqd996g3gk4c5f9sbal75ly1823p-nvidia-x11-570.153.02-6.12.49/lib/libnvidia-glcore.so.570.153.02
            libnvidia-fbc.so.1 (libc6,x86-64) => /nix/store/ikx3iqd996g3gk4c5f9sbal75ly1823p-nvidia-x11-570.153.02-6.12.49/lib/libnvidia-fbc.so.1
            libnvidia-encode.so.1 (libc6,x86-64) => /nix/store/ikx3iqd996g3gk4c5f9sbal75ly1823p-nvidia-x11-570.153.02-6.12.49/lib/libnvidia-encode.so.1
            libnvidia-eglcore.so.570.153.02 (libc6,x86-64) => /nix/store/ikx3iqd996g3gk4c5f9sbal75ly1823p-nvidia-x11-570.153.02-6.12.49/lib/libnvidia-eglcore.so.570.153.02
            libnvidia-egl-wayland.so.1 (libc6,x86-64) => /nix/store/ikx3iqd996g3gk4c5f9sbal75ly1823p-nvidia-x11-570.153.02-6.12.49/lib/libnvidia-egl-wayland.so.1
            libnvidia-egl-gbm.so.1 (libc6,x86-64) => /nix/store/ikx3iqd996g3gk4c5f9sbal75ly1823p-nvidia-x11-570.153.02-6.12.49/lib/libnvidia-egl-gbm.so.1
            libnvidia-cfg.so.1 (libc6,x86-64) => /nix/store/ikx3iqd996g3gk4c5f9sbal75ly1823p-nvidia-x11-570.153.02-6.12.49/lib/libnvidia-cfg.so.1
            libnvidia-allocator.so.1 (libc6,x86-64) => /nix/store/ikx3iqd996g3gk4c5f9sbal75ly1823p-nvidia-x11-570.153.02-6.12.49/lib/libnvidia-allocator.so.1
            libnvcuvid.so.1 (libc6,x86-64) => /nix/store/ikx3iqd996g3gk4c5f9sbal75ly1823p-nvidia-x11-570.153.02-6.12.49/lib/libnvcuvid.so.1
    root@a1042cddef06:/usr/lib/plexmediaserver# ldconfig -p | grep cuda
            libcudadebugger.so.1 (libc6,x86-64) => /nix/store/ikx3iqd996g3gk4c5f9sbal75ly1823p-nvidia-x11-570.153.02-6.12.49/lib/libcudadebugger.so.1
            libcuda.so.1 (libc6,x86-64) => /nix/store/ikx3iqd996g3gk4c5f9sbal75ly1823p-nvidia-x11-570.153.02-6.12.49/lib/libcuda.so.1
    root@a1042cddef06:/usr/lib/plexmediaserver# 
    
  8. tr4cks commented on Nov 14, 2025

    @tr4cks

    @TheSpaceGod When I run ldconfig, the library is also referenced correctly, yet during transcoding, Plex cannot find the library. I believe Plex expects to find the library in a specific location. If I understand correctly, the problem is that before CDI mode, the NVIDIA Container Toolkit copied the library to a standard location, but since the update, it copies it to the same location as the host system. This location is not necessarily standard, so Plex cannot find the library. I think this is where the problem lies, but I'm not entirely sure yet.

    However, you told me you were in auto mode and using version 1.17, so not in CDI mode but legacy mode. So I don't know if that's where your problem lies. Can you start a stream and then grep through the logs (/config/Library/Application Support/Plex Media Server/Logs/Plex Media Server.log) to try to find error or cuda. See if, like me, Plex can't find the library at runtime.

    If it cannot find the library, try adding this environment variable when starting the container and let me know if it works for you:

    LD_LIBRARY_PATH=/nix/store/ikx3iqd996g3gk4c5f9sbal75ly1823p-nvidia-x11-570.153.02-6.12.49/lib
    
  9. TheSpaceGod commented on Nov 14, 2025

    @TheSpaceGod

    @tr4cks in an older working configuration, I had this env variable before I thought I didnt need it anymore. I tried adding it back in, but still no luck for me. I can go find those logs, but I dont remember seeing error messages like that in my most recent look at them.

    LD_LIBRARY_PATH = "/usr/local/nvidia/lib:/usr/local/nvidia/lib64"

    root@9b6982f0efa9:/usr/local/nvidia# ls
    lib  lib64
    root@9b6982f0efa9:/usr/local/nvidia# ls lib64
    gbm                                libnvidia-eglcore.so.570.153.02    libnvidia-nvvm.so
    libcudadebugger.so                 libnvidia-egl-gbm.so               libnvidia-nvvm.so.4
    libcudadebugger.so.1               libnvidia-egl-gbm.so.1             libnvidia-nvvm.so.570.153.02
    libcudadebugger.so.570.153.02      libnvidia-egl-gbm.so.1.1.2         libnvidia-opencl.so
    libcuda.so                         libnvidia-egl-wayland.so           libnvidia-opencl.so.1
    libcuda.so.1                       libnvidia-egl-wayland.so.1         libnvidia-opencl.so.570.153.02
    libcuda.so.570.153.02              libnvidia-egl-wayland.so.1.1.19    libnvidia-opticalflow.so
    libEGL_nvidia.so                   libnvidia-egl-xcb.so               libnvidia-opticalflow.so.1
    libEGL_nvidia.so.0                 libnvidia-egl-xcb.so.1             libnvidia-opticalflow.so.570.153.02
    libEGL_nvidia.so.570.153.02        libnvidia-egl-xcb.so.1.0.2         libnvidia-pkcs11-openssl3.so
    libGLESv1_CM_nvidia.so             libnvidia-egl-xlib.so              libnvidia-pkcs11-openssl3.so.570.153.02
    libGLESv1_CM_nvidia.so.1           libnvidia-egl-xlib.so.1            libnvidia-ptxjitcompiler.so
    libGLESv1_CM_nvidia.so.570.153.02  libnvidia-egl-xlib.so.1.0.2        libnvidia-ptxjitcompiler.so.1
    libGLESv2_nvidia.so                libnvidia-encode.so                libnvidia-ptxjitcompiler.so.570.153.02
    libGLESv2_nvidia.so.2              libnvidia-encode.so.1              libnvidia-rtcore.so
    libGLESv2_nvidia.so.570.153.02     libnvidia-encode.so.570.153.02     libnvidia-rtcore.so.570.153.02
    libGLX_nvidia.so                   libnvidia-fbc.so                   libnvidia-sandboxutils.so
    libGLX_nvidia.so.0                 libnvidia-fbc.so.1                 libnvidia-sandboxutils.so.1
    libGLX_nvidia.so.570.153.02        libnvidia-fbc.so.570.153.02        libnvidia-sandboxutils.so.570.153.02
    libglxserver_nvidia.so             libnvidia-glcore.so                libnvidia-tls.so
    libglxserver_nvidia.so.570.153.02  libnvidia-glcore.so.570.153.02     libnvidia-tls.so.570.153.02
    libnvcuvid.so                      libnvidia-glsi.so                  libnvidia-vksc-core.so
    libnvcuvid.so.1                    libnvidia-glsi.so.570.153.02       libnvidia-vksc-core.so.1
    libnvcuvid.so.570.153.02           libnvidia-glvkspirv.so             libnvidia-vksc-core.so.570.153.02
    libnvidia-allocator.so             libnvidia-glvkspirv.so.570.153.02  libnvoptix.so
    libnvidia-allocator.so.1           libnvidia-gpucomp.so               libnvoptix.so.1
    libnvidia-allocator.so.570.153.02  libnvidia-gpucomp.so.570.153.02    libnvoptix.so.570.153.02
    libnvidia-api.so                   libnvidia-ml.so                    nvidia
    libnvidia-api.so.1                 libnvidia-ml.so.1                  nvoptix.bin
    libnvidia-cfg.so                   libnvidia-ml.so.570.153.02         systemd
    libnvidia-cfg.so.1                 libnvidia-ngx.so                   vdpau
    libnvidia-cfg.so.570.153.02        libnvidia-ngx.so.1
    libnvidia-eglcore.so               libnvidia-ngx.so.570.153.02
    root@9b6982f0efa9:/usr/local/nvidia# 
    

    I am gussing this is how my nixOS NCT configuration is mounting in the nvidia libraries

  10. TheSpaceGod commented on Nov 14, 2025

    @TheSpaceGod

    Also, AI seems to think that the nixOS NCT configuration I am using is defaulting to CDI mode. I also no longer need to include --runtime=nvidia (which actually breaks now for me).

    What --runtime=nvidia Controls (The Old "Legacy" Way)
    The --runtime=nvidia flag tells Docker to stop using its default container runtime (runc) and instead use a special wrapper called nvidia-container-runtime.
    
    This wrapper's only job was to "hijack" the container launch, pause it, and manually inject all the NVIDIA driver libraries and device files (like /dev/nvidia0) before letting the container's main process start.
    
    It was a workaround. Docker had no native idea what a "GPU" was.
    
    It required configuration. You had to edit the Docker daemon's configuration (/etc/docker/daemon.json) to even make it aware of the nvidia runtime.
    
    Why Your Containers Work Without It (The New "CDI" Way)
    Your system is almost certainly using the new CDI (Container Device Interface) mode. This is a much cleaner, native solution.
    
    Here's how it works:
    
    NVIDIA Toolkit Provides a "Menu": The nvidia-container-toolkit (the same software) now has a new job. Instead of providing a runtime, it generates a specification file (a .yaml file) that sits in /etc/cdi/ or /var/run/cdi/.
    
    Docker Reads the "Menu": Modern Docker (and Podman, etc.) knows how to look in that directory. It reads the nvidia.yaml file, which essentially tells it, "Hey, if a user asks for nvidia.com/gpu=all, here is the full list of libraries and devices you need to inject."
    
    Docker Does the Work Natively: When you run a container with --device=nvidia.com/gpu=all (or the newer --gpus all), Docker's default runc runtime reads that spec and handles all the GPU injections itself.
    
    The nvidia-container-runtime wrapper is no longer needed. The old "legacy" runtime is bypassed completely.
    
  11. tr4cks commented on Nov 14, 2025

    @tr4cks

    I think the first thing to do is find out what's wrong with Plex in the logs. Find out why it won't start transcoding on the graphic card.

    Apparently you also have two locations where the cuda library is present, which is strange, isn't it?
    Have you tried this path instead:

    LD_LIBRARY_PATH=/nix/store/ikx3iqd996g3gk4c5f9sbal75ly1823p-nvidia-x11-570.153.02-6.12.49/lib
    

    I'm not familiar with the operating system, so I don't know if it could be related or not.

  12. 5 remaining items

  13. pgporada commented on Jan 16, 2026

    @pgporada

    Not stale

  14. tr4cks commented on Jan 16, 2026

    @tr4cks

    @pgporada In fact, after posting an issue on the NVIDIA repository, it seems that the problem comes from NVIDIA and not from any setting in this container.
    Check here, it's in progress. Try updating your graphics card driver to the latest version or add LD_LIBRARY_PATH otherwise.

    You can leave the issue open until it is resolved so that people in the community can refer to it, but I don't think there's anything to be done here.

  15. MikeVensel commented on Jan 16, 2026

    @MikeVensel
    Author

    @tr4cks Glad it's being worked on but I'm not sure if their fix is going to help me. I'm running a gtx 1080 for transcoding and it dropped out of driver support recently so if the fix is in the driver I'm probably out of luck.

  16. pgporada commented on Jan 16, 2026

    @pgporada

    I've used the LD_LIBRARY_PATH with nvidia cdi 1.18.1, nvidia driver 550.163.01-2, a Quadro M2000, and it's working great on Debian Trixie. I can see my rootless podman container performing hardware transcoding tasks. Without the LD_LIBRARY_PATH env var specifically, hardware transcoding does NOT work.

    Here's my podman script for posterity.

    podman pull lscr.io/linuxserver/plex:latest
    
    podman stop plex
    podman rm plex
    
    podman run -d \
      --name=plex \
      --net=host \
      --group-add=keep-groups \
      --device=nvidia.com/gpu=0 \
      --device=nvidia.com/gpu="GPU-fuck-ice" \
      --device=/dev/nvidia0:/dev/nvidia0 \
      --device=/dev/nvidiactl:/dev/nvidiactl \
      --device=/dev/nvidia-caps:/dev/nvidia-caps \
      --device=/dev/nvidia-uvm:/dev/nvidia-uvm \
      --device=/dev/nvidia-uvm-tools:/dev/nvidia-uvm-tools \
      --device=/dev/nvidia-modeset:/dev/nvidia-modeset \
      -e NVIDIA_DRIVER_CAPABILITIES="compute,video,utility" \
      -e LD_LIBRARY_PATH="/usr/lib/x86_64-linux-gnu/nvidia/current" \
      --security-opt=label=disable \
      -e PUID=$(id -u phil) \
      -e PGID=$(id -g phil) \
      -e TZ=America/Detroit \
      -e VERSION=docker \
      -e PLEX_CLAIM="claim-xyz" \
      -v /opt/plex/transcode:/transcode:rw \
      -v /opt/certs/Plex:/certs:ro \
      -v /opt/plex/database:/config:rw \
      -v /opt/tv:/tv:rw \
      -v /opt/movies:/movies:rw \
      --restart unless-stopped \
      lscr.io/linuxserver/plex:latest
    
  17. tr4cks commented on Jan 16, 2026

    @tr4cks

    @MikeVensel I just checked and your graphics card is based on Pascal architecture, so I think it should support the latest drivers.

    @pgporada LD_LIBRARY_PATH or latest driver on Trixie?

  18. MikeVensel commented on Jan 16, 2026

    @MikeVensel
    Author

    @tr4cks Oh at least on Arch I think turing and newer get the new driver while mine is on the legacy branch at least according to the wiki. I was pretty sure that meant rtx 20 series and newer.

  19. pgporada commented on Jan 16, 2026

    @pgporada

    @tr4cks I edited my comment above to be clearer.

  20. tr4cks commented on Jan 16, 2026

    @tr4cks

    @MikeVensel No, your card is compatible. I just checked, and you can use the latest driver. However, you may have to install the NVIDIA drivers manually, depending on your distribution.
    For AMD64 check here: https://www.nvidia.com/fr-fr/drivers/details/261751/

    @pgporada Glad to see that this technique works. I have exactly the same configuration as you because I preferred to install the nvidia packages recommended by Debian Trixie.
    It is also possible to install the latest version of the driver via nvidia, and apparently it works without the environment variable. I haven't tried it, but someone else has confirmed it with version 580 of the driver.

  21. hgfi commented on Mar 9, 2026

    @hgfi

    Ran into this and had some trouble fixing it so here is how my compose is now set up:

    services:
      plex:
        image: lscr.io/linuxserver/plex:latest
        container_name: plex
        environment:
          - PUID=1000
          - PGID=1000
          - TZ=Etc/Paris
          - VERSION=docker
          - PLEX_CLAIM=XXXXXXXXXX
          - ADVERTISE_IP=XXXXXXXXX
          - LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/nvidia/current
        networks:
          - internal
        expose:
          - 32400
        restart: always
        volumes:
          - /mnt/FLASH/Plex:/config
          - /mnt/DATA/Films:/media/Films:ro
          - /mnt/DATA/Series:/media/Series:ro
          - /mnt/DATA/Anime:/media/Anime:ro
          - /mnt/DATA/Music:/media/Music:ro
        devices:
          - nvidia.com/gpu=all
        healthcheck:
          test: curl --fail http://localhost:32400/identity
          interval: 10s
          timeout: 5s
          retries: 10

    Note LD_LIBRARY_PATH -> without this plex fails to find libcuda.so.1. I don't now who should fix it (plex or this repo) but this works for now and should keep working even when it's fixed properly.

    I use nvidia.com/gpu=all because this uses the CDI which is the new default, but the old deploy block still works too.

    My environment:
    Debian 13 (6.12.73+deb13-amd64)
    Docker 29.3.0
    Nvidia driver: 550.163.01
    NVIDIA Container Runtime: 1.18.2

  22. tr4cks commented on Mar 9, 2026

    @tr4cks

    @hgfi Yes, this solution and who is responsible for it (nvidia) is already indicated in this issue. I opened an issue on the nvidia repository (see above) a while ago.

  23. NASANAUT commented on Mar 21, 2026

    @NASANAUT

    I can confirm a very similar result on Arch Linux, but in my case fixing the missing libcuda.so.1 error only gets me one step further.

    At first I also had the same Cannot load libcuda.so.1 problem. After adding only these 4 NVIDIA library links inside /usr/lib/plexmediaserver/lib/:

    • libcuda.so.1
    • libnvidia-encode.so.1
    • libnvcuvid.so.1
    • libnvidia-ml.so.1

    Plex no longer complains about the missing library, and the GPU is clearly visible inside the container.

    However, hardware transcoding still does not work. The new failure mode is:

    • Plex detects the GPU correctly
    • NVENC/NVDEC probing starts
    • then CUDA init fails with CUDA_ERROR_UNKNOWN

    Relevant log output:

    DEBUG - [GPU] Got device: NVIDIA AD107GL [RTX 2000 / 2000E Ada Generation], nvidia@unknown, default true, best true, ID 10de:28b0:10de:1870@0000:15:00.0, DevID [10de:28b0:10de:1870], flags 0xe8
    ERROR - [GPU] Cuda function failed with error unknown error
    DEBUG - [Req#1ef/Transcode] Codecs: testing h264_nvenc (encoder)
    DEBUG - [Req#1ef/Transcode] Codecs: hardware transcoding: testing API nvenc for device 'pci:0000:15:00.0' (NVIDIA AD107GL [RTX 2000 / 2000E Ada Generation])
    ERROR - [Req#1ef/Transcode] [FFMPEG] -  -> CUDA_ERROR_UNKNOWN: unknown error
    DEBUG - [Req#1ef/Transcode] Could not create hardware context for h264_nvenc
    DEBUG - [Req#1ef/Transcode] Codecs: testing hevc (decoder) with hwdevice nvdec
    DEBUG - [Req#1ef/Transcode] Codecs: hardware transcoding: testing API nvdec for device 'pci:0000:15:00.0' (NVIDIA AD107GL [RTX 2000 / 2000E Ada Generation])
    ERROR - [Req#1ef/Transcode] [FFMPEG] -  -> CUDA_ERROR_UNKNOWN: unknown error
    

    Important detail: nvidia-smi works fine inside the container, so the GPU is visible there.

    I also tested the official Plex image, not only linuxserver/plex, and I get the same end result there as well.

    This makes me think there may be two separate layers to this problem on Arch:

    1. libcuda.so.1 not being found in the expected Plex library path
    2. even after fixing that, CUDA context creation still failing with CUDA_ERROR_UNKNOWN

    For reference, this is the command I am using with LinuxServer Plex:

    docker run -d \
      --name=Plex \
      --runtime=nvidia \
      --gpus all \
      --network macvlan_network \
      --ip 192.168.3.3 \
      -e PUID=1007 \
      -e PGID=1234 \
      -e UMASK=002 \
      -e TZ=Europe/Zurich \
      -e VERSION=docker \
      -e PLEX_CLAIM=EXAMPLE \
      -e NVIDIA_VISIBLE_DEVICES=all \
      -e NVIDIA_DRIVER_CAPABILITIES=compute,video,utility \
      -e LD_LIBRARY_PATH=/usr/lib/plexmediaserver/lib:/usr/lib \
      -v /usr/lib:/host_usr_lib:ro \
      -v /srv/configs/plex/config:/config \
      -v /srv/configs/plex/data:/data \
      -v /srv/configs/plex/transcode:/transcode \
      -v /mnt/raid6/Media:/Media \
      --restart unless-stopped \
      lscr.io/linuxserver/plex:latest

    I also tested lscr.io/linuxserver/plex:latest with the same result.

    And then I add the 4 library links like this:

    docker exec Plex bash -lc 'mkdir -p /usr/lib/plexmediaserver/lib && \
    ln -sf /host_usr_lib/libcuda.so.1 /usr/lib/plexmediaserver/lib/libcuda.so.1 && \
    ln -sf /host_usr_lib/libnvidia-encode.so.1 /usr/lib/plexmediaserver/lib/libnvidia-encode.so.1 && \
    ln -sf /host_usr_lib/libnvcuvid.so.1 /usr/lib/plexmediaserver/lib/libnvcuvid.so.1 && \
    ln -sf /host_usr_lib/libnvidia-ml.so.1 /usr/lib/plexmediaserver/lib/libnvidia-ml.so.1'
    docker restart Plex

    So in my case, the workaround fixes the missing libcuda.so.1 part, but not the actual CUDA initialization failure afterwards.

  24. tr4cks commented on Mar 21, 2026

    @tr4cks

    Maybe copying the library directly from the host to the container is causing a problem.

    Have you tried finding where NVIDIA Container Toolkit mounted your library within your Plex container and then specifying that path in the LD_LIBRARY_PATH variable?
    On Debian, it’s located here: /usr/lib/x86_64-linux-gnu/nvidia/current, but on Arch, the mount point is likely somewhere else.

    If they are indeed in /usr/lib as specified in your Docker Compose file, then there might be another issue.

    I've opened an issue here; maybe you can describe your problem there or open a new issue in this repository because that's where the issue needs to be solved, and for now, not much is happening.

  25. NASANAUT commented on Mar 21, 2026

    @NASANAUT

    Thanks, I tested that theory as well.

    You were right that manually copying/linking host libraries into /usr/lib/plexmediaserver/lib might not be the right long-term solution.

    I checked where the NVIDIA libraries are available inside the container, and they are already present under /usr/lib without any extra host bind mount:

    docker exec Plex bash -lc 'find /usr/lib -maxdepth 1 \( -name "libcuda.so*" -o -name "libnvidia-encode.so*" -o -name "libnvcuvid.so*" -o -name "libnvidia-ml.so*" \) | sort'

    This gives:

    /usr/lib/libcuda.so
    /usr/lib/libcuda.so.1
    /usr/lib/libcuda.so.590.48.01
    /usr/lib/libnvcuvid.so
    /usr/lib/libnvcuvid.so.1
    /usr/lib/libnvcuvid.so.590.48.01
    /usr/lib/libnvidia-encode.so
    /usr/lib/libnvidia-encode.so.1
    /usr/lib/libnvidia-encode.so.590.48.01
    /usr/lib/libnvidia-ml.so
    /usr/lib/libnvidia-ml.so.1
    /usr/lib/libnvidia-ml.so.590.48.01
    

    So I removed the extra host library bind mount and also stopped creating manual symlinks into /usr/lib/plexmediaserver/lib.

    I then started the container like this:

    docker run -d \
      --name=Plex \
      --runtime=nvidia \
      --gpus all \
      --network macvlan_network \
      --ip 192.168.3.3 \
      -e PUID=1007 \
      -e PGID=1234 \
      -e UMASK=002 \
      -e TZ=Europe/Zurich \
      -e VERSION=docker \
      -e PLEX_CLAIM=EXAMPLE \
      -e NVIDIA_VISIBLE_DEVICES=all \
      -e NVIDIA_DRIVER_CAPABILITIES=compute,video,utility \
      -e LD_LIBRARY_PATH=/usr/lib \
      -v /srv/configs/plex/config:/config \
      -v /srv/configs/plex/data:/data \
      -v /srv/configs/plex/transcode:/transcode \
      -v /mnt/raid6/Media:/Media \
      --restart unless-stopped \
      lscr.io/linuxserver/plex:latest

    And verified inside the container:

    docker exec Plex bash -lc 'echo $LD_LIBRARY_PATH'
    docker exec Plex bash -lc 'nvidia-smi'

    Output shows:

    • LD_LIBRARY_PATH=/usr/lib
    • nvidia-smi works fine inside the container

    So the GPU is visible, and Plex also loads libcuda.so.1 successfully now.

    But hardware transcoding still fails with:

    [FFMPEG] - Loaded lib: libcuda.so.1
    [FFMPEG] -  -> CUDA_ERROR_UNKNOWN: unknown error
    

    and more specifically:

    DEBUG - [Req#e0/Transcode] Codecs: hardware transcoding: testing API nvdec for device 'pci:0000:15:00.0' (NVIDIA AD107GL [RTX 2000 / 2000E Ada Generation])
    DEBUG - [Req#e0/Transcode] [FFMPEG] - Loaded lib: libcuda.so.1
    ERROR - [Req#e0/Transcode] [FFMPEG] -  -> CUDA_ERROR_UNKNOWN: unknown error
    

    So at this point, it no longer looks like a library path issue on my system.

    It seems more like:

    • NVIDIA libraries are present
    • GPU is visible in the container
    • Plex can load libcuda.so.1
    • but CUDA initialization itself fails afterwards

    I also see the same end result with the official Plex image, not only linuxserver/plex.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions