ERROR_CTX_BAD_VIDEO_MODE (0X00001B71) – Remote Desktop video mode mismatch
Your Remote Desktop client can't match a video mode with the server. This typically happens with mismatched display settings after a Windows update or driver change.
When this error shows up
You're connecting to a Windows 10 or Windows 11 machine via Remote Desktop. The login screen flashes for a split second, then the connection drops with ERROR_CTX_BAD_VIDEO_MODE (0X00001B71). This usually happens right after you installed a graphics driver update or a major Windows feature update (like 22H2 or 23H2) on the target machine. It can also happen if you're connecting from a client with a very high resolution display (e.g., a 4K laptop at 150% scaling) to a server running an older RDP version.
What's actually happening
The error code 0X00001B71 is defined as ERROR_CTX_BAD_VIDEO_MODE in winerror.h. What's happening here is that the Remote Desktop server (the machine you're connecting to) can't find a compatible video mode that both the server's GPU driver and the RDP protocol stack agree on. The server's video driver returns a mode list, but when RDP tries to set one of those modes, the driver rejects it. This is almost always a driver regression — the update changed something about how the GPU reports supported resolutions, and the RDP subsystem trips over it. A secondary trigger is the monitor count mismatch: if you're using the span or multimon RDP switch and the target has an old driver that can't handle multi-monitor mode properly.
The fix
Skip the generic advice like "update your drivers" — that's what caused the problem. The real fix is to reset the RDP video mode negotiation or roll back the offending driver. Here's the order I'd do it.
Step 1: Roll back the graphics driver on the target machine
- On the machine you're connecting to, open Device Manager.
- Expand Display adapters, right-click your GPU, select Properties.
- Go to the Driver tab and click Roll Back Driver. If it's greyed out, you don't have a previous driver saved — move to step 2.
This fixes the problem ~80% of the time. The reason step 3 works is that the rollback restores the old video driver that RDP knows how to talk to.
Step 2: Delete the RDP video mode registry key
If rollback isn't an option, we force RDP to rebuild its video mode cache.
- On the target machine, open Regedit as Administrator.
- Navigate to
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp. - Delete the value named MaxXResolution and MaxYResolution if they exist. Do not delete the whole key, just those two values.
- Close Regedit, then restart the Remote Desktop service from an admin command prompt:
net stop TermService && net start TermService.
What this does: it removes the cached max resolution limits that RDP stores. On next connection, RDP renegotiates the video mode from scratch. If the driver still returns a bad mode, this won't help — but if it was just a stale cache issue, you're done.
Step 3: Force 32-bit color depth via Group Policy (if steps 1 and 2 fail)
- On the target machine, open
gpedit.msc(Group Policy Editor). - Go to Computer Configuration → Administrative Templates → Windows Components → Remote Desktop Services → Remote Desktop Session Host → Remote Session Environment.
- Enable Use hardware graphics adapters for all Remote Desktop Services sessions — this forces RDP to use the GPU's hardware rendering path instead of the software fallback.
- Also enable Limit maximum color depth and set it to 32 bits per pixel.
- Run
gpupdate /forcefrom an admin command prompt, then reboot.
This works because some drivers only report proper mode lists in 32-bit color mode. If the client requests 16-bit or 24-bit, the driver fails — but with this policy, RDP never asks for anything else.
What to check if it still fails
If you've done all three steps and still see 0X00001B71, here's what to check next.
- Check the client's display settings. On the client machine (the one you're connecting from), open the RDP client, go to the Display tab, and set the resolution to something modest like 1920x1080 and the color depth to 32-bit. A 4K client pushing 3840x2160 at 200% scaling can sometimes confuse older RDP servers.
- Check for third-party display drivers. If the target machine uses a virtual GPU (VMware, Hyper-V, Parallels), update the guest integration tools — those have their own RDP video mode negotiation that can conflict.
- Check the RDP version. On the target, run
qwinstafrom a command prompt. If the server reports a version older than 10.0 (which corresponds to Windows 10/Server 2016), the protocol may not support high-resolution modes at all. In that case, you're stuck with lowering the client resolution or upgrading the server.
One more thing: if you're using the /span or /multimon RDP switch, try connecting without it. Some older drivers handle single-monitor mode fine but choke on multi-monitor video mode negotiation. Run mstsc /v:target_machine without any switches. If that works, the problem is specific to spanning across multiple monitors — you can file that under "driver quirk" and either update the driver or skip spanning.
Was this solution helpful?