Releases: humza-khalid/12vhpwr-guard
Release list
v1.1.2 - ROG Astral RTX 5080 OC White support
Adds the ROG Astral RTX 5080 OC White (subsystem id 1043:8A2B) to the supported cards, completing the White edition pair from issue #3. Thanks to @MrCodZilla for confirming the id straight from the card and @markvvelsen for the diagnosis trail; verified against OpenRGB's device registry as well.
Supported cards are now: RTX 5090 OC, 5090D OC, 5090 Matrix, 5090 LC, 5090 OC White, 5080 OC, and 5080 OC White.
Upgrading: git pull (or extract this release over your folder) and re-run install.bat as administrator. Or just replace astral_i2c.py and hwinfo_12vhpwr_guard.py and restart the task.
v1.1.1 - ROG Astral RTX 5090 OC White support
Adds the ROG Astral RTX 5090 OC White (subsystem id 1043:8A2E) to the supported cards. Thanks to @markvvelsen for the field report and complete diagnosis in #3, verified independently against OpenRGB's device registry.
Have an Astral variant that still shows the purple icon? Run nvidia-smi --query-gpu=name,pci.sub_device_id --format=csv and open an issue with the output. Adding a verified id is a one line change.
Upgrading: git pull (or extract this release over your folder) and re-run install.bat as administrator. Or just replace astral_i2c.py and hwinfo_12vhpwr_guard.py and restart the task.
v1.1.0 - Tiered response: limit the GPU first, shut down only if that fails
The guard's first response to an overcurrent pin is now a reversible GPU slowdown instead of a shutdown. It locks the graphics clock to the card's floor and drops the power limit to the card's minimum through NVML, then restores both exactly once the fault clears. Shutdown remains as the escalation if limiting does not bring the current down, and fires immediately at catastrophic levels.
Measured on hardware (Alan Wake 2, roughly 500 W, about 7 A on the busiest pin): clock at the floor 1 second after engage, worst pin under 2 A inside 4 seconds, settled at 0.86 A. On release the game went straight back to full clocks and the power limit returned to exactly its prior value.
What's new
- Severity tiers: 9.5 A / 15 s limits the GPU, then shuts down if the pin stays hot after a grace window; 13 A / 3 s responds without waiting the full window; 16 A on two consecutive samples shuts down immediately
- Response mode in the tray menu: Tiered (default) or Shutdown only, switchable at runtime. The tier timings apply in both modes, and Shutdown only never touches the NVIDIA management API
- Fully reversible: your exact power limit is captured and restored, so custom limits survive; a marker file restores the card on the next start even if the guard is killed while limiting
- Runs shutdown-only automatically when not elevated, and says so in the tray tooltip instead of silently weakening
- Crosscheck logging is now one hourly summary plus an immediate warning on real disagreement, instead of a line per minute
- Version shown at the top of the tray menu and in the startup log line
- The installer now stops a running guard before re-registering the task, so an in-place upgrade actually takes effect
Upgrading from v1.0.x
git pull (or extract this release over your existing folder), then re-run install.bat as administrator. Your config.ini, logs and venv are preserved. Details in the README's Upgrading section.
Credit
The tiered design came out of the r/nvidia launch thread, in particular u/tomz17's suggestion to drop the power limit through the management API as the first response.
Requires an ASUS ROG Astral 5080/5090 (the cards with per-pin sensors), Windows, Python 3.10+. All I2C access remains read-only.
v1.0.1
Bugfix release.
- Fixed: tray icon could stay gray after logon even though monitoring was active (tooltip showed the correct status). The icon image was only updated on status transitions, so an update lost while Explorer was still building the taskbar stuck forever. The icon now re-syncs every 10 seconds and self-heals.
No changes to monitoring, thresholds, or the sensor backends. Protection behavior is identical to v1.0.0.
v1.0.0
First public release.
12VHPWR Guard monitors per-pin 12VHPWR current on ASUS ROG Astral cards (RTX 5080/5090) and forces a safe system shutdown if any pin stays over 9.5 A for 15 seconds.
Highlights:
- Standalone: reads the card's own IT8915FN sensor chip directly over NVAPI. No HWiNFO required.
- HWiNFO Shared Memory supported as an automatic fallback backend (sensor_backend = auto|astral|hwinfo).
- Detects sensor loss (HWiNFO exit/crash/freeze, I2C failure) and auto-reconnects; never reports OK on stale data.
- Sustained-threshold engine with hysteresis, sleep/resume protection, single-instance guard.
- Tray icon UI, toast notifications, Event Viewer logging, rotating file logs.
- Installer registers a Task Scheduler watchdog with no execution time limit.
Validated on a ROG Astral RTX 5090 OC: direct readings agree with HWiNFO to within 0.02 A typical at idle and under gaming load. Runtime cost is about 1% of one core and ~35 MB RAM.
See the README for hardware compatibility (supported subsystem IDs), installation, and safety disclaimers.