shell: gpumean must follow symlinks to find cards

This commit is contained in:
rope 2026-08-20 20:07:09 +01:00
parent a799be3ae2
commit fffd6bf5b8

View file

@ -162,8 +162,10 @@ in
set -l secs 10
test (count $argv) -gt 0; and set secs $argv[1]
# find, not a glob: an unmatched wildcard is an error in fish and would
# abort the function before the emptiness check below.
set -l cards (find /sys/class/drm -maxdepth 3 -name gpu_busy_percent 2>/dev/null | sort)
# abort the function before the emptiness check below. -L is required —
# /sys/class/drm/cardN is a symlink, so a plain find never descends into
# it and silently reports no GPUs at all.
set -l cards (find -L /sys/class/drm -maxdepth 3 -name gpu_busy_percent 2>/dev/null | sort)
if test (count $cards) -eq 0
echo "no gpu_busy_percent found (amdgpu/i915 only nvidia doesn't expose it)"
return 1