# NV-UV

GPU Undervolting · User Guide

Build 21W · Antares · Open Alpha · March 2026

## 📝 Foreword

Before we get started, a few words that are important to me.

**MSI Afterburner is and remains the best Nvidia GPU tool on the market.** What Alexey "Unwinder" Nicolaychuk has accomplished over the years is nothing short of extraordinary. Afterburner is the gold standard for GPU tuning, OSD, fan control and advanced curve editing. NV-UV does not want to replace Afterburner. Not today, not tomorrow. NV-UV is a **Companion Tool**, it simplifies getting started with undervolting on Blackwell and automates things like preset switching, crash recovery and scanner-based optimization. But for fine-grained curve editing, overclocking, OSD and everything beyond undervolting, Afterburner remains the tool of choice. Once you've found your stable UV setting with NV-UV, you can close NV-UV and let AB take over, the profile sits in AB and runs normally from there.

**On the topic of NVIDIA and Blackwell:** Yes, NVAPI access to the VF curve has been restricted, that's unfortunate but entirely legitimate. NVIDIA has every right to do so and I don't want them to be hated for it. NVIDIA still builds the best graphics cards in the world and works on technologies that can only be described as rocket science. I'm simply happy to contribute a small part toward making NVIDIA GPUs more accessible and efficient for every user. I think that's in everyone's interest.

NV-UV started as a small side project, for my own RTX 5090 and for friends I wanted to introduce to undervolting. That it has turned into something so many people actually want to use, I honestly never expected. I'm overwhelmed by all the interest.

Special thanks go to **my NV-UV Discord community**, testers who spent hours pushing the scanner to its limits, testers who helped me refine the UI, and everyone whose feedback made NV-UV better piece by piece. Also to my friends and family who put up with me being pretty scarce these past weeks. And a special thank you to the tech press, especially **Raphael** (PCGH) who discovered the tool and **Sven** (PCGH) who brought it to a wider audience, and **Andreas** (Hardwareluxx) who took a closer look at NV-UV. Thanks also to **PCGH Hardware** for giving NV-UV a home in their forum. This is exactly what the PC community has been about for years: tweaking, testing, gaming and having fun. Thank you, from the bottom of my heart. ❤️

— Christian

## ⚡ What is NV-UV?

NV-UV is a GPU undervolting tool designed specifically for the **NVIDIA RTX 50 Series** (Blackwell). It simplifies the undervolting process, which normally requires manually editing MSI Afterburner's curve editor.

NV-UV uses Afterburner as its backend, so you need **MSI Afterburner + RTSS** installed.

### Features

| 🎚️ **Voltage Lock**         | One click, GPU runs at an exact voltage/frequency point                |
| ---------------------------- | ---------------------------------------------------------------------- |
| 📊 **4 Preset Levels**       | Eco · Balanced · Performance · Max, community-validated values per GPU |
| 🔍 **Stock Curve Discovery** | Automatically reads the real VF curve of your specific GPU from AB     |
| 🔬 **OCS → UV**              | Import AB OC Scanner results, build chip-specific UV curve             |
| 🎮 **Game Replay**           | Automatic step-down on crash, with per-game learning loop              |
| ✈️ **UV-Pilot**              | Detects 587 games automatically, switches to the optimal preset        |
| ⚡ **Voltage Step Scanner**   | DX12 + DXR stress engine with FMA, WHEA and plateau detection          |
| 🖥 **Smart Hz**              | Desktop 60Hz, gaming native Hz. Saves \~10W idle. Experimental.        |
| 🌍 **DE/EN**                 | Full UI in German/English, live toggle in the footer                   |
| 🔥 **3D Stress Test**        | DX12 + DXR render engine (headless) with heartbeat load patterns       |
| ⚓ **Anchor Profile**         | Right-click on slot, UV stays active when NV-UV is closed              |
| 🧊 **Idle Optimization**     | Low voltages = stock, saves power at desktop/idle                      |
| 🔧 **V-Step Fix**            | Compensates for the Blackwell point-before-flatten bug                 |
| 📐 **Mini View**             | Compact view, perfect alongside AB's curve editor                      |
| 🎨 **2 Skins**               | Dark + UV-Party                                                        |
| ⏻ **System Tray**            | Runs in background. Autostart will be added once the EXE is signed.    |

