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 set -l secs 10
test (count $argv) -gt 0; and set secs $argv[1] test (count $argv) -gt 0; and set secs $argv[1]
# find, not a glob: an unmatched wildcard is an error in fish and would # find, not a glob: an unmatched wildcard is an error in fish and would
# abort the function before the emptiness check below. # abort the function before the emptiness check below. -L is required —
set -l cards (find /sys/class/drm -maxdepth 3 -name gpu_busy_percent 2>/dev/null | sort) # /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 if test (count $cards) -eq 0
echo "no gpu_busy_percent found (amdgpu/i915 only nvidia doesn't expose it)" echo "no gpu_busy_percent found (amdgpu/i915 only nvidia doesn't expose it)"
return 1 return 1