Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I'm trying to connect an older monitor (Starlogic M17ANA) to a newer system with Windows 7, but the only resolutions shown are 1024x768 and 800x600. I know the monitor is capable of 1280x1024, and was running this resolution on an older Windows XP system just fine. The 1024x768 setting has some timing problems and is nearly unusable, while the 800x600 setting is far too small to be useful. I really need to get this setup to the proper resolution.

I tried changing the monitor driver from "Generic PnP Monitor" to "Digital Flat Panel (1280x1024)" but it does not change the settings available. Even the "List All Modes" button doesn't show anything larger than "1024 by 768".

The video driver listed is "Intel Q45/Q43 Express Chipset" if that makes a difference. I had the PC connected to a different monitor earlier, and I'm quite sure it was running a higher resolution just fine.


Argh! For one glorious moment tonight I was able to get the resolution properly configured by selecting the "Generic Non-PnP Monitor" driver and choosing the proper resolution. When the system went into low-power mode after a period of inactivity it switched back to the lower resolution. Now it seems no matter which monitor I select I still only get the two choices - 800x600 and 1024x768. I've rebooted a dozen times and nothing changes. I've loaded all the latest Windows updates, including the driver for the Q45/Q43 chipset and still nothing changes. Why is Windows locking me out of choices that the hardware and drivers are perfectly capable of handling?
Conclusion: I should have pointed out that this was an LCD monitor, I think some people assumed when I said "older" that it was a CRT. I now believe that the problem is specific to this model; it appears to deliver the wrong EDID information to the driver, and Windows 7 treats it as gospel. Downloading the latest driver from Intel rather than Microsoft included an extra utility that was able to extend the profile with a custom setting, which works perfectly.

share|improve this question
    
it sounds some like your limited to "compatability mode" video resolutions, as if the driver for the GPU item is not installed or working properly yet. (check your video drivers in the device manager). . Do you have this same problem with any other monitor hooked up exactally the same way to the exact same port? –  Psycogeek Feb 7 at 7:28
    
What's the graphic card hardware ID? Which driver version are you currently using? Is Windows 32-bit or 64-bit? –  and31415 Feb 11 at 18:33
    
@and31415 the adapter is built into the motherboard. There are 4 hardware IDs listed in device manager: PCI\VEN_8086&DEV_2E12&SUBSYS_3036103C&REV_03 PCI\VEN_8086&DEV_2E12&SUBSYS_3036103C PCI\VEN_8086&DEV_2E12&CC_030000 PCI\VEN_8086&DEV_2E12&CC_0300. The driver version is 8.15.10.1749 and it's Windows 7 Professional 32-bit. –  Mark Ransom Feb 12 at 5:08
    
The current driver is quite old (2009), and probably is the one bundled with Windows 7. Latest available version is 15.17.19.2869 (8.15.10.2869), which you can get from the official Intel support page. Restart Windows after updating the driver, and see whether you can choose a 1280x1024 resolution. –  and31415 Feb 12 at 12:07
    
@and31415 I got the latest from the Intel site, no help. –  Mark Ransom Feb 12 at 14:48

2 Answers 2

up vote 5 down vote accepted
+50

Analysis

After doing a quick search, there are some other people with the same issue, most of which didn't solve it. I also found a blog post explaining how to solve the problem in Windows 2000, which basically involved doing the steps you probably did back when using Windows XP, albeit without success in Windows 7.

Monitor

I couldn't find much information at all. This is what I collected from an old DriverGuide thread:

17" StarLogic LCD Monitor (11004988)

Model M17ANA
Resolution 1280 x 1024
Display colors 16.7 million colors
Pixel Pitch 0.264 mm
Brightness 260 cd/m2
Contrast ratio 400:1
Viewing angle 140 x 125 degree
Response time 12 ms
Sync. frequency Horizontal 31.5kHz - 79.9kHz, Vertical 70Hz - 75Hz
Input Connector RGB
Weight 8.14 lbs.

This at least confirms the monitor is actually capable of displaying a 1280x1024 resolution. Still, the proper resolution isn't applied, and isn't even listed in the available modes.

Graphic card

In this case the graphic card model is an Intel Q45/Q43 Express Chipset, which is integrated in the motherboard. According to the technical product specifications:

