[BUG] Nvidia HW Transcoding Issues
还没有人认领这个 Issue。
评估
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 新手友好度
- 35/100
- Issue 类型
- 缺陷
- 描述清晰度
- 需要澄清
- 活跃度
- 停滞
- 技术栈
- arch-linux, docker
- 领域
- devops, infrastructure
调研方向
从提供的 Docker Compose 服务定义和容器日志开始,然后将 CDI 配置命令与 issue #403 中记录的变通方案进行比较。确定故障是在 NVIDIA 驱动程序、容器运行时、Docker、Plex 还是此容器中;当 Plex 启动且硬件转码能够正常工作、无需手动链接库时,即视为完成。
由索引模型根据 Issue 内容生成。
描述
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 https://github.com/linuxserver/docker-plex/issues/403#issuecomment-2466403210 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
- Update Arch Linux with
sudo pacman -Syyu - 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.
- 主要语言
- Dockerfile
- 星标
- 1.4k
- 派生
- 228
- PR 合并指标
- 30 天内没有已合并 PR
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
linuxserver/docker-plex 的其他 Issue
-
no-issue-activity
难度 1/5 1 小时以内 新手友好度 92/100
linuxserver/docker-plex#458 · 2 条评论 ·
-
invalid no-issue-activity
难度 3/5 1-2 天 新手友好度 45/100
linuxserver/docker-plex#457 · 3 条评论 ·
查看 linuxserver/docker-plex 的全部 Issue
相似的 Issue
-
kind/bug needs-triage
难度 1/5 1 小时以内 新手友好度 72/100
matrixorigin/matrixone#29223 ·
-
难度 2/5 1-3 小时 新手友好度 84/100
copse-dev/agent-pane#2953 ·
-
bug ci-failure high priority
难度 2/5 1-3 小时 新手友好度 74/100
vllm-project/vllm-omni#7972 · 1 条评论 ·
-
难度 2/5 1-3 小时 新手友好度 90/100
simonw/sqlite-utils#872 ·
-
bug good first issue
难度 1/5 1 小时以内 新手友好度 88/100
amponce/archive-movie-browser#166 ·