NVIDIA: userspace installation fails because exact-version dependencies are not pinned
Maintainer thường phản hồi trong vòng 1 ngày
Đánh giá
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức phù hợp với người mới
- 76/100
Hướng nghiên cứu
Start with _setup_nvidia_gpu() in lib/hwaccel.func and trace how it selects the host driver version, pins packages, and handles the failed install. Reproduce the conflict with the listed apt-get --simulate command in a Debian 13 container. Done means installation handles the matching NVIDIA userspace dependencies successfully and validation does not report success when it fails.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Environment
- Proxmox VE: 9.2.3
- Container: Debian 13 (Trixie)
- GPU: NVIDIA RTX 3060
- Host NVIDIA driver: 595.112.07
- Affected installation: vLLM script
- Affected helper:
lib/hwaccel.func,_setup_nvidia_gpu()
Summary
When creating a Debian 13 LXC with the vLLM script, the shared NVIDIA hardware-acceleration helper detects the host driver version correctly (595.112.07) and finds matching 595.112.07-1 userspace packages in the NVIDIA repository.
However, it pins only four packages:
libcuda1libnvcuvid1libnvidia-encode1libnvidia-ml1
It does not pin the exact-version dependencies required by those packages:
libnvidia-ptxjitcompiler1libnvidia-pkcs11-openssl3libnvidia-gpucomp
APT therefore selects newer 620.70.06-1 dependency candidates, while the requested packages must be 595.112.07-1. The installation fails.
How the issue was found
A fresh Debian 13 LXC was created with the vLLM script. During creation, the hardware-acceleration setup reported:
Version-pinned install failed - keeping libcuda1 at 595.112.07-1, the rest unpinned
No underlying APT error was shown because the fallback redirects stderr to /dev/null and ignores the failure with || true.
After creation, the container was inspected with:
pct exec 101 -- bash -c '
apt-cache policy libcuda1 libnvidia-ptxjitcompiler1 libnvidia-pkcs11-openssl3 libnvidia-gpucomp
apt-cache madison libcuda1
'
This showed that the repository contained the host-matching 595.112.07-1 packages, but the default candidates for the dependencies were 620.70.06-1.
Reproduction
The helper selects the host driver version and attempts:
apt-get -y -o Dpkg::Options::="--force-confold" install --no-install-recommends \
libcuda1=595.112.07-1 \
libnvcuvid1=595.112.07-1 \
libnvidia-encode1=595.112.07-1 \
libnvidia-ml1=595.112.07-1
However, it does not pin the exact-version dependencies required by those packages:
libnvidia-ptxjitcompiler1libnvidia-pkcs11-openssl3libnvidia-gpucomp
APT therefore selects newer 620.70.06-1 dependency candidates, while the requested packages must be 595.112.07-1. The installation fails.
Diagnostic tests
The following command reproduced the dependency conflict:
pct exec 101 -- apt-get --simulate --no-install-recommends install \
libcuda1=595.112.07-1 \
libnvcuvid1=595.112.07-1 \
libnvidia-encode1=595.112.07-1 \
libnvidia-ml1=595.112.07-1
APT selected:
libnvidia-ptxjitcompiler1 620.70.06-1
libnvidia-pkcs11-openssl3 620.70.06-1
libnvidia-gpucomp 620.70.06-1
A real installation attempt then failed with a version conflict.
Successful manual simulation
Explicitly selecting the matching dependency versions succeeds:
pct exec 101 -- apt-get --simulate --no-install-recommends install \
libcuda1=595.112.07-1 \
libnvidia-ptxjitcompiler1=595.112.07-1 \
libnvidia-pkcs11-openssl3=595.112.07-1 \
libnvidia-gpucomp=595.112.07-1
The simulation resolved cleanly, confirming that the matching packages are available and that the issue is the incomplete version pinning.
Observed behavior
The helper reports:
Version-pinned install failed - keeping libcuda1 at 595.112.07-1, the rest unpinned
The fallback only pins libcuda1:
"libcuda1=${available_version}" libnvcuvid1 libnvidia-encode1 libnvidia-ml1
It also suppresses APT errors:
2>/dev/null || true
As a result, the actual dependency conflict is hidden.
Expected behavior
The helper should either:
- Install the complete matching NVIDIA userspace package set, including exact-version dependencies; or
- Let APT resolve dependencies naturally instead of pinning only a subset; or
- Surface the failed APT command and its error instead of suppressing it.
Additional issue
setup_hwaccel() prints Setup Hardware Acceleration as successful even when NVIDIA validation fails. It does set HWACCEL_VENDOR="none" in this case, but the final success message is misleading.
- Ngôn ngữ chính
- Shell
- Star
- 11
- Fork
- 17
- Merge trung bình
- 7 giờ 39 phút
- Pull request đã merge (30 ngày)
- 89
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của community-scripts/core
-
False AMD GPU DetectionĐang mởbug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
community-scripts/core#217 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Proposal: reusable CTID ranges and CTID-derived MAC/IP defaultsCó thể đã có người làm Có pull request liên kết đang mở hoặc đã được merge. Đang mở
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 30/100
community-scripts/core#142 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của community-scripts/core
Issue tương tự
-
enhancement
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
Frogging-Family/linux-tkg#1265 ·
-
known-red S3: friction & debt
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
MedakaLang/medaka#4969 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
enhancement needs:sonnet ready-for-agent
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
Maintainer thường phản hồi trong vòng 1 ngày
-
area/tooling contribfest No AI type/cleanup type/feature
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
oracle/vagrant-projects#594 ·