- C# 83.1%
- PowerShell 16.9%
| .github/workflows | ||
| docs | ||
| src/ThinkPadHelper | ||
| tools | ||
| .gitignore | ||
| AGENTS.md | ||
| LICENSE | ||
| README.md | ||
ThinkPad Helper - Lightweight control tool for Lenovo ThinkPads
Small and lightweight Lenovo Vantage alternative for ThinkPads, offering the controls you actually use with a much smaller footprint. A single exe that doesn't install anything on your system and doesn't ship any kernel drivers. Built and verified on a ThinkPad P1 Gen 2 - X1 Extreme Gen 2 and other models using the same power management driver are expected to work, feedback welcome.
💾 Download
Linux build - fully self-contained single files, no runtime prerequisites. Optional camera-based ambient light downloads separately from within the app (~34 MB).
â If you like the app - please spread the word about it online
🎁 Advantages
- Just one exe to run. Doesn't install anything in your system, runs no services, ships no drivers.
- Battery charge limit that lives in the embedded controller - survives reboots even with the app closed.
- Performance modes switchable right from the tray menu.
- Keyboard backlight automation plus optional camera-based ambient display brightness.
- Simple and clean native UI that follows your Windows light/dark theme.
- Small: ~45 MB self-contained, and the camera feature stays out until you ask for it.
- Fully open source (MIT).
⚡ Features
- Performance modes: Quiet - Balanced - Performance (Windows power plans, Linux platform_profile)
- Battery charge threshold: set start % and stop %, applied instantly and kept by firmware
- Battery vitals: live wattage, voltage, remaining charge in Wh, design vs full capacity, health % and cycle count - the numbers Vantage shows, without Vantage
- Keyboard backlight: lights up on any input, goes dark after idle timeout, never fights your Fn+Space
- Ambient display brightness: camera samples room light on an interval (optional ~34 MB add-on, downloaded from within the app only if you enable it)
- Display brightness control
- GPU monitor: model, power limit and temperature via nvidia-smi
- Theme: follows OS light/dark live, with manual override
- Tray-friendly: start minimized, close to tray, launch at startup, update checks
Fan curves are not here yet: these machines have no user-mode fan interface, and shipping a kernel driver just for that is its own project. The investigation notes live in docs/FINDINGS.md.
Note
🔖 Important Notice
ThinkPad Helper is NOT an operating system, firmware, or driver. It DOES NOT "run" your hardware in real-time anyhow.
It's an app that sets values that already exist on your device - charge thresholds, backlight levels, brightness, performance mode - through the same interfaces Lenovo's own software uses: the
IBMPmDrvdriver that arrives with Lenovo Vantage's power management component, BIOS-exposed WMI methods, and standard OS APIs. Nothing here invents new hardware states.If you use equivalent settings as in Lenovo Vantage - the behavior of your device won't be different.
The role of ThinkPad Helper for your laptop is similar to the role of a remote control for your TV.
Building
dotnet publish src/ThinkPadHelper/ThinkPadHelper.csproj -c Release -r win-x64 `
--self-contained true -p:PublishSingleFile=true -p:IncludeNativeLibrariesForSelfExtract=true `
-o publish
Any recent .NET SDK works (scoop install dotnet-sdk). Tags starting with v produce release binaries automatically via GitHub Actions.
The reverse-engineered hardware protocol notes (including which interfaces provably don't exist) are documented in docs/FINDINGS.md; read-only diagnostic probes used during discovery live in tools/.
Acknowledgements
- pspatel321/auto-backlight-for-thinkpad - the IBMPmDrv keyboard-backlight groundwork this project grew from
- wesmar/lbm - independent documentation of the charge-threshold driver protocol
- TPFanControl community - decades of ThinkPad EC knowledge