I messed up my monitor

I’m using Windows 11 on an HP laptop with an NVidia graphics card. Nothing fancy, the one that came preinstalled. I have a large (3440x) LG external monitor. I tried to run Civ 3 today and let Windows run the compatibility mode troubleshooter instead of changing compatibility options myself. Somehow, it has permanently effed the external monitor settings. The monitor shows everything in a tiny resolution with weird RGB bars running down the screen (actually they seem to be cyan/pink/the other one). It’s basically impossible to read any text. I was able to remember the Windows display setting locations well enough to switch to “Duplicate these displays” from “Show only on [external monitor]” which is my usual setting, and when the external monitor mirrors the laptop’s inbuilt monitor it works fine. However, as soon as I close the laptop or try to switch back to showing only on monitor, it goes back to RGB hell.

I tried changing the settings for the monitor itself in the Windows display options and manually forcing scaling, but neither seems to make any difference. Help!

Reset to factory settings and start over?

Re-install the Nvidia graphics drivers (download from here). When re-intalling it asks if you want to do a clean install (a little check box so look for it). Choose that. It will erase all settings and be as if it is a new install. You would then need to go back and change any specific settings you had before.

It might not work but it is a first step I would take.

Are there any settings on the monitor itself that could have been changed?

This is one of those things that is hard to troubleshoot without direct access, but I’ll try my thoughts.

There is Ctrl-Shift-Windows-B which is supposed to reset the graphics card settings, but I’m not sure that would be enough.

Worst case would be to uninstall your graphics card drivers and then reinstall them, making sure to choose the option to clear any settings when asked.

Can you take a picture of what it looks like, the “cyan/pink/some other one”?

It sounds like you’re trying to force the monitor into a resolution it doesn’t like. When it’s in that state, are you still able to access the monitor’s built-in menus (from its own hardware buttons), and do those look normal? If they look normal, that further reinforces the probability that it’s probably just a Windows settings issue rather than a hardware issue.

But yeah, if you uninstall your display drivers, it should clear any saved settings. Reboot the computer after that and Windows will either default to its built-in drivers (which may or may not work) or download recent-ish ones from the internet automatically. In either case, it should reset the monitor to the default resolution.

You can also try forcing a different refresh rate on the monitor to see if it makes a difference: Change the refresh rate on your monitor in Windows - Microsoft Support (use Windows-P to shift it to an external monitor, not mirroring, so that you can see the settings on your laptop’s built-in monitor while you tinker with the external one… to be safe, probably try 3440x1440 at 8-bit color if it lets you choose, 60 Hz refresh, HDR off, variable refresh rate off)

Reinstalling the drivers would be my first step, also uninstalling completely first, you might get a really terrible resolution with generic drivers but could see if it works. HP may also suggest drivers which may work for your graphics card, though they’re usually lagging behind Nvidia’s. It sounds like the laptop is somewhat new so you won’t have to get legacy drivers, but make sure you pick the right options when downloading from Nvidia.

Otherwise I’m having trouble picturing the problem, but how does the laptop connect to the monitor? Through a dock? See if there’s driver updates. Through a cable? Which kind, color distortions were not uncommon with old VGA and DVI cords if the pins were bent or if it wasn’t plugged in all the way. The fact that it’s related to a game suggests not a hardware issue, but that could be a troubleshooting step if nothing else fixes it.