Quick answer
For most people, disabling UDP in the RDP settings or updating your GPU driver resolves 0x1B99. Try the fixes below in order.
What's happening here
Error 0x1B99 means the RDP client and server agreed on a protocol, but then one side sent data that didn't match that agreement. This usually isn't a Windows bug. It's a symptom of something corrupting the RDP stream—most often a flaky network path (VPN, Wi-Fi, or a router doing aggressive packet inspection) or a GPU driver that's feeding bad data to the RemoteFX or H.264 codec.
I've seen this pop up on Windows 10 21H2 and Windows 11 22H2 machines, especially after a GPU driver update or when connecting through a corporate VPN. The protocol stream gets interrupted mid-handshake, and the client gives up rather than retrying. What's actually happening here is a mismatch between what the server encodes and what the client can decode.
Fix step-by-step
- Force TCP instead of UDP. RDP tries UDP first for performance, but if your network drops UDP packets, you get this error. Open the Group Policy Editor on the client machine (
gpedit.msc), go to Computer Configuration > Administrative Templates > Windows Components > Remote Desktop Services > Remote Desktop Connection Client, and set Turn Off UDP On Client to Enabled. Then restart your connection. - Update or rollback your GPU driver. If the remote machine has an NVIDIA or AMD card, a recent driver might be the culprit. Use Device Manager to check for updates, or if this started right after a driver update, roll back to the previous version. The reason step 1 sometimes isn't enough is that the GPU driver still handles the encode even over TCP.
- Disable RemoteFX. RemoteFX is deprecated but still on by default in some builds. On the server or host machine, open Local Group Policy Editor, go to Computer Configuration > Administrative Templates > Windows Components > Remote Desktop Services > Remote Desktop Session Host > Remote Session Environment, and enable Do not use RemoteFX. This forces the connection to use the basic graphics stack, which is more stable.
- Clear your RDP cache. Corrupted cached credentials or certificate info can cause protocol mismatches. Open
regeditand delete the keyHKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client. This resets your saved connections—you'll need to re-enter server names. It's drastic but works when nothing else does. - Check MTU and VPN settings. If you're on a VPN, your MTU might be too high. Ping the remote server with
ping -f -l 1400(on Windows) to test. If it fails, lower your MTU on the VPN interface or router to 1400. Large packets fragmenting mid-stream can trigger 0x1B99 exactly because the RDP protocol expects uninterrupted data.
If the main fixes fail
Sometimes the problem is on the server side. Try connecting to a different machine to rule out your client. If that works, the issue is the host. On the host, disable Network Level Authentication temporarily via System Properties (uncheck Allow connections only from computers running Remote Desktop with Network Level Authentication). This removes an extra encryption handshake that might be failing.
Another angle: check your antivirus. I've seen Bitdefender and Kaspersky intercept RDP traffic and mangle it. Add an exception for mstsc.exe and svchost.exe on both ends. It sounds paranoid, but it's a real trigger.
Registry tweak that's worth trying
If you're comfortable with the registry, there's a specific tweak that forces the client to use the older RDP 8.0 stack instead of 8.1. On the client machine:
reg add "HKCU\Software\Microsoft\Terminal Server Client" /v DisableUDP /t REG_DWORD /d 1 /fThis is the same as the Group Policy fix but targets just your user account. Some people report that only this user-level key works when the policy doesn't.
Prevention
Once you get it working, keep it that way. Set your GPU drivers to only update from the manufacturer's site, not Windows Update. Windows Update pushed a bad driver to my own machine once, and it caused exactly this error every time I tried to connect to a Windows 11 VM. Also, if you're a frequent VPN user, set your VPN to use TCP instead of UDP in its settings—most VPN clients let you pick the protocol. UDP is faster, but for RDP stability, TCP is the safer bet.
Finally, if you're managing multiple machines, standardize your RDP settings via group policy so every host uses the same graphics mode. Mixed configurations are a breeding ground for protocol errors like 0x1B99.