DTD Calculator:Clever Technology Making Custom Resolutions for Intel Graphics Easier
For those of you who have or are considering Intel integrated graphics solutions, you may or may not have observed that the standard tool for coping with custom resolutions-- EnTech's Powerstrip-- doesn't work properly with Intel graphics. Why that is is somewhat irrelevant to the discussion here. The important thing is that the Powerstrip situation doesn't appear to be changing anytime soon, and Intel hasn't published any information which implies there is something in the works at their end.
This situation comes at a very annoying time, since the Intel Graphics are becoming a better and better solution for a home theater PC with new DVI and HDMI solutions and better video processing capabilities.
Intel graphics have the capability of specifying custom timings using the VESA standard Detailed Timing Descriptor (DTD), but it's a register hack and the method is cryptic (see http://softwarecommunity.intel.com/W...aphics/239.htm
for more than you've ever wanted to know on the matter). A better method is desirable: something graphical as Powerstrip provides, and as Nvidia and ATI provide as well. Not sure it will ever be easy to understand, but it should at least be easier to get the work done. That's where a freeware program called DTDCalculator (developed out of the kindness of their heart by the nice guys at Clever Technologies
in the UK) comes in.
DTDCalculator's primary goal is to take a very manual, math-intensive process and make it human. And I think it succeeds.
1) You can download the software installer from my personal site athttp://members.cox.net/archibael/setupdtd100.exe
Clever Technologies is also hosting:http://www.clevertec.co.uk/productsfree.htm#dtdcalc
2) Install the SW and start it up. Note that you need to be running the application with Administrative privileges in order to write to the registry under Vista with UAC enabled.
3) Get one or more DTDs from some source and write them to the registry
There are several starting places:
a) One of the most accurate (for your particular monitor) would be by grabbing the EDID data from the Intel Graphics Tray Information button (choose "Save to File" and the raw EDID will pop up). Use the instructions from the DTD Wiki
I referenced above to find the proper DTDs, paste one into the DTD field of the Reverse Calculation screen and hit the button there.
b) Another option is to find a Linux Modeline out there which someone has used for your monitor, and to input the parameters into the left panel, thus autogenerating the proper DTD for use with Intel graphics.
c) Another is to use a standard (provided), Consumer Electronics Association resolution by selecting one of the choices under "Standard Timings" in the Calculations tab.
In each case, the DTD Calculator tool will show the DTD across the bottom of the window, and will show the exact timing parameters in the left panel. Once you've inserted or selected a basic DTD, proceed to the Registry Hack section. You may or may not have DTDs on this screen (depending on if you've hacked them before or not), but if you want more resolutions than are listed shown there, click the More button. A blank DTD will be generated, ready to be stuffed into the registry. Since we've already got one selected, click "Get Calculated". This will take the current DTD and put it in memory as something you want to send to the registry as a selectable resolution. Repeat for as many as you'd like (up to five). When done, click "Write DTDs to Registry". Reboot, and the new resolutions you inserted should be selectable using the normal methods (Intel Graphics Tray or Windows Display Properties Settings).
Just as a note: if you write to the registry a resolution which matches, in description, one which the Intel graphics drivers are already providing ("1920x1080 interlaced @ 60Hz"), when the reboot occurs only one of the two will be selectable. Which is it? Is it the one you're using to do your overscan correction, or is the driver default one? There's no way to tell! So before putting your DTD in the Registry Hack screen, "tag" it by giving it a very obviously non-standard resolution. Changing the Horizontal Active pixels by 1 or 2 in the left panel is probably your best bet. That way you'll be able to distinguish between "1920x1080i @ 60Hz" and your custom "1922x1080i @ 60Hz". Don't be too worried about the exact resolution you select being "right"; this is just temporary, anyway. Your final overscan-free DTD will be something drastically different from the original and it's unlikely you will ever confuse 1920x1080 with 1898x1070. This method has the added bonus of fooling the drivers into being able to display resolutions your vendor (typically laptop) has (for whatever reason) specifically disabled in their BIOS
4) Overscan Correction
At this point, especially if you've chosen 1080i or 720p, your TV probably has some level of overscan, meaning that the edges of your desktop or other content is beyond the edges of your screen, and you can't access taskbars or the minimize or close buttons. Highly annoying! Fortunately, that's the primary function of DTD Calculator: eliminating this pesky overscan. Open DTD Calculator, go to Registry Hack again, find the DTD which matches the resolution you are currently in and click Create Modeline to load the current DTD into memory.
Proceed to the Tuning tab, and click Ruler. Superimposed translucently on your desktop is a window you can use to find the right dimensions for your screen. Stretch it to fit to the edges of your screen (use the up/down left/right buttons to do fine tuning if your mouse hand is as jittery as mine) and when you're done click the Apply button. The new, non-overscanned screen size will be computed as a new DTD (you may notice the parameters have now changed.... or you may not, if you don't ordinarily memorize resolution timing parameters).
5) Fine tuning
You've sized the desktop appropriately, now, to fit your screen, but is the image where you'd expect it to be? Or is it shifted left, right... in some way askew? You can use the buttons on the tuning screen to ensure the image moves to the right spot on screen, and you can watch the little image move around the big black box.
When you're done, and the resolution is as you like it, go back to the Registry Hack tab, choose one of the five available DTD "slots" in the registry, and click "Get Calculated" to change it to what you currently have developed. Click "Write DTDs to Registry" again to rewrite the new resolution to the registry, and then reboot. The new DTD will show up now under the regular resolutions. It's likely something really weird like 1820x996 or 1198x712, but it will be there and it should provide you with an overscanless screen to the limits that your monitor can provide. Voila!
7) There are other ways you can use the DTD Calculator-- a pure way of calculating a Modeline from the EDID (or vice versa). It's an excellent tool and I urge anyone who comes up with a useful application for it aside from what I've outlined here to post your experiences.Afterword
Again, I ask you to be fairly kind in any suggestions or requests for new features. It's not my software (though it makes my life easier) and it is in fact provided by some folks who just thought it would be a nice favor to do for the community. They didn't write the Intel drivers, and while I and they will probably try to help with any weirdnesses as much as can be done, the bottom line is: if there is a driver problem, go to Intel.
This software is provided with no guarantees, express or otherwise. (At least, I think I saw lawyerspeak like that on some software once. Maybe it will do the trick.)
I reiterate my special thanks to AVS's very own Wo0zy and to his cadre of folks. Without them this software would have been solely in my head, and my Brain-to-IA32 compiler SUCKS. They went above and beyond on this, adding functionalities I hadn't thought of. I cannot say enough good things about them.