Issues / #2614

#2614 Windows + AMD: dashboard GPU tiles stay blank (telemetry is Linux-sysfs only) — fixed locally via ADL, incl. a PCIe link-speed pitfall

open · @bigbrid2023 · 0 comentarios · En GitHub

Server & APIAMD / HIPNVIDIA / CUDAModels & quantsWindowsLinux

Descripción

Follow-up to #2523, from the same Windows + RX 7900 XTX (gfx1100) machine (Strata 0.1.44.1, Windows 11 26H2, Adrenalin 26.8.1).

**Symptom:** on Windows with an AMD card, the dashboard's GPU load / VRAM / GPU temp / Power / PCIe tiles always show "—". The NVIDIA path works; AMD never does.

**Root cause:** `serve/telemetry.py`'s AMD reader only reads Linux amdgpu sysfs paths, so on Windows every `gpu_*` field comes back empty.

**What I run locally (fixed, in daily use):** a Windows AMD reader next to the sysfs one, built on the AMD Display Library (`atiadlxx.dll`):

- Utilization / temperature / board power / clocks via PMLog (`ADL2_New_QueryPMLogData_Get`, sensor IDs per the official ADL SDK enum)
- VRAM total via `ADL2_Adapter_MemoryInfo_Get`; VRAM used via `ADL2_Adapter_DedicatedVRAMUsage_Get` — note this is WDDM committed-dedicated memory: it pulses with requests (~0.1 GiB idle, ~21.3 GiB during generation on this 24 GB card; cross-checked against Windows PDH GPU counters)
- ADL context created once, ~1 Hz cache, every failure degrades to `None` so the telemetry endpoint never errors

**One pitfall worth its own paragraph — the PCIe link generation.** The PMLog link channels do *not* report the negotiated link speed on this driver. They read "Gen3" while the slot was BIOS-forced from Gen3 to Gen4 and both GPU-Z ("PCIe x16 4.0 @ x4 4.0") and the Windows device property confirmed Gen4 — at idle *and* at 93% generation load, the PMLog value never moved. I now read the generation from the Windows PnP property `DEVPKEY_PciDevice_CurrentLinkSpeed` (via cfgmgr32), filtering to the started instance (this machine also carries a disconnected phantom instance of the same card, left by a Windows feature update). Related trap: the DEVPKEY link-*width* properties are not the negotiated width either — they report the card's wiring (16 for the XTX sitting in an x4 slot; 8 for an RTX 5060 Ti) — so the width stays on PMLog, which agrees with the physical x4.

**No equivalent found:** PCIe RX/TX throughput — nothing in the full PMLog table exposes it, so that sub-line of the tile stays blank rather than showing a made-up number.

**Validation:** idle 0% / 39 °C / 6.0 W; during generation util 71→97%, power up to 299 W, VRAM used ~21.3 GiB; after the link-source correction the PCIe tile reads "Gen4 x4", matching GPU-Z.

Happy to turn this into a PR with the reader code if that's useful — just say the word.

En el sitio

Enlaces a install, modelos, releases.