BrianB said:
I have a Dell M70 laptop with a NVidia Quadro FX Go1400 display adaptor. I
regularly work at two different sites, each of which has its own external
monitor that I use. When I connect to the first monitor, it remembers the
resolution settings (1600x1200). When I connect to the second, older,
monitor, the resolution always comes up as 800x600 and I have to manually
change the settings to the desired ones. If I reboot the laptop without
disconnecting it from the second monitor, the resolution still resets to
800x600.
Any idea what is going on? Could it be that the second monitor is just too
old for Windows XP Pro to recognize?
Brian
As far as I know, monitor resolution information is available two ways.
Modern monitors have a serial bus connection on the VGA or DVI connector.
The monitor sends data called EDID. The EDID gives information on
what resolutions are supported.
http://en.wikipedia.org/wiki/Display_Data_Channel
You can check EDID data, with a tool like this.
http://www.entechtaiwan.com/util/moninfo.shtm
Some monitors may be missing the DDC interface on the cable,
so they cannot send EDID. An example is a VGA projection screen,
where they typically only have RGBHV signals. Windows
cannot "Plug N' Play" such a monitor, because there is
no data.
You can also use a "monitor driver". Not all monitor companies
provide this file, as some companies believe the Plug N' Play
nature of EDID is sufficient.
The monitor driver may add a register entry, which declares the
maximum resolution of the attached monitor. This tells the
graphics driver, how far the "safe" values of resolution
span.
At one time, there were monitors that could be physically
damaged and ruined, if they were fed too high a resolution
and refresh rate. To avoid class action lawsuits or damage
claims, the display drivers limit the resolutions they're
willing to use, unless there is some indication as to
what the safe value might be. The EDID is one way of
passing this information, while stuffing an entry in
the registry appears to be a second way.
I don't know whether two display drivers can be loaded at
the same time, so that you can select between them. I
only own one monitor, so don't have a way to test. While
my current monitor does have EDID, I did find things worked
smoother when the display driver was installed. My monitor
is a five year old 17" NEC LCD, with max 1280x1024. The
behavior I've seen in Linux, suggests the data in the
EDID on my monitor, may not be standards conforming
(Linux refuses to use the correct resolution, unless
I force it). So even when an EDID is available, it
may not contain absolutely correct information.
Perhaps if you defined two hardware profiles for
boot time, you could have a different monitor
driver loaded in each profile ? There must be
some provision to handle laptops and docking
stations and the like.
HTH,
Paul