KafkaBoost About the app HomeGitHub
KafkaBoost icon: a CPU chip with a gauge whose needle rests in the green zone

Keep a gaming laptop under 100 °C

A guided, reversible ThrottleStop tuning for the Lenovo Legion 83DE (Intel Core i9-14900HX) — plus an app that applies it, keeps it running, and tells you when a Windows update has undone it.

Quick startSee the app

What this project does

It cuts the CPU's heat by lowering voltage (undervolt), capping boost clocks and limiting power, then makes sure that tuning is applied at every logon and stays applied. The result on the reference laptop, in CS2:

99–100 → 90 °C
peak CPU temperature
about 79 °C
average CPU temperature after the tuning, flat over a 19-minute session. The 91 °C before is the owner's own figure, not backed by a recorded log.
139 → 73 W
peak package power
0
thermal-throttle samples in a 19-minute session (was frequent)

Measured with HWiNFO shared memory, one sample every 2 seconds; the “before” figures are maxima from screenshots, not a controlled A/B test. FPS was not measured — the game felt as smooth as before. Details in RESULTS.md.

The undervolt is silicon-specific. This chip logged a corrected WHEA “Internal parity error” at −100 mV, so the values here are not a recipe for another CPU.

The problem it solves

Gaming laptops with a 14900HX are built to boost hard, then run out of cooling. The symptoms are familiar:

  • Stutter that grows with session length. The CPU reaches 100 °C, throttles, and frame times spike — in CS2 and in every other game.
  • The fix is scattered across forums. Undervolt values, boost-ratio bytes, power-limit encodings and hidden checkboxes are copied between threads, rarely explained, and often wrong for your chip. One of them (“Disable Controls”) silently blocked every power limit we set for hours.
  • It does not survive. ThrottleStop is not a service: close it, reboot without starting it, or take a Windows update, and the laptop quietly returns to stock heat. Windows updates can switch virtualization-based security back on, which locks the voltage controls altogether.
  • It is easy to go too far. Aggressive undervolts on 13th/14th-gen chips cause silent errors or long-term degradation. Without a baseline, backups and a way to check, you cannot tell.

How this project helps

Guided and reversible

A step-by-step wizard backs up your settings first, explains each change, and has a one-click rollback.

Always on

A logon task plus a 5-minute watchdog starts ThrottleStop and keeps it running — never a second copy.

“Dashboard” health check

Open the app after a Windows update: it compares the settings, the task, VBS and the Windows build with when you set it up, and a Fix it button re-applies only what drifted.

Lives in the tray

Close the window and the app keeps watching from the system tray. The icon colour is the verdict, it re-checks every 30 minutes and notifies you when something breaks, for example after a Windows update.

Safe by default

It refuses to run on a CPU other than the i9-14900HX, tests every claim against the real machine, and records what went wrong so you do not repeat it.

Quick start

Windows 11 on a Lenovo Legion 83DE with an i9-14900HX. Other systems are not supported yet.

  1. Get ThrottleStop. Download it (tested with 9.7.3) from TechPowerUp and leave the .zip in Downloads.
  2. Get this repo (clone or download the ZIP).
  3. Run the installer: double-click install.cmd (asks for administrator rights) or open the app with app\Launch-Wizard.cmd and follow the wizard.
  4. Choose about VBS. Answer yes to turn it off (needed for the undervolt; breaks WSL2/Docker until you restore it with scripts\maintenance\restore_vbs.ps1).
  5. Reboot. ThrottleStop now starts at every logon with the tuning applied.
  6. Check. Open the app: Dashboard should say “Your PC is optimized”. Run scripts\Create-Shortcut.ps1 for a desktop and Start Menu shortcut with the app icon.
install.cmd -DisableVBS                 # no prompt
install.cmd -InstallDir "D:\ThrottleStop" -SkipVBS
powershell -File scripts\Create-Shortcut.ps1
Not tested on a fresh Windows install yet. The installer was tested from a zip into a throwaway folder, and the pieces (merge, task, watchdog, health check) on the real machine.

App walkthrough

Screenshots come from the app's demo mode (sample data; nothing on the PC is touched) and are regenerated with tools\make-shots.ps1.

The side menu

Five sections: Dashboard (health check), System analysis, Optimizations (our ThrottleStop tuning is the first item, with more planned), Restore and Help. The names follow the flow of a typical optimizer (analyze, prepare, optimize, restore) and are easy to change.

System analysis screen listing the computer, processor, graphics, memory, Windows, power plan, VBS state, ThrottleStop and the startup task
System analysis. A read-only look at the PC and whether the tuning can be applied.
Optimizations screen with CPU thermal tuning marked Optimized and planned cards for power plan, background services, network latency and in-game settings
Optimizations. CPU thermal tuning is the ThrottleStop setup; its status chip shows Optimized, Needs a look or Not set up. The other cards are planned and disabled.

Dashboard — the health check

This is the home screen once the tuning is set up. Run it any time, for example after a Windows update.

