Force DVI/HDMI resolutions and refresh rates

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! :geek: 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
  1. Download View attachment Phoenix.zip and extract it to a working folder.
  2. Run it and click the registry toolbar button.
  3. Click the pencil toolbar button for edit mode.
  4. Change the EDID settings to reflect you display's true capabilities
  5. Pay special attention to the Standard Timings tab.
  6. Detailed Timing blocks 2-4 provide some very interested additional options.
  7. Save the EDID to a .DAT file in the working folder.
  8. Download moninfo.exe and install it.
  9. Open the saved .DAT with MonInfo and make sure it doesn't complain about it
  10. If it does post here for help
  11. If MonInfo reads in an displays the settings the way you configured them in Phoenix then...
  12. Select Create INF... from the file menu and save it to the working folder.
  13. Feel free to edit the strings in the INF to your liking.
  14. Open Start, type devmgmt.msc and press Enter.
  15. Select the monitor you want to change, right click and select Update Driver Software
  16. Use the tried and true "Have Disk" method to select the INF and install it.
  17. Reboot and enjoy your new resolution!




 
Last edited by a moderator:
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.
 

My Computer

OS
Windows 7 Professional x86 RTM
CPU
Athlon XP 2800
Motherboard
ABIT NF7-S v2.0
Memory
1.5 Gb
Graphics Card(s)
ATI Radeon 9600
Sound Card
nForce2 SOUNDSTORM
Monitor(s) Displays
V7 S17PS
Screen Resolution
1280x1024 72Hz
Hard Drives
SEAGATE BARRACUDA 160Gb
PSU
Levicom 450W
Internet Speed
10MB ADSL
Well this didn't work for me.

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 W7 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.
 

My Computer

OS
Windows 7 & Windows XP x64
Well this didn't work for me.

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 W7 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.