Supports digital and analog displays up to 2048 x 1536 at 75 Hz refresh (QXGA); also supports 1920 x 1080 resolution for full High Definition video playback quality.

The video modes supported by this board are based on the Extended Display Identification Data (EDID) modes of the monitor to which the system is connected. Standard monitors are assumed.

The graphic card doesn't seem a limiting factor. These are the specific hardware IDs:

PCI\VEN_8086&DEV_2E12&SUBSYS_3036103C&REV_03
PCI\VEN_8086&DEV_2E12&SUBSYS_3036103C
PCI\VEN_8086&DEV_2E12&CC_030000
PCI\VEN_8086&DEV_2E12&CC_0300

The generic hardware IDs actually is PCI\VEN_8086&DEV_2E12. In fact, apparently there are only generic drivers available for such cards. The installed driver version was 8.15.10.1749, which dates back to 2009, and probably was the one bundled with Windows 7. The latest version available from Intel official support page is 8.15.10.2869, released about three years later.

On a side note, looking for an updated version through Windows Update can be misleading: the system will happily assume the driver is "up to date" even when no entry was found in Microsoft database.

Extended Display Identification Data

All monitors, analog or digital, must support EDID, which contains info such as the monitor identifier, manufacturer data, hardware identifier, timing info, and so on. This data is stored in the monitor’s EEPROM in a format that is specified by the Video Electronics Standards Association (VESA).

Source: Overriding Monitor EDIDs with an INF

While the EDID data structure is not exactly human-friendly, we can use Monitor Asset Manager to examine it:

Monitor
  Manufacturer............. NUL
  Plug and Play ID......... NUL0001
  Serial number............ 1
  Manufacture date......... 2001, ISO week 1
  Filter driver............ None
  -------------------------
  EDID revision............ 1.3
  Input signal type........ Analog 0.700,0.300 (1.0V p-p)
  Sync input support....... Separate
  Display type............. RGB color
  Screen size.............. 310 x 230 mm (15.2 in)
  Power management......... Standby, Suspend
  Extension blocs.......... None
  -------------------------
  DDC/CI................... Not supported

Color characteristics
  Default color space...... Non-sRGB
  Display gamma............ 1.00
  Red chromaticity......... Rx 0.597 - Ry 0.343
  Green chromaticity....... Gx 0.316 - Gy 0.566
  Blue chromaticity........ Bx 0.153 - By 0.131
  White point (default).... Wx 0.310 - Wy 0.328
  Additional descriptors... None

Timing characteristics
  Range limits............. Not available
  GTF standard............. Not supported
  Additional descriptors... None
  Preferred timing......... Yes
  Native/preferred timing.. 1024x768p at 68Hz (4:3)
    Modeline............... "1024x768" 65.000 1024 1048 1184 1184 768 771 777 806 -hsync -vsync

Standard timings supported
     720 x  400p at  70Hz - IBM VGA
     640 x  480p at  60Hz - IBM VGA
     800 x  600p at  60Hz - VESA
    1024 x  768p at  60Hz - VESA

Report information
  Date generated........... 2/12/2014
  Software revision........ 2.70.0.989
  Data source.............. Real-time 0x0011
  Operating system......... 6.1.7601.2.Service Pack 1

Raw data
  00,FF,FF,FF,FF,FF,FF,00,3A,AC,01,00,01,00,00,00,01,0B,01,03,08,1F,17,00,CA,F0,64,98,57,51,91,27,
  21,4F,54,A1,08,00,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,64,19,00,A0,40,00,26,30,18,88,
  36,00,30,E4,10,00,00,18,00,00,00,FE,00,0A,20,20,20,20,20,20,20,20,20,20,20,20,00,00,00,FE,00,0A,
  20,20,20,20,20,20,20,20,20,20,20,20,00,00,00,FC,00,0A,20,20,20,20,20,20,20,20,20,20,20,20,00,E

Windows stores the EDID in the registry after querying the monitor. The problem is the system thinks you have a 15.2" monitor with a maximum supported resolution of 1024x768 pixels and 68 Hz refresh rate. This is just plain wrong, and the monitor is to blame here.

Conclusion

The monitor won't report the correct information, so we have to manually fix that. There are a few ways to do it, and I'll briefly describe them referring you to the links below for additional information. It's better to have more options just in case something doesn't work properly or isn't applicable.

