Re: resolution changes and KVM switch use

Bill wrote:
This is follow on from a post of 16 June about KVM switches, XP and Vista.

I've set up a KVM switch (Aten) between a PC running XP and one with Vista

There are no keyboard or mouse problems and both displays appear on the one
monitor. But I cannot retain the desired display resolution of 1920 x 1200
which both PCs can deliver and which they retain (along with icon
positioning) when separately connected to the monitor.

What happens is that I set up the displays on both PCs, arrange and set the
icons. But if I close one or both PCs down or switch from one to the other,
the chances are on resuming that the resolution has changed and the icons
have self re-arranged. Some icons are where they were set, others randomly
scattered across the desktop.

On the XP PC I have to go, not into 'Settings', but into the graphics card
Nvidia 6600GT settings window to reassign the resolution. That's easily
done but the icons end up all over the place. I have a fairly cluttered
desktop and the positioning of the groups of icons is important

With the Vista PC, which has a graphics chip on the MoBo, it's really a
matter of luck. Going into 'Settings' sometimes shows the resolution I want
is available, sometimes it's just not there. How and when 1920 x 1200 is
available seems to be purely a matter of luck and is something I haven't yet
figured out. Switching off/coming out of and then returning to Settings
sometimes allows the desired resolution to be chosen and applied. But the
icons end up in a vertical line on the L/H edge of the monitor. Losing
their position is the greater of the problems.

Is this likely to be a KVM switch issue, a conflict between the XP and Vista
OS's, a bug in both XP and Vista, an Nvidia and MoBo graphics issue or

Most important is there a fix? I want to choose 1920 x 1220 as the default
and lock it in if possible!



The graphics driver may become interested in what is going on with the
display device, at several points in time.

1) When the electrical load disappears from the RGB color signals. Graphics
cards have "plug detection" features, so they can tell when the user is
messing with the cables. Your KVM may "open the circuit", when you switch
from one PC to the other, so the KVM switch may be a trigger for a recheck
of the graphics card and monitor state.

2) When the computer wakes from sleep, or the computer boots, the graphics
driver is going to be checking what is connected to the computer. It'll
fetch a copy of the EDID over DDC/CI serial interface on the monitor cable,
as part of that.

3) If the user enters the control panel for the video card, the driver may
be triggered to update the state info for each connected monitor. Maybe
that means another visit to the EDID.

To view the EDID from the monitor, you can use this program. If no info
was displayed, for example, then you'd know the DDC/CI connection was
busted somehow. And what I don't know, is whether DDC/CI covers the
case, of multiple PCs querying a monitor at the same time. (I.e. Can
DDC/CI be shared ? I don't know that.)

Now, imagine the KVM really opens the circuit, so that one PC is "high and
dry", while the other PC has an exclusive connection to the monitor. Flipping
the KVM switch, may be triggering the graphics driver on PC #2, to recheck
the interface. If no monitor is detected, the driver may switch to a
"safe" resolution, like 1280x1024, or some other value. Perhaps that is
what is happening to you.

PC #1 -------------+ \
\___ KVM ------ monitor
PC #2 -------------+

As far as I know, both VGA and DVI-D have DDC/CI serial clock and data signals,
for communications between the computer and the monitor. What I don't know,
is whether the video card can detect a DVI device connected to it, or not.
Perhaps it has load sensing for that as well. Certainly, the TV-out on
a video card, can sense whether something is there or not - in some
cases, the detection even gets it wrong (which is why some display control
panels have "force detection" for the TV interface).

This is an example of a device, which stores the EDID locally, for the
purpose of fooling the computer. For example, I might put one of these
between the PC and the KVM, and any time the PC tries to read the EDID,
it gets a copy from the storage device inside this box. The box has
non-volatile storage, so even if the box loses power, the last EDID
table the user stored in there, is still available. This box should be
powered, before the computer wakes up, to be effective. You could leave
it powered all the time if you wanted. This box won't change the load
detection feature of the video card, but if the graphics driver
"goes snooping", it'll get a consistently available EDID serially.

I'm not saying any of the above offers a solution. It is my attempt
to explain what issues the introduction of a KVM can cause. If the
KVM was designed carefully, such that it captured the EDID, and passed
it on demand, to either connected PC, then that would certainly help
the PCs maintain their operating state (i.e. keep the resolution setting).
But as long as the PCs "see" the monitor load and serial interface
disappear, when you hit the switch, there is the possibility of the
graphics driver re-evaluating what to output on the connector. Certainly
the price of the Gefen box, doesn't make buying two of them to solve
this problem, an attractive solution. And the Gefen box has DVI
connectors, and handling VGA through it, would be a connector-adapter
nightmare. (Gefen carries the adapters, but their website is a labyrinth.)

(From VGA video card output to DVI-A, then connect to DVI Detective
I expect this one is hard to find.)

(Connect from DVI Detective to VGA monitor - these can be purchased anywhere)

The problem is, the graphics card is too damn smart for its own good.
There was a time, when none of this would have happened, because
the video card did what it was told to do.


OK, so what else can you try (for free) ? Install the "monitor driver".
Amongst other things, that tiny download, includes an additional
entry in the registry, defining a maximum resolution for the
named monitor. You select the named monitor in the display
control panel, and then the hope is, when the EDID is not
available, the named monitor selection will remain selected,
and the graphics driver will pay attention to the max resolution
recorded in the registry.

Not all LCD monitor makers or LCD TV makers, provide a "monitor driver".
Some will insist that monitors are "plug and play", forgetting all
the corner cases, where EDID doesn't work. In my case, NEC provided
a monitor driver, so I used it. But since my monitor is only a 17",
the usage of this is redundant. I've included the .inf file for
my monitor, to show what info a monitor driver has in it.

******* NEC 1765 monitor driver package - nl1765.inf *******

; NL1765.INF
; Setup information file for NEC LCD1765 Monitor
; Copyright 2003, NEC-Mitsubishi Electronics Display, Inc.




DefaultDestDir = 11
NEC-LCD1765.CopyFiles = 23



; Manufacturers

; Manufacturer sections
%NEC-LCD1765%=NEC-LCD1765.Install, Monitor\NEC6621

; Install Sections
AddReg=NEC-LCD1765.AddReg, 1280, DPMS

; AddReg & DelReg sections

; Pre-defined AddReg sections


; Model AddReg sections

; CopyFiles section

; User visible strings
NMDDiskLabel="NEC-Mitsubishi Monitor Installation Disk"
NEC-LCD1765="NEC LCD1765"

******* END -- NEC 1765 monitor driver package - nl1765.inf *******

Since you didn't mention the monitor make and model, I can't dig
up a driver for it.

Good luck,