[img=http://img172.imageshack.us/img172/623/captureslh.png]
 
Last edited:

My Computer

OS
Windows 7 Professional x86 RTM
CPU
Athlon XP 2800
Motherboard
ABIT NF7-S v2.0
Memory
1.5 Gb
Graphics Card(s)
ATI Radeon 9600
Sound Card
nForce2 SOUNDSTORM
Monitor(s) Displays
V7 S17PS
Screen Resolution
1280x1024 72Hz
Hard Drives
SEAGATE BARRACUDA 160Gb
PSU
Levicom 450W
Internet Speed
10MB ADSL
Well this didn't work for me.

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 W7 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?
 

My Computer

Computer type
Laptop
Computer Manufacturer/Model Number
Apple
OS
El Capitan / Windows 10
CPU
i7-4980HQ
Memory
16GB
Graphics Card(s)
Iris 5200
"The full EDID spec can only be read via DVI."
I have read this in another forum. That would explain it.
 

My Computer

OS
Windows 7 Professional x86 RTM
CPU
Athlon XP 2800
Motherboard
ABIT NF7-S v2.0
Memory
1.5 Gb
Graphics Card(s)
ATI Radeon 9600
Sound Card
nForce2 SOUNDSTORM
Monitor(s) Displays
V7 S17PS
Screen Resolution
1280x1024 72Hz
Hard Drives
SEAGATE BARRACUDA 160Gb
PSU
Levicom 450W
Internet Speed
10MB ADSL

My Computer

Computer type
Laptop
Computer Manufacturer/Model Number
Apple
OS
El Capitan / Windows 10
CPU
i7-4980HQ
Memory
16GB
Graphics Card(s)
Iris 5200
Hmm

From: http://www.sevenforums.com/tutorials/256-screen-refresh-rate-display-settings.html#post107257

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...
 
Last edited by a moderator:

My Computer

OS
Windows 7 Build 7100
From: http://www.sevenforums.com/tutorials/256-screen-refresh-rate-display-settings.html#post107257

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...

If you have a flat panel (LCD etc.) then the refresh you need is 60. 1280x960 is not a VESA mode so you'll need the monitor timings from the display manufacturer website.
 

My Computer

Computer type
Laptop
Computer Manufacturer/Model Number
Apple
OS
El Capitan / Windows 10
CPU
i7-4980HQ
Memory
16GB
Graphics Card(s)
Iris 5200
I'm stuck!

When i open Phoenix and click in the registry button, it just show me an empty screen
http://i41.tinypic.com/2dmbnnn.jpg

:cry:

How is your monitor connected to your video card? What you're describing occurs when Windows 7 cannot read the monitor EDID. This generally happens when you have the monitor connected to the computer sub-optimally.
 

My Computer

Computer type
Laptop
Computer Manufacturer/Model Number
Apple
OS
El Capitan / Windows 10
CPU
i7-4980HQ
Memory
16GB
Graphics Card(s)
Iris 5200
No answer and still not able to select resolutions higher than 85 Hz.
It's killing me. :(

What's your monitor make and model. I'll find a couple linux modelines for it and make you some infs to try. What resolution and refresh are you hoping for again?
 

My Computer

Computer type
Laptop
Computer Manufacturer/Model Number
Apple
OS
El Capitan / Windows 10
CPU
i7-4980HQ
Memory
16GB
Graphics Card(s)
Iris 5200
Well I have 1 CRT monitor (which I use as my main monitor for gaming) and a LCD screen (using as secondary screen for browsing and stuff).

The CRT is a Viewsonic P227f and I would really love to have the following resolutions and refreshrates:

1280x1024 @ 100 Hz (or 120 Hz)
1600x1200 @ 100 Hz
1920x1200 @ 100 Hz
1920x1440 @ 85 Hz
2048x1536 @ 75 Hz

These resolutions and refreshrates are working without problems in Windows Vista x64, but not in Windows 7... :(

Thanks for trying to help so far!
 

My Computer

OS
Windows 7 & Windows XP x64
I have always asked myself why Windows, since it's 2000 incarnation would not play nice with monitors. I've used all sorts of hacks since then to fix the refresh rate problem, and comming to Windows 7 I wanted a final fix. I almost tossed out this latest OS, with my eyes crying from the 85hz that I was not used to.

For some users, EDID hacking would not work no matter what. Some are forced read-only, some are corupted, some cannot be read properly. The only solution is to do a physical modification to block the monitor's report of optimal resolutions and refresh rates. So let's add an extra step. All you need is to remove a pin from the connector, using force, bending it slowly in one direction and then in the other until it breaks.

VGA Connector * DVI Connector * HDMI Connector

For CRT, it's imperative to use some vga-vga extender/dvi-vga dongle and to make modification on that, not on the monitor's cable directly because it's not easy to replace.
#VGA-VGA extender: Remove pin number 12
#DVI-VGA dongle: Remove pin 7
For newer displays, I guess it works the same (remove pin 7 on the DVI side of the DVI-DVI, DVI-HDMI) but I did not test it.
Some video cards have also an HDMI port, and if connected to an HDMI device this would be harder to mod but not impossible (A type HDMI pin would be 17, B type 27).

After modding, your monitor will be detected as standard and you need to change it's driver to the one you have created using guides to EDID override. If you have the original driver, you should merge in the color profile settings as it is very important for accurate colors. Sections are:
[SourceDisksFiles]
nameoforiginalicmprofile.icm=1
[OVERRIDDEN-EDID.AddReg]
HKR,,ICMProfile,0,"nameoforiginalicmprofile.icm"
[OVERRIDDEN-EDID.CopyFiles]
nameoforiginalicmprofile.icm

Nvidia cards do not sync refresh rate in games with the desktop refresh rate, you need some tool like DirectRefresh or RefreshRatePatcher
 

My Computer

Computer Manufacturer/Model Number
Foxconn
OS
Windows 98SE
CPU
E2180
Motherboard
Foxconn 945P7AD
Memory
Geil 2x1GB DDR800
Graphics Card(s)
Palit 8800GS 384MB
Sound Card
Realtek 861
Monitor(s) Displays
Samsung 795DF CRT
Screen Resolution
1280x960
Hard Drives
Maxtor 80GB SATA1
PSU
FSP ATX-400PNF
Case
TLA-570A
Cooling
Schyte Mugen
Keyboard
Logitech ps/2 Black Internet Keyboard
Mouse
MSL4 (A4Tech inside)
Internet Speed
10mbit
Does this really work?

And just to make sure. I will only need to remove pin 7 on the DVI connector, right?
Before I am going to make any kind of adjustments, I will order a DVI-DVI extender or something. Just to be sure.

But I don't completely understand what this will solve? Cause in Vista my refreshrates work perfectly, but only in Windows 7 it doesn't allow me to select my appropiate refreshrate. Therefor the problem would be W7 and not my CRT monitor, right?

Please explain.
 

My Computer

OS
Windows 7 & Windows XP x64
Yes it would work. You must have a high end CRT if it has DVI already.
And for the reasoning behind it, Windows 7 plays it safe and uses by default the settings found in the monitor's EDID (firmware).

On my CRT, recommended settings were 1024x768@85Hz, and very conservative VESA timmings on all resolutions up to 1600x1200. The manufacturer released a driver which increased the resolution up to 1792x1344 and refresh rates up to 150hz.

In previous versions of Windows, after installing the original driver and selecting "Hide modes that this monitor cannot display", the correct refresh rates were selected, based upon resolution and maximum vertical refresh rate and horizontal sync rate (pixel clock=video bandwidth).

In Windows 7, the original manufacturer driver is not allowed anymore to override the internal EDID (monitor firmware presets) so I have to physically block the EDID reporting and use my custom monitor driver with an virtual EDID.

Before any hardware modification you must create your monitor profile in Phoenix EDID Designer or other compatible software, and to modify only Standard Timings and on Detailed Timings on Block 1 you will find the default settings that Windows uses (recommended resolution). The Pixel Clk is the one responsible for the refresh rate on your selected resolution, you will have to experiment on that as not all dividers are available (Mod-lines).
Please dont exceed the monitor's range limits (Block 2).
 

My Computer

Computer Manufacturer/Model Number
Foxconn
OS
Windows 98SE
CPU
E2180
Motherboard
Foxconn 945P7AD
Memory
Geil 2x1GB DDR800
Graphics Card(s)
Palit 8800GS 384MB
Sound Card
Realtek 861
Monitor(s) Displays
Samsung 795DF CRT
Screen Resolution
1280x960
Hard Drives
Maxtor 80GB SATA1
PSU
FSP ATX-400PNF
Case
TLA-570A
Cooling
Schyte Mugen
Keyboard
Logitech ps/2 Black Internet Keyboard
Mouse
MSL4 (A4Tech inside)
Internet Speed
10mbit
Yes it would work. You must have a high end CRT if it has DVI already.
And for the reasoning behind it, Windows 7 plays it safe and uses by default the settings found in the monitor's EDID (firmware).

On my CRT, recommended settings were 1024x768@85Hz, and very conservative VESA timmings on all resolutions up to 1600x1200. The manufacturer released a driver which increased the resolution up to 1792x1344 and refresh rates up to 150hz.

In previous versions of Windows, after installing the original driver and selecting "Hide modes that this monitor cannot display", the correct refresh rates were selected, based upon resolution and maximum vertical refresh rate and horizontal sync rate (pixel clock=video bandwidth).

In Windows 7, the original manufacturer driver is not allowed anymore to override the internal EDID (monitor firmware presets) so I have to physically block the EDID reporting and use my custom monitor driver with an virtual EDID.

Before any hardware modification you must create your monitor profile in Phoenix EDID Designer or other compatible software, and to modify only Standard Timings and on Detailed Timings on Block 1 you will find the default settings that Windows uses (recommended resolution). The Pixel Clk is the one responsible for the refresh rate on your selected resolution, you will have to experiment on that as not all dividers are available (Mod-lines).
Please dont exceed the monitor's range limits (Block 2).

Okay thanks for the detailed explanation. I will order a DVI-DVI extender (or something alike) and will do as you said. The only thing breakable is the extender. Which is approx. 15 Euro or something or even less.

I already tried fooling around with Phoenix EDID Designer, however I haven't achieved the results that I wanted.

Good to see someone has finally received some results with regards to refreshrates!

As soon as I have received the DVI-DVI extender I will give it a go and report back here.
 

My Computer

OS
Windows 7 & Windows XP x64
Back
Top