diff --git a/Plugin/unraid/include/common.php b/Plugin/unraid/include/common.php index 495cc68..79676eb 100644 --- a/Plugin/unraid/include/common.php +++ b/Plugin/unraid/include/common.php @@ -176,11 +176,12 @@ function vv_docker_stopped(): array { // per GPU, so splitting the whole output on commas (as this once did) runs the rows together // and only ever describes GPU 0. function vv_gpu_stats_all(): array { - $out = shell_exec('nvidia-smi --query-gpu=index,uuid,name,memory.used,memory.total,utilization.gpu,temperature.gpu,power.draw,utilization.encoder,utilization.decoder --format=csv,noheader,nounits 2>/dev/null'); - if (!$out) return []; - + // No early return when nvidia-smi is absent: a box with no discrete card still has to reach + // the integrated-graphics check below. Returning here is what kept HOST2 reporting no GPU + // even after that check existed. + $out = shell_exec('nvidia-smi --query-gpu=index,uuid,name,memory.used,memory.total,utilization.gpu,temperature.gpu,power.draw,utilization.encoder,utilization.decoder --format=csv,noheader,nounits 2>/dev/null'); $gpus = []; - foreach (explode("\n", trim($out)) as $line) { + foreach (explode("\n", trim((string)$out)) as $line) { if (!$line) continue; $p = array_map('trim', explode(',', $line)); if (count($p) < 10) continue;