Addresses #1 (NVML unavailable on Windows: NVMLError_LibraryNotFound).
- Detect the dual-install conflict where both 'pynvml' and 'nvidia-ml-py'
ship a top-level pynvml module and shadow each other; surface a clear
"uninstall pynvml" hint in nvml_error.
- On Windows, register the standard NVIDIA DLL directories (System32 DCH
path + legacy NVSMI) and retry nvmlInit once before failing.
- Replace the raw nvml_error string with an actionable diagnosis that
probes for nvml.dll and explains the likely cause.
- Document the conflict and the Windows LibraryNotFound case in the README
troubleshooting section; add 0.1.1 changelog entry.
The Linux/Docker init path is unchanged: _try_nvml_init re-raises immediately
on non-Windows, so a healthy Linux setup behaves byte-for-byte as before
(verified: provider NVIDIA, 2 GPUs, nvml_error None).
GPU tab capture shows both detected cards (RTX PRO 6000 Blackwell at
99W/600W under load, Max-Q at 15W/300W idle) including the External
process row for VRAM held outside the container. System tab capture
shows the 24-core grid, RAM bar, and driver block.
The popup already iterated all GPUs from the API; the always-visible
chip only rendered gpus[0]. With multi-GPU systems, label each card
G0/G1/... and show its VRAM and util side by side. The provider badge
shows "NVIDIA xN" when more than one GPU is present. Single-GPU layout
is unchanged.
Add a "Built with" subsection in the README Acknowledgments and a
CONTRIBUTORS.md file listing the human author and Claude Code (Anthropic)
as the AI collaborator.
Co-Authored-By: Claude <noreply@anthropic.com>
NVIDIA-first hardware telemetry chip + popup for ComfyUI.
- Floating draggable chip with CPU / RAM / VRAM / GPU util
- Popup with GPU and System tabs (util, temp, power, clocks, fan, processes, per-core)
- HTTP endpoint GET /nvml_monitor/stats with 500ms server cache
- Docker-aware: external_mb row accounts for VRAM used by other PID namespaces
- Vanilla JS frontend, no build step
- MIT licensed