Intel Graphics Control Panel

While updating the old, bare-bone graphic driver which comes with Windows you'll also get the Intel Graphics Control Panel (GfxUI.exe). Among other things, it can be used to change the screen resolution.

Custom resolution

Some (but not all) Intel graphic cards can support up to five extra Detailed Timing Descriptors (DTDs) through custom registry entries named DTD_x which can be found in HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class\{4D36E968-E325-11CE-BFC1-‌​08002BE10318}\0000. Each DTD value includes information such as screen resolution, refresh rates, and so on. The TotalDTDCount value controls the amount of DTD supported. When it's set to 0, the feature is disabled.

The DTD is actually a section of the full EDID, and it's just as cryptic. In order to easily change the data you can use DTDCalculator.

Correcting the EDID

There are two approaches to correcting EDIDs:

  • The standard solution is to have the customer send the monitor back to the manufacturer, who reflashes the EEPROM with the correct EDID and returns the monitor to the customer.
  • A better solution, described here, is for the manufacturer to implement an INF file that contains the correct EDID info, and have the customer download it to the computer that's connected to the monitor. Windows extracts the updated EDID info from the INF and provides it to components instead of the info from the EEPROM EDID, effectively overriding the EEPROM EDID.

Source: Overriding Monitor EDIDs with an INF

Using Phoenix EDID designer you can extract the EDID stored in the registry, and change the settings to reflect the monitor true capabilities. When done you save the modified EDID data, and open it using Monitor Asset Manager to validate it. Then you create an INF file, and update the monitor driver in the Device Manager using the file you just created. A restart is required to apply the changes.

Further reading

share|improve this answer
    
+1. Nice answer. –  harrymc Feb 15 at 16:43
    
I agree, nice comprehensive answer - this is totally worth the +50 you're getting. And for the record, the driver I had was not the one originally bundled with Windows 7 but one that I received through Windows Update. –  Mark Ransom Feb 16 at 4:37
    
@MarkRansom I beg to differ: the Microsoft Update Catalog provides different driver versions ranging from build 1808 to 2302, but not anything older. In fact, the Intel driver is located in the Windows\System32\DriverStore\FileRepository\igdlh.inf_x86_neutral_2d255f193700d‌​214 folder in Windows 7 x86 (32-bit). The version reported in the igdlh.inf installation file is 8.15.10. 1749. –  and31415 Feb 16 at 14:19
    
All I know is that Windows Update offered me an optional update that said it was specifically for that driver. Unfortunately I don't know what the version was before the update, nor did I check to see if the update installed successfully. –  Mark Ransom Feb 16 at 15:18
    
@MarkRansom Odd. Windows keeps every driver you install unless you explicitly remove them for good; this way you can easily roll back to a previous version if necessary. Searching igdlh.inf inside the DriverStore directory should bring up all versions available. –  and31415 Feb 16 at 15:27

As 1280x1024 is not the same x-y ratio as 1280x1024 and 800x600, how are you displaying them all on the same monitor? Do you have black bands while doing that?

If you wish to play with EDID profiles, you could use PowerStrip, a shareware utility that can create new custom resolutions for your monitor. You could also use it to investigate the existing EDID information.

See for example :

Custom display modes (Windows) - Powerstrip
Customize monitor resolution settings with PowerStrip.

Another possibility is to use regedit and position to this key :
HKEY_CURRENT_CONFIG\System\CurrentControlSet\Control\VIDEO\{video-card}\0000
and change the following keys :
DefautlSettings.XResolution, DefautlSettings.YResolution,
then reboot.

share|improve this answer
    
Powerstrip isn't free, it's $30 shareware. But it did point out to me the way to get 1024x768 working, by setting the refresh rate to 60hz, so it was helpful for that. Still couldn't get me to 1280x1024 so I uninstalled it. As for the aspect ratio difference I suspect that the resizing logic in the monitor simply makes the pixels non-square at the lower resolutions since it has to rescale them anyway. The difference isn't enough to be noticeable. –  Mark Ransom Feb 10 at 4:50
    
Pixels are never square and cannot be reshaped, which is why our monitors have their ratio. Probably the display driver interpolates the image to display, and does it well. If you have found a method that is not mentioned in my answer, better post your own. –  harrymc Feb 11 at 8:47

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.