IThastobecool.com Geeks have opinions too!

29Aug/0922

Intel 945 and External Display native resolution

Just a quick post in between ;) As promised I’m still working on my XenoCode post to followup on Mark’s VMware bash ;) .

I noticed messing around/coding/working etc all the time on my work laptop was killing my back, so I decided to buy 2 20” tft screens (Dell S2009W) and a docking station for my laptop so I would have a decent workplace @ home. Pretty much fun, untill I discovered that the monitors native resolution (1600x900) wasn’t supported by my laptops graphic card (Intel 945 Express,  Intel GMA 950 chip)… Hmm that was a real bummer…. after googling around I found this post talking about how to enable custom resolution on Intel graphics… But that looked mighty complicated at first and I didn’t want to bother…

After 2 days working on non-native resolution I decided I had to fix this, so I started again… this time I discovered the DTD Calculator

Basically what it comes down to:

  • Get your monitor info using MonInfo (make sure you have your external monitor attached, otherwise MonInfo will only report back data from your internal display, also make sure you selected your external monitor in MonInfo, you can see that quick enough if you look at Standard Timings Supported)

image

  • Paste your RAW DATA in the DTD Calculator tool on the Interpret EDID tab.
  • NOTE: Make sure you're running DTD Calculator as an administrator on Windows Vista / Windows 7. Otherwise the tool won't be able to edit the registry!

image

  • Press Interpret DTD

image

  • Double click the DTD in the right side column.
  • Go to Reverse calculation press reverse calculation

image

  • Go to the Registry Hack tab

image

  • Press the More button

image

  • Press Get Calculated

image

  • Press Create Modeline

image

  • Press Write DTDs to Registry

 image

  • The program prompts you to reboot your computer, do this and presto! You can select your monitor’s native resolution after rebooting the machine :)

IMPORTANT: Sometimes it can happen that the DTD you get for your monitors native resolution just won’t work on your system, even with this hack…

If the DTD data is correct in the registry but the resolution is still not available, it's a pretty good bet it's forbidden in the BIOS.  How do we get around this?  We cheat!  The BIOS contains the Mode Removal Table, and it has entries like "1600x900, 60Hz" and "1400x1000, 50Hz".  But it doesn't say anything about 1599x900, or 1399x1000, so those are allowed.  (Muahahahaha!  Can you feel the evil power you wield as we bypass this silly restriction?)  Ridiculous, really, and you'll lose 1 pixel on the side of your screen… who cares!

For more detailed information about calculating the DTDs and lowering a it by a pixel, please visit this page

For all you lazy people out there (like me ;) ) here is the right DTD for the Dell S2009W monitor (1599x600@60Hz):

2F 26 3F A1 60 84 1A 30 30 20 35 00 BB F9 10 00 00 1A

