1. Corrupt or Conflicting GPU Driver — Most Common Cause
What's actually happening here is that after a GPU driver update (especially Nvidia 5xx series or AMD Adrenalin 23.x), Windows' DirectX graphics kernel (dxgkrnl.sys) tries to register a monitor frequency range that the new driver already set from a previous session. The driver's internal list thinks the range is new, but the kernel knows it's already there. The result? Error 0xC026231F.
I've seen this trigger specifically when you install a driver update without doing a clean install, and then plug in an external monitor via HDMI or DisplayPort. The old driver's leftover frequency tables clash with the new one.
Fix: Clean Reinstall the GPU Driver
- Download Display Driver Uninstaller (DDU). Don't skip this step — regular uninstall leaves junk.
- Boot Windows into Safe Mode (hold Shift while clicking Restart, then Troubleshoot → Advanced Options → Startup Settings → Restart → press 4).
- Run DDU, select your GPU vendor (Nvidia/AMD/Intel), and choose "Clean and restart."
- After reboot, install the latest driver from the manufacturer's site — don't rely on Windows Update for this.
The reason step 3 works is that DDU wipes the HKLM\SYSTEM\CurrentControlSet\Control\Video\{GUID}\ registry keys that store stale frequency range sets. A normal uninstall leaves those behind.
2. Corrupt Monitor Registry Entries — Second Most Common
If a clean driver install didn't fix it, the problem is likely in the Monitor subkey under HKLM\SYSTEM\CurrentControlSet\Enum\DISPLAY. Each monitor plugged in gets a hardware ID like DELA0A6 (Dell) or SAM0F9E (Samsung). Under that, you'll see Device Parameters\EDID and MonitorFreqRange. If the MonitorFreqRange value has duplicate entries, Windows chokes.
I ran into this myself after switching between a 144Hz monitor and a 60Hz secondary display — the registry kept both ranges and the error popped every time I opened a game.
Fix: Delete the Corrupt Monitor Registry Key
- Press Win+R, type
regedit, and hit Enter. - Navigate to
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\DISPLAY\. - Expand each subkey (e.g.,
DELA0A6) and look underDevice Parameters. If you see aMonitorFreqRangeREG_BINARY value with a large size (over 200 bytes), that's the culprit. - Right-click the
MonitorFreqRangekey (not the value — the whole key) and select Delete. Confirm. - Close regedit and reboot.
Windows will regenerate this key on next boot from the monitor's EDID. If you're nervous about deleting registry keys, export the key first as a backup. But honestly, it's safe — the EDID is read fresh from the monitor's firmware.
3. Bad or Faked Monitor EDID — Rare But Real
Less common, but I've seen this on cheap monitors from brands like Sceptre or on knockoff USB-C to HDMI adapters. The monitor's EDID (Extended Display Identification Data) reports a frequency range that doesn't match what the monitor actually supports. Windows tries to add it, finds it's already there (because the EDID is malformed and repeats ranges), and throws 0xC026231F.
You'll notice this if the error happens at boot or when waking from sleep, and only with one specific monitor.
Fix: Override the EDID with Custom Resolution Utility (CRU)
- Download Custom Resolution Utility (CRU) — it's free and works on Windows 7 through 11.
- Run
CRU.exe. You'll see a list of monitors under "Detailed resolutions" and "Standard resolutions." - Click "Edit" on the monitor showing the error, then clear any duplicate frequency ranges under the "Refresh rates" tab.
- Set a single, correct refresh rate (e.g., 60Hz or 144Hz) that matches your monitor's specs.
- Click OK, then run
restart64.exefrom the CRU folder (or restart Windows).
The reason this fixes it is that CRU writes a clean EDID override to HKLM\SYSTEM\CurrentControlSet\Enum\DISPLAY\{ID}\Device Parameters\EDID, bypassing the monitor's faulty firmware. Windows reads the corrected data and no longer sees duplicate ranges.
Quick-Reference Summary
| Cause | Symptom | Fix |
|---|---|---|
| Corrupt GPU driver | Error after driver update or monitor hot-plug | Clean reinstall with DDU |
| Corrupt monitor registry entry | Error persists across reboots | Delete MonitorFreqRange key in regedit |
| Bad monitor EDID | Error only with one specific monitor | Override EDID with CRU |
Start with the driver reinstall — it's the most common cause by a country mile. If that doesn't work, move to the registry fix. The EDID override is your last resort, but it'll save you from buying a new monitor.