/// FIELD NOTES FROM A SELF-AWARE GAME SITE
Undervolt Your CPU 2026: -125mV in 12 Steps, 45 Min
There is a specific noise a gaming laptop makes in the half-second before it gives up. The fans hit a pitch they were never tuned for, the keyboard goes warm under your palms, and the frame counter — which a moment ago read a confident 140 — sags to something insulting. You did not buy the machine for that number. You bought it for the one on the box. Heat decided you were not allowed to have it.
Undervolting is the closest thing this hobby has to a free lunch, and unlike most free lunches it does not come with a survey. You reduce the voltage your CPU demands at a given frequency. The chip performs exactly the same work using less energy, and the waste heat it could never quite dump simply does not get created. Nothing is sacrificed. On a thermally strangled machine you usually come out ahead, because the chip stops slamming into its temperature ceiling and holds its boost clocks for longer. The idea was documented in mainstream PC guides around 2010 and has been refined for mobile silicon every year since.
This is a tutorial, not a sponsorship. There is no product at the end and no discount code. There is voltage, there is heat, there are stress tests, and there is the Blue Screen of Death — which you will meet at least once if you are doing this properly, because finding the floor means stepping off it. We will cover four routes: Intel on Windows with ThrottleStop, AMD on the AM5 desktop platform with the Curve Optimizer, AMD Ryzen laptops through the Custom Core P-states menu, and the whole apparatus on Linux with intel-undervolt and amdctl. Twelve steps, roughly 45 minutes of hands-on work, and one stress test you should start and then go make dinner.
Why Undervolting Is Free Performance
The voltage-frequency-heat triangle
The dynamic power a CPU burns follows a famously unsentimental equation: power scales with capacitance times voltage squared times frequency. The term that matters is the square on voltage. Trim voltage by ten percent and dynamic power does not fall by ten percent — it falls by closer to nineteen, because you are squaring a smaller number. This is why undervolting is not a marginal tweak. It is the single highest-leverage thermal change you can make without taking the cooler off, and it costs nothing but an afternoon and a little nerve.
The slack exists because the voltage your chip ships with — its stock VID, the value baked into the firmware — was never chosen for your particular chip. It was chosen for the worst acceptable die off that production line, running in the worst tolerable conditions, at the end of its rated life. Intel and AMD bin for yield and warranty, not for your sample on your specific Tuesday afternoon. Your processor is almost certainly better than that worst case, which means it is being fed more voltage than it actually needs to stay stable. Undervolting reclaims the margin the manufacturer left on the table as insurance, and hands it back to you as lower temperatures and quieter fans.
What undervolting does not do
It does not overclock. It does not raise your maximum frequency or unlock a higher boost bin; the clock ceiling is whatever it was before you started. It also does not, in any normal sense, damage your processor. Electromigration and dielectric breakdown are driven by excess voltage and heat — overvolting is the direction that kills silicon over time. Lowering voltage is the safe direction, the conservative direction, the one that extends a chip's life rather than shortening it.
The worst realistic outcome is instability: a freeze, a spontaneous reboot, a blue screen. All of it evaporates on the next restart, and a cleared CMOS or a deleted config file returns you to stock as if nothing happened. The risk profile here is closer to the discipline of learning to overclock a GPU safely run in reverse — you are walking toward an edge you can always step back from, with no permanent consequence for stepping over it.
Who should bother, and who should not
Gaming laptops gain the most, full stop. They are thermally constrained by design and spend their lives throttling, so handing the cooler less heat to fight translates almost directly into sustained clocks — the difference is visible in any modern thin-and-light, including the chassis we picked apart in our 2026 gaming laptop teardown. Fanless mini-PCs and emulation boxes gain quiet: a fanless RetroArch box running every core that no longer cooks itself can hold its clocks through a long Saturn session without thermal stutter.
AM5 desktops gain efficiency and longer boost residency. And if you own a tower with an oversized air cooler that never thermal-throttles to begin with, your gains are smaller and mostly show up as a quieter room and a slightly lower power bill — still worth 45 minutes, but manage your expectations. The chip that was already running at 65°C under load is not going to transform; the laptop that was hitting 99°C and throttling absolutely will.
Prerequisites: Hardware, Software, Versions
Supported hardware
Not every chip cooperates, and the ones that do cooperate to wildly different degrees. The headline split is age and platform. Modern mobile Intel parts — 10th Generation Core and newer — are efficient enough to swallow large offsets, frequently in the range of -80mV to -125mV as a conservative band, with the better samples tolerating up to -165mV. The ancient 3rd and 4th Generation Core chips that still soldier on in old ThinkPads tolerate barely a tenth of that, around -40mV to -50mV, before they fall over. That gap is not a measurement error; it is fifteen years of process improvement.
On the AMD side, the AM5 desktop platform — Ryzen 7000 and 9000, including parts like the Ryzen 9 9900X3D and the Ryzen 7 9700X — tunes through the BIOS Curve Optimizer, while Ryzen mobile chips such as the Ryzen 5 7640HS and Ryzen 7 7840HS expose a Custom Core P-states menu on laptops whose vendors did not lock the firmware shut.
| Platform | Tool | Version | Typical safe offset |
|---|---|---|---|
| Intel mobile, 10th Gen+ (Windows) | ThrottleStop | 9.7.0 | -80mV to -125mV (up to -165mV) |
| Intel 3rd/4th Gen (Windows) | ThrottleStop | 9.7.0 | -40mV to -50mV |
| Intel Haswell+ (Linux) | intel-undervolt | 0.10.2 | -100mV core/cache to start |
| AMD AM5 desktop | BIOS Curve Optimizer | — | Negative 15–25 (~100–150mV) |
| AMD Ryzen laptop | BIOS Custom Core P-states | — | P0 −10 (up to −20) |
| AMD K10+ (Linux) | amdctl | 2.1.0 | One VID step at a time |
Software and versions
Match the tool to the platform; do not improvise. On Windows the instrument is ThrottleStop, version 9.7.0, released in early 2025, which exposes voltage control through its FIVR window. On Linux the Intel route is intel-undervolt, version 0.10.2, updated in 2025, which writes the MSR and MCHBAR registers directly; the AMD route is amdctl, version 2.1.0, updated in 2026, covering K10 and newer cores. AMD desktop and most AMD laptops are tuned in firmware, so the only software you strictly need on those is your motherboard or laptop BIOS — though you will still want a monitoring tool such as HWiNFO running in the OS afterward to confirm the change took.
Whatever you choose, install one tool and only one. Two voltage utilities running at once will fight over the same hardware registers and produce readings that are worse than useless, because they look perfectly plausible while being wrong.
What to back up and know first
Write down three numbers before you touch anything: your idle package temperature, your full-load package temperature, and your sustained all-core clock under load. Without a baseline you cannot tell whether the undervolt did anything, and you will spend an afternoon chasing a feeling instead of a measurement. Run a five-minute load, screenshot your monitoring tool, and keep it.
Know how to clear your CMOS — the jumper or the button on your motherboard, or pulling the coin-cell battery on a laptop — because a desktop that will not POST after a too-deep Curve Optimizer setting is fixed in thirty seconds if you know where that jumper is and in two anxious hours if you do not. And accept the warranty reality up front: undervolting through a vendor-sanctioned BIOS menu is one thing, but manufacturers have historically taken a dim view of voltage tinkering, and the law here is whatever your warranty document actually says, not what a forum post claims it says.
The 12-Step Method for Any CPU
The tools differ by platform but the method does not. Whether you are dragging a slider in ThrottleStop, typing a magnitude into a BIOS, or editing a config file in a terminal, you are doing the same twelve things in the same order. Read these once; the platform sections that follow are just the specific buttons.
The procedure, in order
- Identify your exact CPU and platform. The safe offset for a 4th-generation Intel chip would not even register on a Ryzen 9000, and each platform uses a different tool. Open your system information, write down the precise model, and pick your route before you download anything.
- Record a baseline. Note idle temperature, full-load package temperature, and sustained all-core clock under a short load. Without these three numbers you cannot prove the undervolt did anything, and proof is the entire point of the exercise.
- Install exactly one tool. ThrottleStop, intel-undervolt, amdctl, or just your BIOS — never two at once. Two voltage tools running together fight over the same registers and hand you readings that are worse than useless because they look plausible.
- Choose offset, not fixed voltage. You want a negative offset applied across the whole voltage-frequency curve, which preserves the chip's ability to drop to low idle voltages. A fixed voltage pins the chip high and throws away half the efficiency you came for.
- Apply a conservative first offset. Start at -100mV on Intel core and cache — the proven Dell XPS 15 9560 starting point — or Curve Optimizer Negative 15 on AM5. Beginning somewhere almost certainly stable makes your first test a sanity check rather than a coin toss.
- Save the setting immediately. In ThrottleStop, click OK – Save voltages immediately; on Linux, write the config to disk before testing. If the next test locks the machine before you save, you lose the value and start the search over from scratch.
- Run a short stability check. Five to ten minutes of stress is enough to throw out an obviously-too-aggressive setting cheaply, before you spend half an hour validating something that was never going to hold anyway.
- Step the offset down incrementally. Drop by -10mV on Intel, or two Curve Optimizer points on AMD, per iteration. Large jumps sail straight past the sweet spot and convert a controlled search into a crash lottery.
- Re-test at every single step. Each step deeper is a brand-new stability question. A clean run at -120mV vouches for -120mV and nothing else; -130mV has to earn its own pass on its own merits.
- Find the crash point, then retreat. When the machine finally crashes, freezes, or logs errors, back off by one or two steps to a value with breathing room. The exact edge is not somewhere you can live; ambient heat, dust, and time all move it against you.
- Run the full 30-minute stress test. At the backed-off value, run a real mix — Prime95, Cinebench, a 3DMark loop — for at least thirty minutes. Short tests miss heat-soak and slow-accumulating errors; thirty minutes is the floor, not the goal.
- Make it persistent. A Task Scheduler entry on Windows, a saved BIOS profile on AMD, or a systemd service on Linux. An undervolt that disappears on reboot is a parlor trick, not a configuration you can rely on.
Why the sequence is non-negotiable
The order is not arbitrary. Baseline before anything else, because a tune you cannot measure is a tune you cannot trust. Save before you test, because the test is the thing most likely to crash and erase an unsaved value. Step incrementally, because the difference between a rock-stable -115mV and a hard-locking -135mV can be two steps, and you cannot bisect a range you skipped over. And retreat from the edge rather than camping on it, because the value that survived a cool bench on a Tuesday will fail in August with a dusty heatsink. Every step that feels like it could be skipped is the step that, skipped, costs you the afternoon.
Time budget: where the 45 minutes goes
Installing the tool and reading a baseline is about five minutes. The first offset and save is another five. The incremental stepping and short checks — the actual hunt for the sweet spot — eats fifteen to twenty minutes of attention. The final 30-minute validation run is passive; you are not at the keyboard for it, which is why the headline number is 45 minutes of work rather than 75 minutes of clock time. Persistence setup is the last five minutes, and it is the five minutes everyone forgets until their tune vanishes on the next reboot.
Intel on Windows: ThrottleStop 9.7.0
The FIVR window and Offset Voltage
ThrottleStop is free, portable, and slightly intimidating, which is precisely the correct amount of intimidating for a tool that edits CPU voltage in real time. Download it, unzip it somewhere permanent — not your Downloads folder, because it has to live there forever and run from that path at every boot — and launch it. The control you want is the FIVR button, which opens the Turbo FIVR Control window. Select CPU Core, tick Unlock Adjustable Voltage, set Adjustable Voltage to Offset, and dial in a negative Offset Voltage. The UltrabookReview ThrottleStop guide is the canonical reference if a control is not where this paragraph says it should be.
Core, Cache, and iGPU — move them together
On most Intel chips the Core and Cache share a single voltage plane, which means an offset on one that is not matched on the other is quietly ignored or, worse, produces instability that looks random. Set CPU Core and CPU Cache to the same value. The reference recipe from the Dell XPS 15 9560 community — a -100mV offset on Core, Cache, and the integrated GPU — is a sane starting point for any modern mobile Intel part, after which you step down by -10mV to hunt the sweet spot. The iGPU can sometimes take less than the core; if you see display corruption, pull the iGPU offset back while leaving Core and Cache where they are.
; ThrottleStop 9.7.0 — saved FIVR offsets (XPS 15 9560 starting profile)
; Set these in the FIVR window, do NOT hand-edit. Apply, then click
; "OK - Save voltages immediately" so a crash cannot lose them.
CPU Core Offset .......... -100 mV
CPU Cache Offset ......... -100 mV (must match Core)
Intel GPU Offset ......... -100 mV (back off first if you see artifacts)
System Agent Offset ...... 0 mV (leave at stock until everything else is dialed)
Turbo FIVR Control ....... enabledSave voltages immediately, then survive a reboot
This is the rule that separates a saved tune from a lost afternoon: after you apply an offset, click OK – Save voltages immediately. ThrottleStop writes the voltages to the chip then and there, so that if the very next stress test hard-locks the machine, your setting is still on disk when you come back to it. The 2026 ThrottleStop guidance treats this as non-negotiable, and so should you. Skipping it is the single most common way people lose a stable value they had already found.
ThrottleStop does not install itself as a service, so on its own it forgets everything at reboot. Make it persistent with a Task Scheduler entry that launches the executable at logon with the highest privileges:
:: Run ThrottleStop at logon with admin rights so the offset survives reboots
schtasks /create /tn ThrottleStop /tr C:\ThrottleStop\ThrottleStop.exe /sc onlogon /rl highest /f
:: Confirm the task was created
schtasks /query /tn ThrottleStopOr build it in the GUI: Create Task, an At log on trigger, Run with highest privileges ticked, and the action pointed at your permanent ThrottleStop.exe path. The highest-privileges flag matters — without it the task launches but the FIVR write silently fails for lack of permission.
When the offset does nothing: Plundervolt
If your temperatures do not move a single degree no matter how deep you go, you have probably met Plundervolt. CVE-2019-11157 was a 2019 attack that abused the undervolting interface to fault Intel's secure enclave, and Intel's response was a microcode and firmware mitigation that, on a great many 10th-generation-and-later laptops, simply disables the voltage offset that ThrottleStop is trying to set. The slider moves; the silicon does not listen. There is no software trick around it — your options are an older BIOS that predates the mitigation, which is rarely worth the risk, or accepting that this particular machine is locked and tuning power limits instead. ArchWiki's note that some systems show no effect at all is, more often than not, exactly this.
AMD AM5 Desktop: the Curve Optimizer
Negative offset and the -15 to -25 window
AMD does not want you typing raw voltages on Zen, and frankly that is the right call — the modern boost algorithm is a closed loop that adjusts voltage and frequency thousands of times a second, and a single fixed voltage would fight it the whole way. Instead you shift the entire voltage-frequency curve downward with the Curve Optimizer, found in your BIOS under Precision Boost Overdrive. Set it to Negative and give it a magnitude. For an all-core start, 15 is conservative and 20 is the common sweet spot; values of 25 and up start separating the good chips from the great ones.
A Curve Optimizer setting of -15 to -25 points lowers effective voltage by roughly 100mV to 150mV, which on a Ryzen 9 9900X3D or a Ryzen 7 9700X is enough to drop a meaningful amount of heat and let Precision Boost hold higher clocks for longer. The X3D parts in particular run hot and benefit handsomely, since the stacked cache limits how much voltage they can take before thermals cap the boost.
# AM5 BIOS — Precision Boost Overdrive (ASUS/MSI/Gigabyte wording varies)
PBO ......................... Advanced
PBO Limits .................. Motherboard
Curve Optimizer ............. All Core
Sign ...................... Negative
Magnitude ................. 20 (start at 15, sweet spot ~20)
Memory Profile (EXPO) ....... DDR5-6000
Infinity Fabric (FCLK) ...... coupled 1:1 to memoryFCLK and memory, tuned alongside
The Curve Optimizer is only half of the AM5 tuning story; the memory subsystem is the other half, and the two are worth doing in the same sitting. The 2026 AM5 tuning guides pair a negative curve with the Infinity Fabric clock — FCLK — set in step with your memory, the standard target being DDR5-6000 with the fabric coupled 1:1. Get the curve and the fabric right together and the FPS gains compound: cooler cores hold boost longer, and a fast, coupled fabric feeds them without stalling. The widely-circulated 2026 AM5 undervolting walkthrough is worth watching before you commit a profile, if only to see what a failed POST looks like so you do not panic when you cause one.
PBO limits and the all-core versus per-core choice
All-core Curve Optimizer applies one magnitude to every core, which is simple, stable, and where everyone should start. Per-core lets you push your weakest cores gently and your strongest cores hard, squeezing out the last few millivolts — but it multiplies your testing time by your core count and is strictly an endgame move for people who enjoy the process. Leave PBO's power and current limits on Motherboard or stock for your first stable curve; raising limits and undervolting at the same time means that when something breaks you will not know which change broke it. Tune one variable at a time, the same discipline that keeps a methodical 14-step GPU overclock from collapsing into superstition and guesswork.
AMD Ryzen Laptops: Custom Core P-States
Reading the stock VID first
AMD Ryzen laptops — the Ryzen 5 7640HS, the Ryzen 7 7840HS, and their relatives — frequently hide voltage control in a Custom Core P-states menu, on the vendors generous enough to leave it unlocked rather than welding the firmware shut. Before you change anything, read the stock VID for your top P-state, P0. That value is your reference point; every reduction is measured against it, and knowing it tells you immediately whether a given offset is timid or reckless. A monitoring utility in Windows, or the kernel's reporting on Linux, will show you the voltage your top state currently requests under load.
Setting P0 to -10, or -20 for lucky silicon
In the Custom Core P-states menu, the practical move is to take P0 down by 10 — a step that reliably drops voltage below the stock VID without much drama. Genuinely good samples will hold -20, but that is the territory of the silicon lottery rather than a default you should assume. Change P0 first and only; the lower P-states draw so little power that undervolting them buys almost nothing while adding risk and test surface. Save, boot, and validate exactly as the 12-step method describes — there are no shortcuts that the laptop will reward.
Why laptops are touchier than desktops
Mobile parts are less forgiving than their desktop cousins for several unglamorous reasons. The voltage regulation on a laptop motherboard is smaller and electrically noisier than a desktop board's, which leaves less clean headroom for the chip to work with. The thermal mass is tiny, so a marginal voltage that survives a cool bench will fail when the chassis heat-soaks during hour two of a session. And vendor firmware sometimes resets or partially ignores your changes after a BIOS update, so re-verify your settings after every firmware bump. Treat a laptop undervolt as more conservative than the desktop numbers suggest, and lean toward leaving an extra step of margin in hand.
Linux: intel-undervolt and amdctl
intel-undervolt 0.10.2: the config and the registers
On Linux the Intel route is intel-undervolt, which talks straight to the MSR and MCHBAR registers — the same hardware interfaces ThrottleStop drives on Windows, minus the GUI and the hand-holding. Install it from your distribution or build it from the intel-undervolt GitHub repository, load the msr kernel module, and edit /etc/intel-undervolt.conf. The config addresses five voltage planes by index; the one the documentation and every guide reach for first is plane 2, the CPU Cache, exactly as in the project's own example.
# /etc/intel-undervolt.conf — intel-undervolt 0.10.2
# Plane indices: 0 CPU, 1 GPU, 2 CPU Cache, 3 System Agent, 4 Analog I/O
enable yes
undervolt 0 'CPU' -100
undervolt 1 'GPU' -50
undervolt 2 'CPU Cache' -100
undervolt 3 'System Agent' 0
undervolt 4 'Analog I/O' 0
# Optional package power cap in watts: power package 45 35
interval 5000Apply it and read it back. The read command reports the offsets currently programmed into the silicon, which is your expected-output sanity check — if read shows zeros after an apply, something (frequently the Plundervolt mitigation again) is eating your write before it lands:
$ sudo modprobe msr
$ sudo intel-undervolt apply
Applying values...
CPU: -100.59 mV
GPU: -49.80 mV
CPU Cache: -100.59 mV
System Agent: 0.00 mV
Analog I/O: 0.00 mV
$ sudo intel-undervolt read
CPU: -100.59 mV
GPU: -49.80 mV
CPU Cache: -100.59 mV
System Agent: 0.00 mV
Analog I/O: 0.00 mV
# If 'read' reports 0.00 mV right after 'apply', the offset is being
# ignored (locked firmware / Plundervolt mitigation), not applied.amdctl 2.1.0: Ryzen by VID
For AMD on Linux the counterpart is amdctl, covering K10 and newer cores and updated to 2.1.0 in 2026. It reads and writes P-state VIDs through the MSRs directly, with no curve abstraction — you are setting voltage IDs by hand. Read your current P-states, note the CpuVid for P0, and write a lower voltage one VID step at a time, testing between each. Be aware that on AMD's encoding a higher VID index means a lower voltage, which catches everyone exactly once.
$ sudo modprobe msr
$ sudo amdctl -P # print current P-states
Core 0
P0 ... CpuFid 25 CpuDid 1 CpuVid 28 ~1.1000 V
P1 ... CpuVid 40 ~0.9000 V
# Lower P0 voltage by ONE VID step (higher index = lower volts on AMD)
$ sudo amdctl -m -p0 -v32
$ sudo amdctl -P | grep P0 # confirm the new VID, then stress testThe project's GitHub documents the exact register math; for the newest Zen parts many people still find the BIOS Curve Optimizer the more practical instrument, with amdctl at its best on the K10-through-early-Zen range it was originally built around. Use the tool that actually moves your voltage, not the one that is theoretically prettier.
Making it persist with systemd
A reboot wipes a runtime undervolt on Linux exactly as it does on Windows, so the offset has to be reapplied at every boot. intel-undervolt ships a systemd unit for precisely this; enable it once and the kernel reapplies your config before you have even logged in. The ArchWiki Undervolting CPU page is the authority for the distribution-specific wrinkles, and its guidance — that decreasing CPU and Cache by 100 to 200 mV is usually stable, while anything past 200 mV either crashes or has no effect — is the hard limit to keep in mind before you get ambitious.
# intel-undervolt ships its own unit — enable it so the kernel
# reapplies /etc/intel-undervolt.conf on every boot:
$ sudo systemctl enable --now intel-undervolt.service
$ systemctl status intel-undervolt.service
# Equivalent hand-written unit, if you ever need one:
# /etc/systemd/system/undervolt.service
[Unit]
Description=CPU undervolt
After=multi-user.target
[Service]
Type=oneshot
ExecStart=/usr/bin/intel-undervolt apply
[Install]
WantedBy=multi-user.targetStability Testing: 30 Minutes, Not Three
The test stack
An undervolt is a hypothesis — this chip is stable at this voltage — and a stress test is the experiment that tries to falsify it. Use more than one test, because each one stresses a different thing. Prime95 with small FFTs is the brutal, heat-and-arithmetic torture test that finds compute instability fastest; download it from the Mersenne project that maintains it. Cinebench approximates a real all-core workload and conveniently scores you, so a dropped score is itself a flag that something is throttling or erroring. 3DMark and its Fire Strike test exercise the CPU and GPU together the way an actual game does, which catches instabilities the pure-CPU tests miss entirely. Run a mix of all three; thirty minutes is the floor.
What a failure looks like
Failure wears several faces and you should learn to recognize each. The dramatic one is the Blue Screen of Death, often citing WHEA_UNCORRECTABLE_ERROR or CLOCK_WATCHDOG_TIMEOUT — unambiguous, and the system reboots itself before you can read it twice. The quieter one is a hard freeze or an instant reboot with no screen at all, common when the voltage is far too low for the load. The insidious one leaves no crash whatsoever: on Windows, open Event Viewer and look for WHEA-Logger warnings, Event ID 18 or 19, which are the machine telling you cores are silently correcting errors. A machine that throws WHEA warnings without crashing is not stable; it is corrupting data politely, and that is worse than an honest blue screen.
Reading the results
# Example readings on a thermally-limited laptop (illustrative — your
# chip, cooler, and ambient will differ; this is NOT a benchmark claim).
STOCK -125 mV
CPU package power 62 W -> 46 W
CPU package temp 97 °C -> 83 °C
Sustained all-core clock 3.8 GHz -> 4.3 GHz
WHEA errors (Event 18/19) 0 -> 0A successful undervolt shows lower package power and temperature at the same or higher sustained clock, with no errors logged anywhere. If your benchmark score went down, the undervolt did not cost you performance — something else did, and you should look at power limits or thermals before blaming the voltage. Real-world stability is the final exam, and it is the one that fails people: a setting that sails through thirty minutes of synthetic load can still crash on the desktop at idle two days later, because low-load voltage minimums are a completely different failure mode from high-load ones. Use the machine normally for a few days before you call a tune finished.
Common Pitfalls and How to Undo Them
The five that get everyone
- Not saving immediately. You find a stable value, start the next test, it crashes, and the value is gone because you never wrote it. Fix: click OK – Save voltages immediately after every stable step on Windows, and write the config to disk before testing on Linux.
- Jumping straight to a big number. Setting -150mV on the first try guarantees a crash and teaches you nothing about where stability actually ends. Fix: start at -100mV or Curve Optimizer Negative 15, then step by -10mV or two points at a time.
- Testing for five minutes. A short test passes everything that is going to fail slowly, which is most of what fails. Fix: a 30-minute synthetic floor, plus several days of normal use to surface the idle and low-load crashes the stress test cannot reach.
- Forgetting persistence. The tune works beautifully until the next reboot quietly reverts it, and you do not notice for a week. Fix: set up Task Scheduler, a systemd service, or a saved BIOS profile the moment you find the value, before you forget the magic number.
- Coupling the iGPU blindly. The integrated GPU sometimes wants a smaller offset than the cores, and matching it to the core value produces display artifacts that look like a dying screen. Fix: if you see corruption, pull the iGPU offset back and leave core and cache where they are.
The two that get the overconfident
- Ignoring WHEA errors because it did not crash. Silent error correction is worse than a clean crash, because it corrupts data while pretending everything is fine. Fix: back off one or two steps the moment Event ID 18 or 19 appears in the log, crash or no crash.
- Assuming it worked on a locked system. On a machine with the Plundervolt mitigation active, the offset is accepted by the software and ignored by the silicon. Fix: confirm the temperature actually dropped; if it did not move, you are not undervolted, you are just clicking buttons.
How to undo all of it
Every method here is reversible, and most are reversible without even logging in. On Windows, delete or rename ThrottleStop's profile, or simply remove the Task Scheduler entry and reboot. On Linux, comment out the lines in intel-undervolt.conf, or disable the systemd unit with systemctl disable. On AMD desktop, load BIOS defaults, or — if the board will not POST at all — clear the CMOS, which is the magic reset that forgives every too-deep Curve Optimizer value ever entered. There is no state you can reach with these tools that a reset will not undo, and that is precisely why undervolting is a safe thing to experiment with: the floor below you is always solid.
Troubleshooting Table
Symptoms, causes, fixes
Most undervolting problems are one of a small set of failure modes wearing different clothes. Find your symptom, apply the fix, retest. Nothing here is permanent, and nothing here requires more than a reboot or a CMOS clear to walk back.
| Symptom | Likely cause | Fix |
|---|---|---|
| System reboots or crashes under heavy load | Undervolt slightly too aggressive for high-load Vmin | Raise the offset by +10–15mV (less negative) and retest |
| Instant crash or freeze the moment you apply | Offset far too deep, or wrong voltage plane | Reboot to clear it; on AMD clear CMOS; restart at -50mV |
| Temperatures do not move at all | Plundervolt mitigation locking the FIVR interface | Accept the lock and tune power limits, or try an older BIOS |
| WHEA-Logger Event ID 18 or 19, no crash | Cores silently correcting errors — undervolt too deep | Back off one or two steps even though it has not crashed |
| Settings gone after reboot (Windows) | ThrottleStop not launched at startup | Create a Task Scheduler onlogon task, Run with highest privileges |
| Settings gone after reboot (Linux) | Service not enabled | sudo systemctl enable --now intel-undervolt.service |
| Crashes at idle or on desktop, never under load | Low-load voltage minimum too low | Reduce the offset magnitude; idle Vmin differs from load Vmin |
| Display artifacts or corruption | iGPU offset too aggressive | Pull the GPU/iGPU offset back, leave core and cache alone |
| AM5 board boot-loops then resets BIOS | Curve Optimizer magnitude too deep to POST | Board auto-reverts after failed boots; lower magnitude or go per-core |
| Benchmark score dropped after undervolting | Throttling or instability elsewhere, not the voltage | Check power limits and temps; a correct undervolt never lowers scores |
Decoding the blue screens
The stop code names the failure mode if you let it. WHEA_UNCORRECTABLE_ERROR paired with a too-low voltage is the classic undervolt signature — a core hit an error it could not fix. CLOCK_WATCHDOG_TIMEOUT means a core stopped responding entirely, again typically too little voltage to complete an instruction. IRQL_NOT_LESS_OR_EQUAL and the more generic stops can be undervolt-related too, though they have other causes. The pattern that actually matters: blue screens under load mean your high-load voltage is too low, while freezes and reboots at idle or on the desktop mean your low-load voltage is too low. They are different problems on opposite ends of the same curve, and the fix for one can make the other worse if you are not paying attention to when it crashes.
When to stop chasing millivolts
There is a point of diminishing returns where each additional step risks more than it saves. If you are five millivolts from a known crash and the temperature delta of one more step is a degree or two, you have found your answer and should stop hunting. The 2026 guidance is consistent on this: when -155mV throws a BSOD, you drop back to -145mV or -135mV and live there, because tolerance varies per chip and the last few millivolts are not worth the instability they buy. Back off to a value with comfortable margin, validate it properly, and resist the urge to come back next weekend and shave one more step. The chip does not give you a medal for living on the edge; it gives you a corrupted save file.
Advanced Tips: Silicon Lottery, Per-Core, Power Limits
Per-core tuning and the silicon lottery
The silicon lottery is not a metaphor; it is the literal reason two physically identical CPUs, off the same wafer, undervolt to different depths. Manufacturing variance means one core on your chip might hold -25 on the Curve Optimizer while another panics at -15. Per-core Curve Optimizer on AM5, or per-core analysis tools, let you tune each core to its own limit — pushing the strong ones hard and the weak ones gently — but this is strictly endgame work that multiplies your testing time by your core count. The reference figure of -125mV to -165mV that a modern mobile chip can sustain is a population statistic, not a promise about your specific die. Yours might do better. It might also do considerably worse, and the only way to know is to test it.
Pairing the undervolt with power limits
On Intel, the PL1 and PL2 power limits cap sustained and burst power independently of voltage, and the two tools combine beautifully on a laptop. An undervolt lets the chip do more work per watt; a sensible power limit caps how many watts it is allowed to spend in the first place. Together they produce a laptop that runs cool, quiet, and barely throttles, at a clock speed that a stock configuration could never sustain. But change one thing at a time when you are establishing the tune — undervolt first, validate, then experiment with power limits — so that a crash points at a single suspect rather than two.
Undervolt the CPU, overclock the GPU
The two halves of a quiet, fast machine pull in opposite directions and complement each other perfectly: drop the CPU's voltage to free up thermal and power budget, then spend some of that reclaimed headroom on the GPU. In a shared chassis this is not abstract. A 575-watt card like the one in our RTX 5090 review dumps enormous heat into a case, and a CPU that is running fifteen degrees cooler keeps the shared air cooler, which in turn keeps the GPU's boost clocks higher. Tune them as one thermal system rather than two unrelated components, and the whole machine gets quieter and faster at once.
The Complete Working Configuration
Here are the three reference configurations, one per platform, gathered in one place so you are not scrolling back through the article mid-tune. These reflect a stable -125mV-class result after the full 12-step process — they are a destination, not a starting point. Begin conservative, step down, validate, and let your own silicon tell you where to stop.
Windows: ThrottleStop reference
:: WINDOWS — Intel mobile, ThrottleStop 9.7.0
:: FIVR window, after stepping down from -100 mV:
:: CPU Core Offset -125 mV
:: CPU Cache Offset -125 mV (matches Core)
:: Intel GPU Offset -100 mV
:: System Agent 0 mV
:: -> click "OK - Save voltages immediately"
:: Persist at logon with highest privileges:
schtasks /create /tn ThrottleStop /tr C:\ThrottleStop\ThrottleStop.exe /sc onlogon /rl highest /fLinux: intel-undervolt reference
# LINUX — Intel, intel-undervolt 0.10.2 (/etc/intel-undervolt.conf)
enable yes
undervolt 0 'CPU' -125
undervolt 1 'GPU' -75
undervolt 2 'CPU Cache' -125
undervolt 3 'System Agent' 0
undervolt 4 'Analog I/O' 0
interval 5000
# apply now and persist across reboots:
# sudo intel-undervolt apply
# sudo systemctl enable --now intel-undervolt.serviceAMD: BIOS reference
# AMD AM5 DESKTOP — BIOS, no OS-level tool required
PBO ............ Advanced | PBO Limits ...... Motherboard
Curve Optimizer All Core | Sign ............ Negative
Magnitude ...... 20 | Memory .......... DDR5-6000 (EXPO)
FCLK ........... 1:1 coupled
# AMD RYZEN LAPTOP — BIOS Custom Core P-states
P0 offset ...... -10 (good silicon: -20)That is the whole technique. You traded forty-five minutes and one or two blue screens for a cooler, quieter, longer-boosting machine that gives back nothing in performance and, on a thermally limited laptop, hands you more than you started with. The voltage was always there to be taken; the manufacturer just priced in a margin you did not need. Take it, validate it, make it persistent, and then forget about it — a good undervolt is the kind of tuning you do once and never think about again, which is exactly how the best tuning works.
Questions the search bar asks me
- Can undervolting damage my CPU?
- No — lowering voltage is the safe direction, while overvolting is what wears silicon out over time. The worst realistic outcome is a crash or freeze that a reboot fully reverses, and ArchWiki notes that staying under roughly 200mV keeps you well inside safe territory; beyond that you mostly get crashes or no effect at all.
- How much should I undervolt?
- Modern Intel mobile chips (10th Gen and newer) take -80mV to -125mV comfortably, with good samples reaching -165mV, while older 3rd/4th Gen parts manage only -40mV to -50mV. On AMD AM5, a Curve Optimizer setting of Negative 15 to 25 lowers voltage by roughly 100–150mV; AMD Ryzen laptops typically set P0 to -10, or -20 on lucky silicon.
- Why did my undervolt stop working?
- Two usual culprits. Either it was never made persistent — Windows needs a Task Scheduler task launched at logon with highest privileges, and Linux needs an enabled systemd service — or your Intel system has the Plundervolt (CVE-2019-11157) mitigation, which silently ignores the offset so your temperatures never actually change.
- Will undervolting increase my FPS?
- On a thermally limited machine like a gaming laptop, yes — less heat means the chip holds its boost clocks longer instead of throttling, which raises sustained performance. On a cool desktop with a large cooler, FPS stays the same and you mainly gain lower power draw, less heat, and a quieter room.
- How long do I need to stress test?
- At least 30 minutes of mixed load — Prime95, Cinebench, and a 3DMark or Fire Strike loop — before you trust a setting. Then use the machine normally for several days, because idle and low-load crashes appear later than high-load ones, and watch Event Viewer for WHEA Event ID 18/19, which signal silent errors even without a crash.