Force native resolution to Non-PnP monitor in Windows
I've got a 22-inch, 1680 x 1050 monitor. Brand X2gen, model MW22U. Connected by DVI cable to my NVIDIA GeForce 9600 GT graphics card.
Several days ago my monitor stopped working. It displayed nothing after the boot process.
I loaded Safe Mode which forced it to 1024 x 768, which did display. I installed updated drivers for my graphics card (NVIDIA GeForce ION Driver 185.85) which forced it to 1024 x 768 when I then returned to Normal Mode.
But I cannot set it to a resolution higher than 1024 x 768!
I then tested it with another monitor--a 20-inch, 1680 x 1050 Dell--which was detected successfully and did run at its native resolution. So, the problem is the monitor, not the computer or video card.
I switched back to the problem 22-inch monitor which was still suck at 1024 x 768. I noticed that the monitor was "Generic Non-PnP". I think before it was "Generic PnP". I changed the monitor driver to "Generic PnP". That didn't help.
I've installed and reinstalled NVIDIA GeForce ION Driver 185.85, but that doesn't fix it.
I've tried to add "Custom Resolutions" in the NVIDIA Control Panel. That errors with: "Custom mode test failed."
How might I be able to force Windows to use this monitor's native resolution?
The most likely reason is that the EDID data of your monitor is corrupted or not transferred correctly.
EDID tells your system which features the monitor has and which resolution it supports.
First check if there's anything which could prevent the EDID exchange: Broken cable, damaged connector, VGA-DVI adapter, one-monitor-two-workstations switch, ...
You could try to completly disable EDID for your monitor, a quick Google search revealed that this frequently resolved similar problems for other users.
If this can't be done with the driver software, a last resort would be to disable the pins responsible for EDID on your DVI cable.
Taken from: http://www.overclock.net/ati/47962-way-disable-edid.html
However do be careful: do your own research first and best try with a separate DVI cable first.
I switched from using a DVI cable to a VGA cable, and then the monitor was detected and its native 1680 x 1050 resolution was available and automatically selected.
I'm going to answer this even though it's over three years after the original question was asked.
I ran into this problem recently, and I came across what I believe is a pretty ideal solution. The instructions in the link are pretty clear, but I'm going to post an edited list because there were a few missing steps and some minor inaccuracies:
- Download Phoenix.zip and extract it to a working folder.
- Run it and click the "Extract Registry EDID" toolbar button.
- A list of monitors should appear.
- Try to find the monitor that matches the monitor that is giving you problems.
- Review the settings, and if they don't match the actual capabilities of the monitor, perform steps 6-9 (otherwise, skip to step 10).
- Click the pencil toolbar button for edit mode.
- Change the EDID settings to reflect you display's true capabilities.
- Pay special attention to the Standard Timings tab.
- Detailed Timing blocks 2-4 provide some very interesting additional options.
- Save the EDID to a .DAT file in your working folder.
- Download moninfo.exe and install it.
- Open the saved .DAT with MonInfo and make sure it doesn't complain about it.
- If it does post here for help.
- If MonInfo reads in and displays the settings the way you configured them in Phoenix then...
- Select "Create INF..." from the file menu and save it to your working folder.
- Feel free to edit the strings in the INF to your liking. [Note: I didn't understand this step and ended up just ignoring it, but I'm leaving it in just in case it helps someone.]
- Open Start, type "devmgmt.msc", and press Enter.
- Select the monitor you want to change (in my case, it was "Generic Non-PNP Monitor").
- Right click and select Update Driver Software.
- Click "Browse my computer for driver software".
- Click "Let me pick from a list of device drivers on my computer.
- Click Have Disk...
- Browse to the INF file in your working folder.
- Click next to override with your new INF.
- Restart your computer and enjoy your new resolution!
Try choosing another equivalent monitor, such as the Dell 22" you tested, instead of "Generic PnP". I've had this problem in the past when connecting to a high resolution overhead projector, and selecting a different monitor from the Windows built-ins did the trick.
Three suggestions ...
... Under the Display control panel, click on Advanced Settings and go to the Monitor page. Under Monitor settings, check the screen refresh rate - if this is too high, some resolutions may be locked out on the main screen. Given that you have a LCD, this should be set to 60Hz and left there.
... same location as above, but turn off the setting Hide modes that this monitor cannot display.
... Alternatively under the Adapter tab instead, press List All Modes and select the exact mode you want. This dialog bypasses the usual safeties, so you can screw things up, but should let you set exactly the resolution needed.
Hopefully one of these will let you go back to DVI and the better display that results.