## 📋 Requirements

| What                | Details                                 |
| ------------------- | --------------------------------------- |
| **GPU**             | NVIDIA RTX 5090, 5080, 5070 Ti, or 5070 |
| **Driver**          | Latest NVIDIA driver                    |
| **MSI Afterburner** | Version 4.6.6+ with RTSS                |
| **Windows**         | Windows 11 (64-bit)                     |

NV-UV requires MSI Afterburner running in the background. Without AB, NV-UV cannot change voltages!

## 🔧 Installation

{% stepper %}
{% step %}

### Prepare Afterburner, General Tab

AB Settings (⚙), **General** Tab: Select your NVIDIA GPU under *Master graphics processor selection*

Enable these checkboxes:

* ✓ `Enable hardware control and monitoring`
* ✓ `Enable low-level IO driver`
* ✓ `Enable low-level hardware access interface` → **user mode**
* ✓ `Unlock voltage control` → **standard MSI oder referenz**
* ✓ `Unlock voltage monitoring`

Restart AB.
{% endstep %}

{% step %}

### Prepare Afterburner, Monitoring Tab

Settings (⚙), **Monitoring** Tab:

* ✓ `GPU voltage` enable
* ✓ `GPU power` enable

Restart AB.
{% endstep %}

{% step %}

### Extract + run NV-UV