Dashboard screen with a green check: Your PC is optimized, live temperature, clock and power, and a list of passed checks
Everything in place: settings, ThrottleStop running, startup task, VBS off, Windows build unchanged, boost cap active.
Dashboard screen in red after a Windows update: the settings drifted, VBS is back on, and a Fix it button is shown
After a Windows update: the build changed, the boost cap is no longer applied and VBS came back. Fix it re-applies only what drifted.
Dashboard screen green again after Fix it, with the fix log
Fixed. VBS is a security setting, so it is only turned off if you tick the box.

CPU thermal tuning wizard — step 0 to the last step

Wizard step 0: detect your hardware, supported Lenovo 83DE with i9-14900HX
Step 0 · Detect your hardware. Refuses to continue on any CPU other than the i9-14900HX.
Wizard step 1: back up current settings
Step 1 · Back up. A timestamped copy of ThrottleStop.ini.
Wizard step 2: get ThrottleStop from a zip
Step 2 · Get ThrottleStop. Uses the newest zip in Downloads or one you pick; opens the download page.
Wizard step 3: turn off VBS and hypervisor, with a checkbox
Step 3 · VBS / hypervisor. Your choice; the consequences are listed.
Wizard step 4: apply the tuning, listing undervolt, boost caps and power limits
Step 4 · Apply the tuning. Undervolt, boost caps, power limits.
Wizard step 5: always-on startup task
Step 5 · Always-on startup. Logon task plus watchdog; remembers the Windows build.
Wizard step 6: verify, all checks pass
Step 6 · Verify. Read-only final check.
Finish screen: all steps finished
Done. Reboot if VBS was changed, then open Dashboard.

Restore and Help

Restore screen explaining what Roll everything back does, with a checkbox to re-enable VBS
Restore. One click undoes the tuning; VBS is only re-enabled if you tick the box.
Help screen with short questions and answers and documentation links
Help. Short answers and links to the documentation.

What gets applied

Profile 0 of ThrottleStop, from config/ThrottleStop.settings.ini (17 keys):

SettingValueWhy
Core / P-cache undervolt−100 mV / −100 mVLess voltage, less heat at the same clock.
E-cache undervolt−90 mVSame, for the efficiency cores.
V/F point 1 (800 MHz)+100 mV“mV Boost”: keeps idle stable with an undervolt.
P-core turbo cap47x (4.7 GHz)The main heat lever; was 54x.
E-core turbo cap36x (3.6 GHz)Was 41x.
PL1 / PL265 W / 85 WLenovo's limits were 80/119 W (static 140/190 W).
IccMax (core)511.75 A (max)Stability, as recommended by the ThrottleStop author.

Every key, the voltage encoding and the community comparison are in CONFIGURATION.md.

Troubleshooting

The temperature is back to 100 °C

Open Dashboard. Typical causes: ThrottleStop is not running, a Windows update turned VBS back on or reset the settings. Fix it handles the first two; VBS needs your consent.

Power limits do not apply

In ThrottleStop's TPL window the Disable Controls box must be unchecked. HWiNFO's “PL1/PL2 (Static)” rows keep showing the stock values; look for the “Power Limit Exceeded” flags instead.

Windows “Internal parity error” (WHEA 19)

A corrected CPU error is a warning that the undervolt is too deep for this chip. Do not go deeper; if it returns, use −80/−80/−70 mV.

HWiNFO shows an error dialog

Never start the free HWiNFO64.exe with command-line arguments; set SensorsOnly=1 and SensorsSM=1 in HWiNFO64.INI instead.

WSL2 / Docker stopped working

That is the price of turning VBS off. Run scripts\maintenance\restore_vbs.ps1 and reboot (the undervolt stops working while VBS is on; the boost and power caps may still apply).

More, including the test protocol and stop conditions: TROUBLESHOOTING.md.

Roadmap

Ideas, not promises. None of this exists yet.

  • Presets with a recommendation score. Named tunings per CPU family (the current one is the “Default preset” for this laptop), each with requirements, risk and source. The app would score every preset against the detected CPU, cooling and a short baseline measurement, and recommend the best fit. Presets that were not validated on real hardware would be labelled as such.
  • Guided test session. The app starts a sensor logger while you play, then shows peak temperature, power, throttling and WHEA errors before vs after a change.
  • Windows installer package (npm run dist is configured, not built) and a fresh-Windows test.
  • Linux backend for power limits and boost caps. Undervolting is often locked on 13th/14th-gen chips; macOS has no equivalent.

Documentation

DocumentWhat is in it
README.mdOverview, quick start, limitations, repository layout.
AGENTS.mdCurrent state, rules and the repo map for anyone (human or AI) changing it.
getting-started.mdStep-by-step onboarding.
ARCHITECTURE.mdHow the app, the step runner and the PowerShell library fit together.
CONFIGURATION.mdThrottleStop.ini keys, the voltage encoding, community comparison.
TESTING.mdUnit tests, UI screenshots, the safe way to test a tuning change.
TROUBLESHOOTING.mdLessons learned, stop conditions, rollback.
RESULTS.mdMeasurements and the reference machine.