The dashboard showed only one GPU
hyte-y70-panel-linux drives the screen built into the HYTE Y70 Touch case on Linux and shows system telemetry on it. The collectors could return several GPUs. The dashboard took the first entry and drew one widget. On a two-card machine, the second card’s utilization, temperature, and memory were invisible.
The patch draws a list of per-device views instead. Each view has its own name, utilization, temperature, VRAM figures, and graph. Power, clock, and fan readings stay in the view. Public implementation.
Identity has to survive reordering
Array position only says where a device sat in one snapshot. If graph state followed position, a reorder would hand one card’s history to another.
The collectors now return a UUID and an index for each device. The browser keys its views by UUID, with index plus name as the fallback. On each snapshot, the renderer reuses the matching view and moves its element to the requested position.
A device missing from a snapshot loses its view. A device that returns gets a new one. The fallback key changes when the index changes, so a reorder can still lose a view without a UUID.
Unsupported readings
The NVML collector isolates unsupported readings. One failed sensor call no longer discards every GPU’s data. If a device handle is lost, the collector skips that device and continues with the others.
Unknown power, clock, fan, and memory values show as unavailable. VRAM is reported per card.
The nvidia-smi fallback parses CSV with a CSV parser instead of splitting each line on commas. Legacy records without identity fields get fallback identities. Collector and renderer changes.
Regression coverage
| Scenario | Expected behavior |
|---|---|
| Two devices | Separate names, readings, and VRAM figures. |
| Devices reorder | Existing device views follow their identities. |
| One device disappears | Its view is removed without discarding the other. |
| A device returns | A new view is created. |
| A reading is unsupported | The value remains unavailable. |
| Only one GPU is present | The single-device case still works. |
The PR records 68 passing Python tests plus isolated Chromium regression checks. The browser fixture uses simulated RTX 5090 and T400 readings. Hardware validation is still pending.
Source and current state
HYTE panel PR #11 was open on September 15, 2026. Source and tests are there.