Switching between virtual desktops
Quinn Harris
quinn at qutek.net
Tue Jun 2 14:33:47 PDT 2009
Luca,
The project you describe is much harder than is reasonable for a single person
on a tight budget and has some problems you might not recognize. Driving
multiple monitors off of one video in a way that is usable isn't as simple as
rapidly switching the signal lines. I believe it takes at least one full
video frame for any monitor to sync on the signal. Many probably take more.
I doubt switching the signal would work acceptably even if you could send one
complete frame to one monitor then the next to another monitor then back
again. But unless the switching is synchronized with the video signal you
will loose a frame each time you switch. I suggest you put something together
to rapidly drop and recover the signal to one monitor to verify that the whole
idea will work with a specific monitor. I am very sceptical. Switching the
signal without all kinds of signal bounce (as with a button, switch or relay)
isn't trivial, there might be an IC for the task though. You probably only
need to switch the horiz and vertical sync signals for VGA. The monitor will
defiantly "notice" a lost signal. The LCD controller needs to know where in
the data stream that the current pixel is when it is delivered to know what
pixel on the screen to set. I don't think most LCDs buffer the frame, there
is no need.
What could work is using an FPGA like the Xilinx Spartan III (I think this has
enough power) on a custom circuit board feed by a dual-link dvi (more
expensive card) with single link DVI outputs. But you will have to develop
Verilog or VHDL code to decode part of the DVI signal produce an appropriate
clock for each output, buffer each video line and shift it out to each output
appropriately. This is a good month project to prototype for someone who
knows what they are doing and has all the right equipment. The Matrox
Graphics eXpansion Modules are basically this, but the price tag is over $300.
I have considered developing such devices but I would never sell a 1 to 6 head
DVI line buffering splitter for less than $150 (assuming I could sell over
10,000 units), nobody else will either. You could only drive 4 1280x1024 at 60hz
panels from one dual link DVI port. You either have to reduce the res/refresh
rate or have a device that buffers the whole frame, and that will be more
expensive. Even with this the current Xserver can't be setup to have multiple
independent displays on one monitor. Maybe this will change one day.
A video splitter that actually works well is a significant design project for
one person and easily justify 6 credit hours of design class credits for an
electrical engineer major. As the Matrox product proves it can be done.
Packing a system with a bunch of PCI video cards really is your best bet. I
would look harder for those cards. Someone probably has a bunch laying around
they would be happy to sell for little or nothing. Check around campus or
other companies, or computer parts auctions. I have 2 or 3 on a shelf
somewhere. But the legacy VGA arbiter problem might make the whole thing not
work http://www.x.org/wiki/VgaArbiter
LCD's aren't exactly cheap. If you where building this new, the total LCD
cost would probably be more than the system cost for a 6 display system.
Probably total new cost of about $1200 for 6 displays. Can you procure the
whole thing new? I expect you could find a single vendor that will sell the
whole thing.
More information about the xorg
mailing list