Friday, February 1, 2008

Make 1680x1050 and 1440x900 resolution available on Intel 82852/82855 GM/GME Chipset


Prehistory

A couple of days ago I purchased a shiny new SyncMaster 226cw monitor to replace broken display on my friend’s laptop (which he kindly lent me, so I could work at home sometimes). After installing fresh MS Windows copy using the 226cw connected through VGA (CRT) port (actually it was only way I found to set output to external monitor as default option for normally staring Windows), I was realized what there is no way to set native 1680x1050 resolution for 226cw even after latest SyncMaster drivers were installed. And here the quest began...

There was no problem to figure out what the trouble is in the graphical chipset which is Intel 82852/82855 GM/GME. But it was unclear how to overcome this and is it possible at all. Intel has this problem solved only in more new chipsets – no straight way to fix. Fortunately I found this discussion and this article. And by the way the problem was almost solved, but almost only. There was still one unknown artifact, so called Modeline or DTD from 226cw. At last I found one suitable. So now I can describe how to force 852/855 chipset to work properly with your monitor's native resolution.


Getting things done

First of all go to the Intel Download Center, type IEGD into the search window, choose the chipset you have (852/855 in my case):



and then OS System. Your download is in “for Developers” section:



Install it using defaults, run iegd-ced.exe. Press New DTD. Now you supposed to enter specific technical parameters of the monitor you a going to use. Here I provide you with DTD for 1680x1050 and 1440x900 resolutions for 226cw. If you have another LCD you obviously need another data. You can google it using your monitor's model name and "Modeline" word. Modeline gives the same parameters in different format. The common Modeline looks like this: Modeline "1440x900@60.00" 106.47 1440 1520 1672 1904 900 901 904 932 -HSync +Vsync. This one for resolution 1440x900 at 60 Hz. I guess you are really don't care what does other numbers mean, so I just show you how transfer Modeline values to DTD:



Then you have DTD parameters, you are ready to fill the New DTD form in IEGD. Here is filled DTD for 1680x1050 on 226cw:



and 1440x900 on 226cw:



DTDs are prepared, you a ready to proceed with "New Configuration" now. Enter the Configuration File Name and select your Platform Chipset, disable the Display Detection. Select appropriate Display Configuration Mode. If you are going to use the external monitor as secondary one, your option is Dual Independent Head. The Port Order in this case is LVDS (1st, corresponds to laptop's display) and CRT (2nd, it is for external monitor connected through VGA port). In case you connect monitor using DVI, then instead of CRT take one DVO, not sure which one, you are free to experiment). Anyway if you are to use two monitors, the main one should have its port at the first line in Port Order. I was forced to use the same CRT as main and only monitor in my system, so my configurations were:



Click next. Check both "Use user-defined DTDs" boxes, type Readable Port Name (the name itself has no matter), for each monitor select both DTDs, DVO Device and mark Native DTD Flag.



Proceed with New Package:



Generate Installation:



The further process is clear with no comments:





You may have more than one display adapter listed, update all (obviously two) Intel chipset display adapters as shown below:

























After restart go to Display Properties (through right click on desktop, then Properties) and set external screen resolution to its native:




Postscript

I am not pretending to be the first person who has found this solution and described it. I just want to make it easier for ordinary user to understand, because I know how frustrating it is when your new monitor is able to show only blur text and stretched images...

As a conclusion and just for fun, my properly working spectrum-like system: