Fan control for the Legion 5 15IAX10: debug.legioncpu.fan (auto, full, custom curve, low) and
debug.legioncpu.fancurve, through Lenovo's WMI methods, switching to Custom power mode where the EC needs it.
No power-mode change in the first two minutes after boot (it disturbed the NVIDIA display bring-up).
LegionFan menu bar app and boot-time LaunchDaemon (legionfan/).
Heat guard steps down instead of dropping to the firmware's 30 W: measured package power minus 10 W after each minute
at 100 C or more, floor 45 W, back up 5 W per 30 s below 90 C. debug.legioncpu.guard=0 turns it off.
Package power in watts in debug.legioncpu.status.
0.2.0 (2026-10-19)
Both fixes on at boot. Boot-args -legioncpunohwp and -legioncpunopl turn one off.
Heat guard steps back up: after 30 s at 100 C or more the firmware's power limit returns until the package has been
below 85 C for a minute, then the raised limit applies again.
0.1.0 (2026-10-19)
First version: per-core HWP requests (debug.legioncpu.hwp) and the MCHBAR power limit copied from MSR 0x610
(debug.legioncpu.pl), both switched at runtime and off at boot.
LegionCpuProbe 1.1 (read-only MSR and MCHBAR probe) and tools/cpuload.py for measuring.