From 9f26e20b28d812e8aca38779eb38592cbc73d339 Mon Sep 17 00:00:00 2001 From: Andreas Trawoeger Date: Fri, 16 Oct 2026 01:43:19 +0200 Subject: [PATCH] =?UTF-8?q?fix(nvidia):=20the=20driver-lib=20check=20could?= =?UTF-8?q?=20never=20pass=20=E2=80=94=20ls=20exits=202,=20and=20the=20che?= =?UTF-8?q?ck=20demands=20exit=200?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The check asserts a per-distro OR of candidate paths: ls -d /usr/lib64/nvidia /usr/lib/nvidia /usr/lib64/libnvidia* /usr/lib/libnvidia* 2>/dev/null with `exit_status: 0` and `stdout: contains "nvidia"`. `ls` exits 2 if ANY argument does not exist, and several never do on either distro — so the check failed on the EXIT STATUS while its stdout assertion was satisfied. It has never passed, on any image: $ podman run --rm ghcr.io/opencharly/nvidia:check-ollama-pod-2026.288.2343 \ sh -c "ls -d /usr/lib64/nvidia /usr/lib/nvidia /usr/lib64/libnvidia* /usr/lib/libnvidia* 2>/dev/null" /usr/lib64/libnvidia-container-go.so.1 ... exit=2 Second and independent defect in the same check: the candidate list was written for Arch only. On Fedora the driver arrives as a VA-API driver, measured against the repo the candy configures: $ rpm -ql libva-nvidia-driver /usr/lib64/dri/nvidia_drv_video.so /usr/lib/dri/nvidia_drv_video.so which none of the existing globs intersect. Both are fixed here: the Fedora VA-API paths are added, and the command can no longer fail on absent candidates (`|| true`) — the stdout assertion is the signal, the exit status is not. The title names both per-distro subjects instead of a single "driver lib directory" only one of them has. Assisted-by: DeepSeek Harness deepseek-v4.1-flash (analysed on a live system) --- charly.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/charly.yml b/charly.yml index d813846..e73785c 100644 --- a/charly.yml +++ b/charly.yml @@ -108,11 +108,11 @@ nvidia: file: /etc/vulkan/icd.d exists: true filetype: directory - - check: the GPU driver lib directory (RPM /usr/lib64 or Arch /usr/lib layout) exists in the guest + - check: the nvidia userspace for THIS distro is present, either the Arch driver libs from nvidia-utils or the Fedora VA-API driver from libva-nvidia-driver exit_status: 0 stdout: - contains: nvidia - command: ls -d /usr/lib64/nvidia /usr/lib/nvidia /usr/lib64/libnvidia* /usr/lib/libnvidia* 2>/dev/null + command: ls -d /usr/lib64/nvidia /usr/lib/nvidia /usr/lib64/libnvidia* /usr/lib/libnvidia* /usr/lib64/dri/nvidia_drv_video.so /usr/lib/dri/nvidia_drv_video.so 2>/dev/null || true nvidia-skill: skill: