Re: Switching between virtual desktops

2009-06-02 Thread Quinn Harris
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 1280x1...@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.


___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg


Re: Switching between virtual desktops

2009-06-01 Thread Quinn Harris
Luca,

X windows systems have a display for each desktop environment (KDE, Gnome).  
All X windows applications look for a display server usually specified by the 
DISPLAY environment variable then connect to that server via local mechanism 
or a network socket.  Go to a terminal and type "echo $DISPLAY" you will 
probably get ":0.0" that number specifies what local display to use.  If your 
system is setup for multiple simultaneous X logins (newer distros) each login 
will have a different xserver and display, the environment variable is how 
processes launched in each environment know what xserver to connect to.  Only 
one xserver process can use a video card at one time, though they can hand off 
control from one server to another and the text console typically using the 
Ctrl+Alt+Fx keys.  Until the recent xrandr 1.2 implementation, if an xserver 
was setup to use two monitors it would create two displays one for each 
monitor unless the Xinerama option was on.  In this case a different desktop 
environment could be run on each display with a common keyboard and mouse 
which I think is what you are asking.

If you have two separate video cards, it is possible (though there can be 
issues) to run a different xserver instance for each card with an independent 
mouse and keyboard.  So one computer with two sets of video, keyboard and 
mouse could act like two different computers.  This can also be done with one 
dual headed video card using Xephyr, but lacks some features (3D) and will be 
a little slower.  Check out
http://www.x.org/wiki/Development/Documentation/Multiseat

Why do you need to switch between virtual desktops rapidly from a script?  Are 
you sure this is the right solution to your problem?


Quinn
___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg


Re: No MergedXinerama for xrandr

2009-06-01 Thread Quinn Harris
On Sunday 31 May 2009 8:02:31 pm Alex Deucher wrote:
> On Sun, May 31, 2009 at 6:49 PM, Quinn Harris  wrote:
> > Before many video drivers changed from MergedFB to xrandr 1.2 for a dual
> > head video card they had an option like "NoMergedXinerama"
> > for the Radeon driver that would make the two screens appear as one to
> > the window manager.  Does a similar option exist somewhere now
> > with xrandr 1.3?  Is there a way to completely disable a window managers
> > awareness of multiple screens?
> >
> > I have a Viewsonic VP2290b that needs to be driven by two DVI ports to
> > run at full resolution at a usable refresh rate (24hz).  But I
> > don't want the desktop (KDE 4.2) to treat the single monitor like two in
> > any way.
>
> It's all handled in the common xserver code now for xrandr 1.2 rather
> than in the drivers.  Your best bet is probably to turn off xinerama
> support in your window manager.
>
> Alex

I also noticed mplayer and Xine also recognized multiple monitors.  The 
Firefox "awesome bar" adjusts where it shows based on the monitor edge that 
doesn't actually exist in my configuration.  I wasn't able to find an option 
in KDE 4.2 to ignore Xinerama or the like, but haven't looked hard.

Something at the xserver level would be nice.  A global option or better yet a 
way to instruct xrandr to treat two or more specified screens as one to all X 
software.  This is basically another feature regression with xrandr and should 
probably be considered to be resolved in a future revision.

Quinn Harris

___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg


No MergedXinerama for xrandr

2009-05-31 Thread Quinn Harris
Before many video drivers changed from MergedFB to xrandr 1.2 for a dual head 
video card they had an option like "NoMergedXinerama" 
for the Radeon driver that would make the two screens appear as one to the 
window manager.  Does a similar option exist somewhere now 
with xrandr 1.3?  Is there a way to completely disable a window managers 
awareness of multiple screens?

I have a Viewsonic VP2290b that needs to be driven by two DVI ports to run at 
full resolution at a usable refresh rate (24hz).  But I 
don't want the desktop (KDE 4.2) to treat the single monitor like two in any 
way.

I was using the proprietary nVidia drivers with the "NoTwinViewXineramaInfo" 
option for a similar effect.

My current xorg.conf file:

Section "Monitor"
Identifier "Monitor0"
VendorName "ViewSonic"
ModelName  "VP2290b"
Modeline   "1920x2400_24" 119.40 1920 1928 1980 2044 2400 2402 
2405 2435
ModeLine   "1920x2400_30" 149.3 1920 1928 1980 2044 2400 2402 2405 
2435
EndSection

Section "Monitor"
Identifier "Monitor1"
VendorName "ViewSonic"
ModelName  "VP2290b"
Modeline   "1920x2400_24" 119.40 1920 1928 1980 2044 2400 2402 
2405 2435
ModeLine   "1920x2400_30" 149.3 1920 1928 1980 2044 2400 2402 2405 
2435
Option "LeftOf" "Monitor0"
EndSection

Section "Device"
Identifier "Device0"
Driver "ati"
Option  "AccelMethod" "EXA"
Option  "AccelDFS""true"

Option  "monitor-DVI-0" "Monitor0"
Option  "monitor-DVI-1" "Monitor1"
EndSection

Section "Screen"
Identifier "Screen0"
Device "Device0"
Monitor"Monitor0"
DefaultDepth24
SubSection "Display"
        Virtual3840 2400
Depth   24
Modes  "1920x2400_24"
EndSubSection
EndSection

Section "ServerLayout"
Identifier "Layout0"
Screen  0  "Screen0" 0 0
EndSection

Section "ServerFlags"
Option  "DontZap"   "False"
EndSection


---
Quinn Harris
qu...@qutek.net


___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg