Thursday, July 3, 2008

Want 1440 X 900 on Intel VGA?

I have been facing problem with setting my PC screen resolution with 1440 X 900 since I don't have it in my Display settings. After lot of research and google search I found the fix.

It seems Intel do not configure their driver to natively allow a resolution of 1440×900 (as well as other resolutions between 800×600 and the maximum supported resolution of 1680×1050). It seems this has also been a problem with other chipsets that Intel manufactures (from their 915 series upwards).

An inspection of the zip version of the driver (Intel provide 2 drivers, one in the form of a self extracting .exe and the other is a .zip file containing all the driver files) for my graphics controller
revealed that a file within the driver- igxp32.inf (a setup information file) would allow me to specify extra resolutions that could be used by the computer after the driver was installed. Opening this file in notepad, one section immediately caught my attention:

[NonEDIDMode_AddSwSettings]

Within this section of igxp32.inf it appeared I could enable up to 5 extra resolutions for use within Windows display properties. The next line of the file has been commented by Intel:

HKR,, TotalDTDCount, %REG_DWORD%, 0 ; This shows number of DTDs to be used. ; 0–>Disable the feature.

Well I wanted to enable all the resolutions I could, so I changed the 0 to a 5 like so:

HKR,, TotalDTDCount, %REG_DWORD%, 5 ; This shows number of DTDs to be used. ; 0–>Disable the feature.

The next 5 lines within the file seemed to be the settings for the extra resolutions that would be added after this driver is installed. The first 4 had been set already to offer 1920×1080@60, 1920×1080@50, 1280×720@60 and 1280×720@50 resolutions. The last, 5th line had no
hexadecimal values, and the comment on the end of the setting was blank, so here is where I edited and added the resolution for the screen I was trying to get working. A quick Google of 1440×900@60 revealed the hex values for that resolution to be:

HKR,, DTD_5,%REG_BINARY%, 97,29,A0,D0,51,84,20,30,50,98,13,00,00,00,00,00,00,1C,37,01 ;1440×900@60

So I edited the 5th line to look like that above and saved the file. Upon un-installation of the old driver and installation of the newly modified driver, a quick delve into the settings in display properties revealed all 5 new resolutions selectable. I could now apply the 1440×900 resolution I wanted.

I believe that other Intel graphics drivers may have the setup information file named differently from igxp32.inf, but that they can all be modified in the same way.

5 comments:

superVGUS said...

very good post. Congratulations.

Rock Hymas said...

Thank you! Worked like a charm

DJ_AA said...

Dude, you rock!!!

Tom said...

Thanks man, you safed my day! ;-)

Unknown said...

I have a Gigabyte G31M-ES2L motherboard with GMA X3100 and Windows XP x32.
I had no resolution 1440x900 for my monitor Acer V193WV.
I was delete previously installed graphics drivers, reboot PC, and download legacy drivers from that link:
https://downloadcenter.intel.com/ru/download/17191?_ga=2.175019425.2018396421.1525319918-2061086455.1519624504
In kit16795.inf file:
[NonEDIDMode_AddSwSettings]
HKR,, TotalDTDCount, %REG_DWORD%, 0 ; This shows number of DTDs to be used. ; 0-->Disable the feature.
;Following keys have 20 bytes (18 byte DTD + 2 Byte flags).
HKR,, DTD_1,%REG_BINARY%, 01,1D,80,18,71,1C,16,20,58,2C,1A,00,00,00,00,00,00,86,37,01 ;1920x1080@60...Interlaced
HKR,, DTD_2, %REG_BINARY%, 01,1D,80,D0,72,1C,16,20,10,2C,1A,80,00,00,00,00,00,86,37, 01 ;1920x1080@50...Interlaced
HKR,, DTD_3,%REG_BINARY%, 01,1D,00,BC,52,D0,1E,20,B8,28,25,40,00,00,00,00,00,04,37, 01 ;1280x720@50....Non-interlaced
HKR,, DTD_4, %REG_BINARY%, 01,1D,00,72,51,D0,1E,20,6E,28,25,00,00,00,00,00,00,06,37,01 ;1280x720@60....Non-interlaced
HKR,, DTD_5,%REG_BINARY%, 00, 00, 00 ,00, 00, 00,00, 00, 00,00, 00, 00,00, 00, 00,00, 00, 00,00, 00 ;Fifth DTD

I correct it to this:
[NonEDIDMode_AddSwSettings]
HKR,, TotalDTDCount, %REG_DWORD%, 5 ; This shows number of DTDs to be used. ; 0-->Disable the feature.
;Following keys have 20 bytes (18 byte DTD + 2 Byte flags).
HKR,, DTD_1,%REG_BINARY%, 01,1D,80,18,71,1C,16,20,58,2C,1A,00,00,00,00,00,00,86,37,01 ;1920x1080@60...Interlaced
HKR,, DTD_2, %REG_BINARY%, 01,1D,80,D0,72,1C,16,20,10,2C,1A,80,00,00,00,00,00,86,37, 01 ;1920x1080@50...Interlaced
HKR,, DTD_3,%REG_BINARY%, 01,1D,00,BC,52,D0,1E,20,B8,28,25,40,00,00,00,00,00,04,37, 01 ;1280x720@50....Non-interlaced
HKR,, DTD_4, %REG_BINARY%, 01,1D,00,72,51,D0,1E,20,6E,28,25,00,00,00,00,00,00,06,37,01 ;1280x720@60....Non-interlaced
HKR,, DTD_5, %REG_BINARY%, 97,29,A0,D0,51,84,20,30,50,98,13,00,00,00,00,00,00,1C,37,01 ;1440×900@60....Non-interlaced

And after that i install this driver to system and reboot PC.
After rebooting need to install 1440x900 manually.