Tagged as: Leave a comment
Comments (22) Trackbacks (0)
  1. Great work, I tried to hack N times before for years but all failed and today get your hints on ‘BIOS trick’, now I finally got a 799×640 resolution for my 5:4 LCD ^^

    I made a google doc version of DTD calculator, if you are familiar with Linux modeline and Windows registry / INF, you may use this to make your own:

    http://spreadsheets.google.com/ccc?key=0Ah25O8pkxYq-dE4tWmtjZDZ6dFB5bTlrTkRkdmRvY3c&hl=en

  2. I need help here, i copied 2F 26 3F A1 60 84 1A 30 30 20 35 00 BB F9 10 00 00 1A buit it stated 65Hz its completely out of range… Can u please help me?

  3. Easiest thing to do is to follow my post… get MonInfo and DTD Calculator and calculate the correct DTD for your monitor…
    Is it a Dell S2009W?

  4. For an LG FLATRON W2043S instead 1600×900 use 1599×900 which is not blocked by BIOS.

    Here are :
    “TotalDTDCount”=dword:00000001
    “DTD_1″=hex:30,2a,3f,c9,60,84,64,30,1b,50,13,00,bb,f9,10,00,00,1e,37,01

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E968-E325-11CE-BFC1-08002BE10318}001]

  5. Thank you very much ! It’s all work, and now 1599х900 on my Samsung 2080 with Sony VAIO TZ

  6. Hi. I followed all the instructions. Got to the end and went to click the “Write DTDs to Registry”, but the button is disabled. There’s a message in the lower left that says “Intel Graphics Registry Key Not Found”. What key is it looking for and why isn’t it there?

  7. Did you run it as an administrator?
    The key it’s looking for: [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E968-E325-11CE-BFC1-08002BE10318}01]
    it’s looking for the following values
    DTD_1 (REG_BINARY)
    TotaDTDCount (REG_DWORD)

  8. Hi,
    thanks for this post. I have a toshiba satellite u205-s5044 with mobile Intel 945GM accelerator and just got an HP 2509m monitor that has resolution of 1920×1080. I followed all the instructions here and reboot and … nothing. No extra options of 1920×1080. It is at 1400×1050 (even though the card apparently supports higher than 1920×1080, but 1400×1050 was the highest resolution below 1080 that was in the standard resolution options. Help? Do I need to edt the registry myself?

  9. Try setting the DTD to a resolution of 1919×1080… could well be that your video BIOS is blocking 1920×1080

  10. Thank you Henk – that worked! It looks so much better now. I had seen that recommendation before but it just seems so insane for a company to block that particular resolution that I hadn’t tried it.

    One question though – when I play dvds in WinDVD10, it is supposed to upscale to 720p or 1080p and does not do this when I’m using my external monitor (though it does it just on my laptop). I’m thinking this is because the resolution is 1919 instead of 1920. Is there any way around this? I was thinking of getting a blu-ray drive but am concerned I might not be able to play blu-ray with the full resolution because I’m missing a pixel… Thanks again, Brandon

  11. Hmm I don’t know about WinDVD, but your explanation that it won’t upscale because it’s missing a pixel seems plausible… did you already try using VLC Media player? It’s a very good and free media player and I use it all the time without any problems.

  12. Thanks again Henk. I haven’t used VLC, but if you and others don’t have problems watching Blu-Ray movies in 1080p after having to switch to 1919×1080, then that’s reassuring. I don’t care about WinDVD, I just want to be able to watch movies in 1080p one way or another, from my computer, and it sounds like VLC or another player may be my answer. Again, thanks for this very valuable page and for your suggestions.

  13. I am running a Dell 620 with the intel 945GM, while running the DTD Cal, I also am getting the “intel Graphincs Registry Key Not Foun” in red. I am logged on as adminstrator, and I am running Windows XP.
    Any ideas what is going on here?
    Thanks

  14. Great info, however you can still use the program (DTD Cal) to update with your monitor res when your Bios is blocking the orig one, I know it tells us to go to a different site and that does have great info, somewhat scary for some of us, however you still can update by dropping one pixel with this super nice program rather than struggling to create your own and entering it…which for most of us it seems kind of scary. I will try and lay it out.
    If you followed the directions above from “Henk” (BTW great info) and your sure things were done correctly and your still not able to use your monitor’s resolution try this:

    Run the DTC Calc again all the way to the end just before you click the “Write DTDs to Registry” in the “Registry Hack” screen, look the the left side of the screen and you see all your screen info, change your “H Active Pixels” by lowing it 1 (my screen res was 1600x900p and I dropped down to 1599x900p), also lower the “H End of Blanking Interval” by 1 (mine was at 2112 dropped down to 2111). Now comes the actual progress made and hopefully a fix to our/your problem and tricking the Bios to working with your monitor, since you made the changes on the left side of the screen by lowering those two settings (H Active Pixels and H End of Blanking Interval) by one (1), click the “Get Calculated” button (still in the “Registry Hack” screen) and you should see the “DTD 1″ line change to compensate your changes, next click “Create Modeling”, you wont see any changes and than lastly the actual writing to the reg click the “Write DTDs to Registry” and it will ask to reboot…
    Once your computer reboots you should see the new res listed in the drop down box to select…in my case I now see 1599×900 as a res.
    Good luck, I hope this took some pressure of a bunch of people that were scared/confused to hack their registry the dirty way.

  15. Man, it worked!!

    After double clicking the ‘ Found DTDs’ I went to the ‘ Reverse calculation’ tab and – before pressing the ‘Reverse Calculate’ button!!!! – I changed the ‘H Active pixels’ in the left column to 1599.. then I manually entered that DTD (the one you see changing in the bottom line) and pressed ‘Revers Calculate’.. following with the same steps in your manual.

    Now I have a very sharp image on my Philips E201E (1600×900 res) as an extended monitor connected on my (windows XP) Acer Aspire 2920 with a max res of 1280×800!!!

  16. I too have repeatedly had problems with Intel 945 (and now 965) graphic cards with an external monitor – specifically an Acer P221w.

    I could not get the Acer P221w flat panel monitor to display in its native resolution of 1680×1050 on a Windows 7 Enterprise x64 (64bit) laptop with an Intel 965 graphics card.

    This was the same problem I had with a different laptop running WinXP x32 but was able to fix with DTDCalcultor’s “Registry Hack”

    In both situations …
    I (of course) installed the lastest drivers for the graphics card (from the laptop manufacturer – HP) and the latest drivers for the Acer monitor.

    I tried using the latest Intel graphics driver direct from Intel.com, but it complained that the HP one must be used.

    I tried modifying the Intel graphics driver’s .inf file as decribed in http://software.intel.com/en-us/articles/custom-resolutions-on-intel-graphics/

    And the first time (with the WinXP instance) I had tried installing this update from Intel (http://www.intel.com/support/graphics/sb/cs-028366.htm).

    In neither situation did any of this allow the Windows or Intel Graphic Properties settings page’s resolution selection list to display the Acer’s 1680×1050 native resolution.

    For WinXP I then used the DTD Calculator program to get the EIDE from the Acer and use the DTD Calculator “hack the registry” feature to get the Acer to work with that laptop. Unfortunately, this time with Win7 the DTDCalculator program wouldn’t display any data for the external Acer P221w so using that tweak as it worked for WinXP didn’t seem to be an option. This despite the fact that online forums have mentions of people using it on Win7. WTF???

    So, instead, based on the excellent info in the Software.Intel.com article (above), I located the following two name/value pairs in the WinXP laptop:

    “TotalDTDCount”=dword:00000001
    “DTD_1″=hex:21,39,90,30,62,1a,27,40,68,b0,36,00,d9,28,11,00,00,1c,37,01

    I was figuring this is probably what DTD Calculator’s registry hack feature had modified.

    FOR THE WIN7 laptop, I searched for “DTD_1″ and located ten instances of these n/v pairs. The GUIDs in the registry paths (below) will be different probably on each system!!!!!

    So I then changed all ten instances of these entries from this:
    “TotalDTDCount”=dword:00000000
    “DTD_1″=hex:01,1d,80,18,71,1c,16,20,58,2c,1a,00,00,00,00,00,00,86,37,01

    That DTD is for non-interlaced 1680×1050 resolution. No promises it will work for any other monitors than the Acer. I.e. your mileage may vary and result in a bluescreen. :-)

    Here is the guts of a .reg file that was used. DO NOT USE ON OTHER SYTEMS!!!!
    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    Windows Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class\{4D36E968-E325-11CE-BFC1-08002BE10318}000]
    “TotalDTDCount”=dword:00000001
    “DTD_1″=hex:21,39,90,30,62,1a,27,40,68,b0,36,00,d9,28,11,00,00,1c,37,01

    [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class\{4D36E968-E325-11CE-BFC1-08002BE10318}001]
    “TotalDTDCount”=dword:00000001
    “DTD_1″=hex:21,39,90,30,62,1a,27,40,68,b0,36,00,d9,28,11,00,00,1c,37,01

    [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Video\{769921D2-80B4-44B4-AFE1-7066E22EC156}000]
    “TotalDTDCount”=dword:00000001
    “DTD_1″=hex:21,39,90,30,62,1a,27,40,68,b0,36,00,d9,28,11,00,00,1c,37,01

    [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Video\{769921D2-80B4-44B4-AFE1-7066E22EC156}001]
    “TotalDTDCount”=dword:00000001
    “DTD_1″=hex:21,39,90,30,62,1a,27,40,68,b0,36,00,d9,28,11,00,00,1c,37,01

    [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Control\Class\{4D36E968-E325-11CE-BFC1-08002BE10318}000]
    “TotalDTDCount”=dword:00000001
    “DTD_1″=hex:21,39,90,30,62,1a,27,40,68,b0,36,00,d9,28,11,00,00,1c,37,01

    [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Control\Class\{4D36E968-E325-11CE-BFC1-08002BE10318}001]
    “TotalDTDCount”=dword:00000001
    “DTD_1″=hex:21,39,90,30,62,1a,27,40,68,b0,36,00,d9,28,11,00,00,1c,37,01

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E968-E325-11CE-BFC1-08002BE10318}000]
    “TotalDTDCount”=dword:00000001
    “DTD_1″=hex:21,39,90,30,62,1a,27,40,68,b0,36,00,d9,28,11,00,00,1c,37,01

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E968-E325-11CE-BFC1-08002BE10318}001]
    “TotalDTDCount”=dword:00000001
    “DTD_1″=hex:21,39,90,30,62,1a,27,40,68,b0,36,00,d9,28,11,00,00,1c,37,01

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Video\{769921D2-80B4-44B4-AFE1-7066E22EC156}000]
    “TotalDTDCount”=dword:00000001
    “DTD_1″=hex:21,39,90,30,62,1a,27,40,68,b0,36,00,d9,28,11,00,00,1c,37,01

    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

  17. Great info, save my day… managed to force my Vaio TZ to 1919×1080 resolution. spent whole day to force 1920 , but info from this place save me… Thanks a lot!

  18. Great help, thanks a bizillion times !!

  19. This worked great. Thanks for discovering this!

  20. hey. i have the problem where the ‘write dtds to registry is greyed out. How can I solve it? I have set run as admin already but still isnt working

  21. Original poster – YOU ARE STAR!! :)

    Worked for me on Fujitsu Siemens Amilo 2512, “downgraded” to Win XP SP3, with Intel 965 and Acer 19″ X193W. No driver could have set it to proper 1440×900 till I found your post!

    Thank You!

  22. Thank you, brilliant instructions! Have referred to this article a few times!


Leave a comment

*

No trackbacks yet.