feat: experimental NVIDIA power control via RM ioctl interface #10

Merged
Pakobbix merged 1 commits from feat/rm-power-control into main 2026-09-17 20:48:47 +00:00
Collaborator

Experimental power-cap mode via the undocumented RM ioctl interface — sets power limits below the VBIOS minimum (down to 30 W). Based on panchovix (LACT PR #1205).

New hal/rm_power.py (ioctl read/write/reset + probe); power_cap_mode (nvml/ioctl) in limits/config/profiles; server validates ioctl support (409); frontend toggle + warning with attribution; tests + Makefile.

⚠️ Undocumented driver interface for ALL power limits incl. resets; may cause instability or break after driver updates. Enable at your own risk.

Note: also includes automated linter reformatting (prettier/ruff/shellcheck/isort/markdownlint) the linter would apply anyway — no functional changes.

Experimental power-cap mode via the undocumented RM ioctl interface — sets power limits below the VBIOS minimum (down to 30 W). Based on [panchovix](https://github.com/ilya-zlobintsev/LACT/pull/1205) (LACT PR #1205). New hal/rm_power.py (ioctl read/write/reset + probe); power_cap_mode (nvml/ioctl) in limits/config/profiles; server validates ioctl support (409); frontend toggle + warning with attribution; tests + Makefile. ⚠️ Undocumented driver interface for ALL power limits incl. resets; may cause instability or break after driver updates. Enable at your own risk. Note: also includes automated linter reformatting (prettier/ruff/shellcheck/isort/markdownlint) the linter would apply anyway — no functional changes.
ARIA added 1 commit 2026-09-17 20:44:46 +00:00
Adds an experimental power-cap mode using the undocumented RM ioctl
interface (based on panchovix's LACT PR #1205) to set power limits
below the VBIOS minimum (down to 30 W).

- hal/rm_power.py: RM ioctl power-cap read/write/reset + runtime probe
- limits.py: power_cap_mode (nvml/ioctl) with support detection
- config.py: persist power_cap_mode per GPU
- profiles: record/apply power_cap_mode
- server.py: POST /api/limits validates ioctl support (409 on failure)
- cli.py: profile save falls back to persisted mode
- client.py: power_cap_mode in Limits
- frontend: toggle + warning with panchovix attribution (LACT #1205)
- tests: test_rm_power.py (unit) + integration coverage
- Makefile: add test_rm_power.py to make test

Also includes automated linter reformatting (prettier, ruff, shellcheck,
isort, markdownlint) that the linter would apply anyway.
Collaborator

✅ No issues found — changes look consistent with the stated intent. Ready to be merged.

✅ No issues found — changes look consistent with the stated intent. Ready to be merged.
Pakobbix merged commit cc102f26c1 into main 2026-09-17 20:48:47 +00:00
Pakobbix deleted branch feat/rm-power-control 2026-09-17 20:48:47 +00:00
Sign in to join this conversation.