A couple of months ago, I upgraded my bedroom HTPC with a new ITX system using a Zotac GF9300-G-E motherboard. Everything worked out fine except there was some terrible display issues when using my Hannspree XV37’s native resolution of 1360×768. It just had no color and looked really washed out. I tried just about everything I could find to fix it, but my only fallback was to use a 1080i resolution and then resize the desktop to fit. It was not what I had hoped, but it looked good enough, so I settled.
Even though videos have looked good and I’ve even forgotten about it for the most part, I still would encounter that little ‘niggle’ in the back of my mind and it bothered me. So today, I decided to set out and revisit this problem. The majority of my reading led me to driver hacks that worked in XP and Vista, but not really anything for Windows 7. What did turn up for Windows 7 did not seem to be too reliable, so I passed on most of it. It appeared the most successful, was the Vista driver hack that was prevalent 2 or 3 years ago, but the driver for Windows 7 has changed and no longer accepts the edits to the inf. However, all the edit to the inf did in Vista was create a specific registry key that provided an EDID override – that should still work. I just need a new vehicle to add it and I suppose it will have to be manually.
***Disclaimer: The following instructions make changes to your system’s registry. Continue at your own risk!***
The first thing you want to do is grab the Phoenix EDID Designer. It’s a standalone utility…just unzip and run on your HTPC connected to the TV you need to ‘fix’. Once run, go to Tools and click on Extract Registry EDID and select your current display (there may be multiple entries if you have ever connected other displays). Next, click on Tools and select Byte Viewer. You’ll get a small window popup with a bunch of byte values. We’re interested in the first row values from 08 through 0B (the columns across the top). As you can see in the image, my values are 22,70,7A, 01.
The last step is to open the registry editor (regedit.exe) and find HKLM\SYSTEM\CurrentControlSet\Control\Video. In here, you will want to expand and go through each of the entries finding 0000. The one you are looking for will have several subkeys – Display, Settings, Uninstall and VolatileSettings. Once you find it, right click on that 0000 key and choose New > Binary Value. Name this OverrideEdidFlags0 (that last character is a zero – this font does not make it look like one). Now, right click on your new entry and choose Modify Binary Data… You are going to put in your 08-0B values in and then continue on adding 00 00 FF FF 04 00 00 00 7E 01 00. For example, since my values were 22,70,7A,01 my string looks like this:
22 70 7A 01 00 00 FF FF 04 00 00 00 7E 01 00
Click OK, exit the Registry Editor and reboot. Once your system comes back up, it should be set at your HDTV’s native display…at least mine was. If not, you may need to try setting it yourself. I’m not really sure what happens if it doesn’t work. Hope this helps someone!
It never really occurred to me until just now, but I was browsing over at AVS Forums and spotted the EDID Override Thread in the Home Theater Computers forum section. For some reason, I had always thought that thread was for ATI cards, but it is not. I haven’t read it all, but jumping to the last page (32 at the time) showed me pretty much the same instructions as I just posted. The kicker is that there are alternative methods on the previous pages. I have read it, but it may be of interest to you if you got here by a search. Here is the thread.