0xC026232A: Monitor descriptor set is invalid fix
This DirectX error hits when Windows hands your GPU a malformed monitor EDID. The fix is clearing stale display caches or forcing a driver re-read.
When this error hits
You're most likely dealing with 0xC026232A after plugging in an external monitor via HDMI or DisplayPort — especially on a laptop that's been docked and undocked a few times. I see this a lot on Lenovo ThinkPads and Dell XPS machines running Windows 10 22H2 or Windows 11 23H2. The screen goes black for a second, then you get a DirectX app crash or a popup from some graphics-heavy tool saying the display adapter stopped responding. The event log shows the error code 0xC026232A under source Display or DirectX.
What's actually happening here
The error name is ERROR_GRAPHICS_INVALID_MONITORDESCRIPTORSET. That monitor descriptor set is your monitor's EDID — the block of 128 or 256 bytes that tells the GPU what resolutions, refresh rates, and color depths it supports. What's happening is Windows cached a stale or partially corrupted copy of that EDID. When your graphics driver (NVIDIA, AMD, or Intel) tries to read it during mode enumeration, it finds a checksum mismatch or an invalid extension block, and throws this error. The driver safely refuses to use that descriptor rather than sending garbage timings to the monitor — which could physically damage it. The real fix is forcing the OS to re-read the EDID fresh from the monitor's firmware.
Fix it: step by step
Step 1: Clear the cached EDID in the registry
Windows stores monitor descriptors in HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\DISPLAY. Each connected monitor appears as a subkey named after its PnP ID (like DELA0A7). Open regedit as administrator, navigate there, and look for subkeys under your monitor's PnP ID folder labeled Device Parameters\EDID. Delete the EDID value. Do this for every monitor you see. Do not delete the whole monitor key — just the EDID binary value. Reboot.
Step 2: Force a full GPU driver reinstall with DDU
This step works when the registry trick alone doesn't. Download Display Driver Uninstaller (DDU) from Guru3D. Boot into Safe Mode (hold Shift while clicking Restart, then Troubleshoot > Advanced > Startup Settings). Run DDU, select your GPU vendor (NVIDIA/AMD/Intel), and click Clean and restart. On reboot, install the latest driver from the manufacturer's site — not from Windows Update. The reason this works: DDU wipes not just the driver but also the cached monitor descriptor database in %SystemRoot%\System32\drivers\. Windows rebuilds it on next boot with a fresh EDID poll.
Step 3: Check your monitor's EDID directly (advanced)
If steps 1 and 2 fail, the monitor itself might be sending a corrupt EDID. This is rare but happens on cheap USB-C hubs or KVM switches that mangle the signal. Use MonitorInfoView (NirSoft) to dump the raw EDID bytes. Look at byte 126 — that's the checksum. If it's wrong, your monitor's firmware is toast. Try a different cable (I've seen bad DisplayPort cables cause this), or bypass any hub/dock. If it's a known monitor brand, check the manufacturer for a firmware update — some Dell monitors from 2020 have a known EDID bug fixed by firmware version M2T103.
What to check if it still fails
If you've cleared the registry, run DDU, and swapped cables, the issue is likely hardware. Try the monitor on another PC. If it works there, your GPU's DisplayPort or HDMI port may be failing to read the EDID correctly — reseat the GPU, or test a different port. On a laptop, check if the problem follows the monitor or the port. One last thing: some virtualization software (VMware Workstation, Hyper-V) can intercept EDID reads. Disable any hypervisor features temporarily to rule that out.
"The driver safely refuses to use that descriptor rather than sending garbage timings to the monitor — which could physically damage it."
That's the core reason you're seeing this error instead of a garbled display. The driver is being cautious. Your job is to give it clean data to work with.
Was this solution helpful?