How to Force DVI or HDMI Resolutions and Refresh Rates in Windows 7
Information
There have been innumerable posts on SevenForums about things like 59Hz refresh rates and 1080p 16:9 HDTVs that display only 1024x768 when connected with DVI or HDMI. After a ton of research and development I think I've got a working solution for virtually all of these issues.
Starting with Vista, Microsoft has required graphics vendors to read and respect monitor capability information from the display itself if they wanted to pass Windows Hardware Quality Labs (WHQL) certification. This display capability data is encapsulated in an EDID. Few HDTV manufacturers sought WHQL and it's unclear whether Microsoft tests display EDIDs from monitor manufacturers as a WHQL requirement. Please let me know if you have a WHQL display that seems to have a bad EDID.
As a result, many DVI/HDMI connected HDTVs and some monitors are locked into displaying only those resolutions and refresh rates that are specified in the EDID. No graphics adapter or driver is supposed to allow configurations not listed in the EDID at least as a default. Newer ATI drivers allow for a small number of HD resolutions to be forced but it's been hit or miss for the users I've surveyed and nVidia's offerings don't seem to be a 100% solution either.
The natural solution would appear to be changing the EDID information in the display. Rarely, this is possible with Powestrip if the display stores the EDID in a flash memory but more commonly the EDID is stored in an EPROM that can only be updated with specialized hardware. I've talked with several display vendors during the development of this tutorial and none of them consider a bad EDID grounds for warranty service. So if next to no displays support updating the EDID through software and the manufacturer won't fix the hardware, what are we left to do? Break out the toolkit and warm up the soldering iron?
While that's well within my capabilities it seems to put some end-users off a bit, although I really can't understand why -- I love the smell of solder in the morning! But there has to be a better way right? Again, Microsoft has a solution if you really dig for it and do your homework: How to Use an INF to Override the Monitor EDID While it's not intended for end users, what really fun stuff is? The challenge was to develop a method accessible to a greater audience -- to improve on the solution that Microsoft provides that's intended for hardware manufacturers and make it work for us.
Warning
Prerequisites
Read and understand both linked documents above.
Post questions if anything is unclear before you proceed.
Don't blame me when you ruin your $3000 HDTV. Smoke can happen.
Read up on what your displays true capabilities are stick close to them.
This is more of a coffee tutorial than a beer tutorial...
Procedure
Download Phoenix.zip and extract it to a working folder.
Run it and click the registry toolbar button.
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 interested additional options.
Save the EDID to a .DAT file in the working folder.
Thanks a lot for this tutorial. I had never seen my monitor with 1280x1024 and 72Hz of refresh rate. I can choose 60, 70 and 75Hz but 72Hz was not in the EDID. Now I can choose 72Hz and my 24fps movies looks fantastic! Thanks again.
OS Windows 7 Professional x86 RTM CPU Athlon XP 2800 Motherboard ABIT NF7-S v2.0 Memory 1.5 Gb Graphics Card ATI Radeon 9600 Sound Card nForce2 SOUNDSTORM Monitor(s) Displays V7 S17PS Screen Resolution 1280x1024 72Hz
PSU Levicom 450W Hard Drives SEAGATE BARRACUDA 160Gb Internet Speed 10MB ADSL
The first problem was, that my Registry Display List in Phoenix was empty (in Windows 7), therefor I decided to reboot to my other OS, which is Windows Vista x64.
In Vista x64 it did show the monitors, so I followed the rest of the steps. I edited it 1600x1200 to 100 Hz and 1280x1024 to 100 Hz (since my CRT monitor fully supports this).
I edited some names in the .inf file (only renamed the monitor). Rebooted back to Windows 7 and installed the .inf. It loaded the monitor correctly in the devices list, however I still cannot select a refreshrate higher than 85 Hz (same as before).
How come? Am I doing something wrong? Please advice.
The first problem was, that my Registry Display List in Phoenix was empty (in Windows 7), therefor I decided to reboot to my other OS, which is Windows Vista x64.
In Vista x64 it did show the monitors, so I followed the rest of the steps. I edited it 1600x1200 to 100 Hz and 1280x1024 to 100 Hz (since my CRT monitor fully supports this).
I edited some names in the .inf file (only renamed the monitor). Rebooted back to Windows 7 and installed the .inf. It loaded the monitor correctly in the devices list, however I still cannot select a refreshrate higher than 85 Hz (same as before).
How come? Am I doing something wrong? Please advice.
Thanks for your time.
This is the only thing I have changed. Before was a 60 now a 72. Of course your problem can be different and not like mine.
My monitor is a LCD connected through DVi, BTW. This probably does'nt work for CRTs.
OS Windows 7 Professional x86 RTM CPU Athlon XP 2800 Motherboard ABIT NF7-S v2.0 Memory 1.5 Gb Graphics Card ATI Radeon 9600 Sound Card nForce2 SOUNDSTORM Monitor(s) Displays V7 S17PS Screen Resolution 1280x1024 72Hz
PSU Levicom 450W Hard Drives SEAGATE BARRACUDA 160Gb Internet Speed 10MB ADSL
The first problem was, that my Registry Display List in Phoenix was empty (in Windows 7), therefor I decided to reboot to my other OS, which is Windows Vista x64.
In Vista x64 it did show the monitors, so I followed the rest of the steps. I edited it 1600x1200 to 100 Hz and 1280x1024 to 100 Hz (since my CRT monitor fully supports this).
I edited some names in the .inf file (only renamed the monitor). Rebooted back to Windows 7 and installed the .inf. It loaded the monitor correctly in the devices list, however I still cannot select a refreshrate higher than 85 Hz (same as before).
How come? Am I doing something wrong? Please advice.
Thanks for your time.
It's designed to work as an override. In your case you don't have an EDID to override. I don't have a strange setup like that so I was not able to test it and thus have no idea what it'll do. I will ask this -- did your monitor renaming show up?
System Manufacturer/Model Number baarod/MCP OS Windows 7 Ultimate 64-bit CPU Core2 Quad Q6600 @ 3.6GHz 9x400FSB Motherboard Gigabyte G33M-S2H Memory 4GB DDR2 1066 Graphics Card ATI Radeon HD 4670 Sound Card Integrated Azalia Monitor(s) Displays Acer AL1711 Screen Resolution 1280x1024
Keyboard Microsoft Wireless Comfort Keyboard 4000 Mouse Microsoft Wireless Lasr Mouse 5000 PSU 240W TFX Case InWin BT566 Cooling Intel Retail Stock Hard Drives OCZ Vertex SATAII w/ 1.5FW 30,528MB system and apps
Maxtor 6L300R0 PATA 286,188MB page file, data and user profiles Internet Speed 3Mbps Verizon DSL over 802.11g Other Info Hauppauge WinTV PVR II Tuner, Generic $13 SoC Webcam, RT61 WiFi with remote antenna, Media Center Remote and Receiver
OS Windows 7 Professional x86 RTM CPU Athlon XP 2800 Motherboard ABIT NF7-S v2.0 Memory 1.5 Gb Graphics Card ATI Radeon 9600 Sound Card nForce2 SOUNDSTORM Monitor(s) Displays V7 S17PS Screen Resolution 1280x1024 72Hz
PSU Levicom 450W Hard Drives SEAGATE BARRACUDA 160Gb Internet Speed 10MB ADSL
System Manufacturer/Model Number baarod/MCP OS Windows 7 Ultimate 64-bit CPU Core2 Quad Q6600 @ 3.6GHz 9x400FSB Motherboard Gigabyte G33M-S2H Memory 4GB DDR2 1066 Graphics Card ATI Radeon HD 4670 Sound Card Integrated Azalia Monitor(s) Displays Acer AL1711 Screen Resolution 1280x1024
Keyboard Microsoft Wireless Comfort Keyboard 4000 Mouse Microsoft Wireless Lasr Mouse 5000 PSU 240W TFX Case InWin BT566 Cooling Intel Retail Stock Hard Drives OCZ Vertex SATAII w/ 1.5FW 30,528MB system and apps
Maxtor 6L300R0 PATA 286,188MB page file, data and user profiles Internet Speed 3Mbps Verizon DSL over 802.11g Other Info Hauppauge WinTV PVR II Tuner, Generic $13 SoC Webcam, RT61 WiFi with remote antenna, Media Center Remote and Receiver
I do have to say that this tweak might be a little beyond my level. I downloaded the phoenix program and ran it and am looking at all my settings and many of the modes listed are in 16:10 with strange refresh rates that I have no idea about. I must say that I'd be very lucky to modify anything correctly. It's not that I don't know what any of that stuff is, but why the values seem so foreign and which ones will affect exactly what I'm looking for. I don't see anything about 1280x960 in there at all. Etc...