Unzip to any folder, e.g. `C:\NV-UV\`, double-click `NV-UV.exe` (no admin needed).

**🔗 First launch, Connection Wizard:** NV-UV needs the real VF curve of your GPU. On first launch:

1. Open Afterburner, all sliders at default (no OC/UV)
2. Click 💾 Save in Afterburner
3. Choose a profile slot (1-5)
4. NV-UV detects the curve automatically

One-time setup. NV-UV stores the curve locally.

**🔄 Recalibrate (Toolbar):** Full reset: backs up AB profiles automatically, deletes only GPU-specific profiles and NV-UV cache, restarts. Overlay settings, fan curves and other AB settings are preserved.
{% endstep %}
{% endstepper %}

## 🔄 Updating to a New Version

NV-UV is portable, just copy the new EXE over the old one. Settings are preserved (`%LocalAppData%\NV-UV\`).

{% stepper %}
{% step %}

### Close NV-UV

{% endstep %}

{% step %}

### Extract new ZIP

(Same or new folder)
{% endstep %}

{% step %}

### Run NV-UV.exe

Done!
{% endstep %}
{% endstepper %}

If something looks off after an update: click **🔄 Recalibrate** in the toolbar.

## 🚀 Quickstart

{% stepper %}
{% step %}

### Choose a preset

🍃 Eco · ⚡ Balanced (recommended) · 🚀 Perf · 🔥 Max
{% endstep %}

{% step %}

### Apply UV

Select an AB slot (1-5), then ⚡ Apply UV.
{% endstep %}

{% step %}

### Test

Launch a game, watch voltage + temps. Stable = done!
{% endstep %}
{% endstepper %}

Start with **Balanced**! Eco can be too aggressive for some GPUs.

## 🔬 OCS → UV Import

Afterburner's built-in OC Scanner tests how much extra frequency your GPU can handle at each voltage. The result alone is very conservative. NV-UV takes that chip-specific data and combines it with the proven Balanced preset as a baseline. Result: A UV curve based on your silicon.

{% stepper %}
{% step %}

### Run AB's OC Scanner

Save result to a profile slot (1-5).
{% endstep %}

{% step %}

### Click OCS → UV

Select the profile with the scanner result.
{% endstep %}

{% step %}

### Apply

V-Lock (best single point) or Multi-Point (full curve).
{% endstep %}
{% endstepper %}

Right-click for options: V-Lock / Multi-Point / Verify with Scanner.

OCS data is stored permanently and survives Recalibrate, AB resets and reinstalls.

## ⚡ Voltage Step Scanner

The scanner tests a **single voltage point** and finds the maximum stable frequency. Ideal for validating a UV setting or finding the sweet spot for your GPU.

{% stepper %}
{% step %}

### Open Scanner

(⚡ button in main window or Mini View)
{% endstep %}

{% step %}

### Settings

Voltage, render resolution (1440p for 5070/5080, 4K for 5090), test duration (2-5 min)
{% endstep %}

{% step %}

### Start test

Scanner starts high and works down until it finds the stable frequency.
{% endstep %}

{% step %}

### Apply result

Apply result to slot 1-5, directly or via right-click in history.
{% endstep %}
{% endstepper %}

### New in Antares

| **FMA Math-Error Detection** | Compute shader detects GPU calculation errors in the background        |
| ---------------------------- | ---------------------------------------------------------------------- |
| **WHEA Pre-Crash**           | Windows hardware error events detect instability before a hard crash   |
| **Plateau Detection**        | Automatically stops when the GPU can't boost higher at a given voltage |
| **Offset Cap**               | Start offset capped at +1000 MHz (or +1200 with Boost Override)        |
| **Warmup once per session**  | Only the first step warms up, subsequent steps start immediately       |
| **Power Limit Slider**       | Full PL range in the scanner, from GPU minimum (\~60%) to maximum      |
| **Skip Warmup**              | Optional, for water-cooled setups where GPU temp is already stable     |

Tip: After the scanner result, enable **Game Replay** and play. If it crashes in a real game, Game Replay automatically lowers the frequency further.

## 🎮 Game Replay

Just play, Game Replay handles the rest. On a UV crash, frequency is automatically lowered.

### Learning Loop (New in Antares)

Game Replay now remembers crash adjustments per game. On the next launch of the same game, UV-Pilot automatically applies the reduced frequency. A game crashes once, next time the safe profile is loaded directly.

### Two Crash Modes

| Type                        | What happens                                                       |
| --------------------------- | ------------------------------------------------------------------ |
| **Soft Crash (TDR)**        | Driver recovers, 15s cooldown, downstep written live, keep playing |
| **Hard Crash (Page Fault)** | Downstep saved, automatically applied on next NV-UV start          |

### Settings

🎮 Replay toggle in toolbar, right-click for settings. Strategy: lower frequency (default), raise voltage, or both. Step sizes and safety limits configurable.

Game Replay works independently from UV-Pilot. Just enable 🎮 Replay, works with any active UV profile.

## 🔥 3D Stress Test Engine

Built-in DX12 + DXR stress test that simulates realistic gaming load. The engine constantly switches between idle and full load (heartbeat pattern), creating the transients that cause UV instability.

### Render Resolution

| Resolution          | Recommended for   |
| ------------------- | ----------------- |
| **1440p**           | 5080 5070 Ti 5070 |
| **4K Supersampled** | 5090              |

GPUs are most unstable at 40-60% load (highest boost clocks), not at 100% sustained. That's exactly where the stress engine's hammer frames hit.

## ✈️ UV-Pilot

UV-Pilot detects running games and automatically switches to the matching UV profile.

### Tier System

| Tier               | Description                                      |
| ------------------ | ------------------------------------------------ |
| **🔥 Max**         | Highest performance, Cyberpunk 2077, Alan Wake 2 |
| **🚀 Performance** | Strong, Elden Ring, Hogwarts Legacy              |
| **⚡ Balanced**     | Standard, CS2, Valorant, most games              |
| **🌿 Eco**         | Efficient, older/lighter games                   |

### Custom Profiles

Right-click a slot: "Add to UV-Pilot" creates a custom profile. Assignable per game in the game database.

### Game Database

Right-click UV-Pilot → 🎮 Game Database. 588 games, tier assignments adjustable, custom games addable.

### Auto-Mini on Gaming

Right-click UV-Pilot → "📐 Mini View on Gaming". Automatically switches to Mini View on game detection, saving GPU overhead from the WPF main window. Disabled by default.

## 🔧 Optional Features

### 🧊 Idle Optimization

Sets all voltage points below 850 mV to stock frequency. Saves power at desktop/idle.

### 🔧 V-Step Fix

Compensates for the Blackwell point-before-flatten bug. Under load, the GPU uses the voltage point before the lock (\~10 mV less). V-Step Fix compensates automatically.

### 🔋 Power Limit

Slider limits maximum power draw. Eco presets set PL to 85%, Performance/Max to 100%.

### 💾 VRAM Offset

Memory clock offset. Default: 0 MHz. GDDR7 rarely benefits from memory OC.

### 🔓 Override Safe Limit

Removes the 50 MHz safety margin below stock maximum. Advanced users only.

### 🖥 UI Scaling

% button in the footer. Steps: 100% through 300%. All windows scale together.

## 🖥 Smart Hz

Automatically switches desktop to 60Hz when no game is running, native refresh rate when a game starts. Saves \~10W idle. Toggle is now directly visible in the toolbar.

May cause issues with multi-monitor setups. When in doubt, leave it off.

## 📐 Mini View

Compact view without curve. 📐 Mini in toolbar, ↩ Full to return. Always on top. All features available: Slots, Presets, V-Lock, PL, VRAM, Scanner, OCS → UV.

## 📊 Preset Reference

### RTX 5090

| Preset         | Voltage | Frequency | PL   |
| -------------- | ------- | --------- | ---- |
| 🍃 Eco         | 910 mV  | 2430 MHz  | 85%  |
| ⚡ Balanced     | 935 mV  | 2887 MHz  | 90%  |
| 🚀 Performance | 1025 mV | 3105 MHz  | 100% |

### RTX 5080

| Preset         | Voltage | Frequency | PL   |
| -------------- | ------- | --------- | ---- |
| 🍃 Eco         | 850 mV  | 2800 MHz  | 88%  |
| ⚡ Balanced     | 900 mV  | 2800 MHz  | 90%  |
| 🚀 Performance | 925 mV  | 2980 MHz  | 100% |
| 🔥 Max         | 975 mV  | 3150 MHz  | 100% |

### RTX 5070 Ti

| Preset         | Voltage | Frequency | PL   |
| -------------- | ------- | --------- | ---- |
| 🍃 Eco         | 850 mV  | 2500 MHz  | 80%  |
| ⚡ Balanced     | 900 mV  | 2800 MHz  | 90%  |
| 🚀 Performance | 935 mV  | 2955 MHz  | 100% |
| 🔥 Max         | 950 mV  | 3000 MHz  | 100% |

### RTX 5070

| Preset         | Voltage | Frequency | PL   |
| -------------- | ------- | --------- | ---- |
| 🍃 Eco         | 850 mV  | 2600 MHz  | 80%  |
| ⚡ Balanced     | 900 mV  | 2750 MHz  | 90%  |
| 🚀 Performance | 940 mV  | 3000 MHz  | 100% |
| 🔥 Max         | 975 mV  | 3150 MHz  | 100% |

Preset values are based on community experience. Not every GPU can handle every preset, silicon lottery. When in doubt, start with Balanced.

## ❓ FAQ

<details>

<summary>Does NV-UV replace Afterburner?</summary>

No. NV-UV uses Afterburner as its backend. AB must be installed. For OC, OSD and advanced curve editing, AB is still the go-to tool.

</details>

<details>

<summary>Is undervolting safe?</summary>

No voltages are increased, only lowered. Everything resettable via Stock button or Recalibrate. However, I assume no liability for any damage that may occur directly or indirectly through undervolting.

</details>

<details>

<summary>Why does NV-UV show no voltage? (0 mV / no reading)</summary>

Afterburner monitoring settings are missing: AB → Settings → General → `Unlock Voltage Control` ✓ and `Unlock Voltage Monitoring` ✓ AB → Settings → Monitoring → `GPU voltage` ✓ and `GPU power` ✓ Restart AB after enabling.

</details>

<details>

<summary>Voltage under load is lower than my V-Lock target, why?</summary>

Normal GPU boost behavior. NV-UV sets a V-Lock at e.g. 950 mV, but the GPU only boosts to the voltage it thermally/power-wise needs. With a UV profile (curve flattened at lock point), there's no incentive to boost higher. Not a bug.

</details>

<details>

<summary>The scanner stops below my stock maximum, why?</summary>

Two possible reasons:

1. **Safe Limit:** Scanner stops 50 MHz below stock max by default. Enable "Override Safe Limit" to remove it.
2. **Driver Limit:** NVIDIA caps frequency offset at +1000 MHz per voltage point. Solution: Test at a lower voltage where there's more headroom.

</details>

<details>

<summary>Scanner keeps stepping up but GPU frequency doesn't increase</summary>

Fixed in Antares! Plateau detection automatically stops the scanner when the GPU can't boost higher. If you're on an older version: update to Antares.

</details>

<details>

<summary>Game crashes after UV, what to do?</summary>

Normal! Not every GPU can handle every preset. Try the next higher preset, or use the scanner for individual optimization. With Game Replay: just keep playing, the frequency is lowered automatically, ideally while still in the game or after the crash on the next launch.

</details>

<details>

<summary>Difference between V-Lock and Multi-Point?</summary>

**V-Lock** fixes the GPU to one voltage/frequency point. Simple, reliable, recommended method. **Multi-Point** sets multiple points on the curve (e.g. from OCS Import). More complex but potentially more efficient across the voltage range.

</details>

<details>

<summary>Why ~200 MB EXE?</summary>

Self-contained .NET 9 runtime. No installation needed, just run the EXE.

</details>

<details>

<summary>Windows 10 support?</summary>

Not planned. DXR stress testing requires Windows 11.

</details>

<details>

<summary>RTX 40 series support?</summary>

Not planned. Ada Lovelace is a completely different architecture. NV-UV is specialized for RTX 50 (Blackwell).

</details>

<details>

<summary>Antivirus flags NV-UV</summary>

False positive. Self-contained .NET SingleFile EXEs are sometimes flagged. NV-UV is safe, you can add an exception.

</details>

<details>

<summary>Where are my settings stored?</summary>

`%LocalAppData%\NV-UV\` contains: UV profiles, slot names, Game Replay adjustments, scanner history, OCS data, stock curve, CCB cache, logs.

</details>

<details>

<summary>How do I export log files?</summary>

Via the **Log Export** button below the log panel. The log file is exported and can be sent directly to Christian.

</details>

<details>

<summary>Help, my profiles are gone!</summary>

Always back up your profiles manually before experimenting. If profiles are lost: check the NV-UV folder at `%LocalAppData%\NV-UV\`, that's where saved data, OCS curves and scanner history are stored.

</details>

<details>

<summary>My PC won't boot properly after an unstable UV!</summary>

**Important tip:** While testing UV profiles, please disable `Start with Windows` in Afterburner under Settings → General. This prevents an unstable profile from being loaded automatically at boot. Only re-enable AB autostart once your UV setting has been verified stable in games.

</details>

## 🛠 Troubleshooting

### NV-UV starts but shows no GPU

Latest NVIDIA driver installed? Start NV-UV after Windows desktop has loaded.

### No MAHM connection (no voltage reading)

AB + RTSS must be running. Enable voltage monitoring in AB (see FAQ above). Restart AB.

### Apply does nothing / voltage unchanged

Enable `Unlock Voltage Control` in AB. Missing stock curve? Click 🔄 Recalibrate.

### Game crashes after UV

Try a higher preset, or use the scanner. Game Replay lowers frequency automatically.

## 💬 Feedback

Please post feedback directly in the **Feedback thread on the PCGH forum** or to **Christian** on Discord, screenshot + text.

Log file: `%LocalAppData%\NV-UV\nv-uv.log`, please include with bug reports! Exportable via the **Log Export** button below the log panel.

**PCGH Forum:** Deutsch: [Support / FAQ / Bugs](https://extreme.pcgameshardware.de/threads/support-faq-bugs.673164/) English: [NV-UV Open Alpha English Thread](https://extreme.pcgameshardware.de/threads/nv-uv-open-alpha-english-thread.673165/)

NV-UV · Build 21W · Antares · Open Alpha · Invited testers only Please do not redistribute · GPU undervolting at your own risk NV-UV is free. If you like it: [PayPal](https://paypal.me/christianpapaioannou)
