(or reusing Xinerama configured XFree)
There could be several reasons for not using DRI:
As far I know only one graphic card in a system can use DRI.
The Nvidia closed source driver does not support DRI.
In case one of this reasons applies to your system, you do not need different XFree configuration files for the different displays.
You can configure your system for Xinerama using the tools provided with your distribution and reading The Xinerama-HOWTO, so when the system is used by a single user, he/she could switch to Xinerama desktop and use all available displays for a bigger desktop.
Once configured for Xinerama, only small additions are needed to achieve multiple independent desktops. All you have to do is to add new layouts which use single screen definition and have independent input devices (well, this is actually needed only for the mouse devices, as the keyboard is managed through the vt[n] option).
If you have configured Xinerama in the following way:
Section "ServerLayout" Identifier "Simple Layout" Screen "Screen 2" Screen "Screen 1" RightOf "Screen 2" InputDevice "Mouse1" "CorePointer" InputDevice "Keyboard1" "CoreKeyboard" EndSection |
To achieve multiple independent desktops you only have to add layout definitions for a single screen :
Section "ServerLayout" Identifier "first-Xserver" Screen "Screen 1" InputDevice "Mouse1" "CorePointer" InputDevice "Keyboard1" "CoreKeyboard" EndSection Section "ServerLayout" Identifier "second-Xserver" Screen "Screen 2" InputDevice "Mouse2" "CorePointer" InputDevice "Keyboard1" "CoreKeyboard" EndSection |
Which should result in these layout definitions:
Section "ServerLayout" Identifier "Xinerama" Screen "Screen 2" Screen "Screen 1" RightOf "Screen 2" InputDevice "Mouse1" "CorePointer" InputDevice "Keyboard1" "CoreKeyboard" EndSection Section "ServerLayout" Identifier "first-Xserver" Screen "Screen 1" InputDevice "Mouse1" "CorePointer" InputDevice "Keyboard1" "CoreKeyboard" EndSection Section "ServerLayout" Identifier "second-Xserver" Screen "Screen 2" InputDevice "Mouse2" "CorePointer" InputDevice "Keyboard1" "CoreKeyboard" EndSection |
Now you can start a single X server with option -layout Xinerama and enjoy the Xinerama desktop, or
You can start 2 independent X servers using -layout first-Xserver for the first, and -layout second-Xserver for the second.
Since you will use a single XFree configuration file for all X servers,
in order to use independent keyboards you have to use following command:
For 1st X server with the 1st keyboard:
$ startx -- /usr/X11R6/bin/X0 :0 -layout first-Xserver vt7
For 2nd X server with the 2nd keyboard:
$ startx -- /usr/X11R6/bin/X1 :1 -layout second-Xserver vt17
and if you want to use Xinerama:
$ startx -- /usr/X11R6/bin/X -layout Xinerama vt7
Note | |
---|---|
For older versions of Backstreet Ruby you have to use: For 1st X server with the 1st keyboard: $ startx -- /usr/X11R6/bin/X0 :0 -layout first-Xserver vt7 For 2nd X server with the 2nd keyboard: $ startx -- /usr/X11R6/bin/X1 :1 -layout second-Xserver vt8 |
also the mice must have different identifiers:
------------------------------------------------------------------------------------------------ # ********************************************************************** # Pointer section # ********************************************************************** Section "InputDevice" Identifier "Mouse1" Driver "mouse" Option "Protocol" "IMPS/2" Option "Device" "/dev/input/mouse0" Option "ZAxisMapping" "4 5" # ChordMiddle is an option for some 3-button Logitech mice Option "Emulate3Buttons" # Option "ChordMiddle" EndSection Section "InputDevice" Identifier "Mouse2" Driver "mouse" Option "Protocol" "IMPS/2" Option "Device" "/dev/input/mouse1" Option "ZAxisMapping" "4 5" # ChordMiddle is an option for some 3-button Logitech mice Option "Emulate3Buttons" # Option "ChordMiddle" EndSection ----------------------------------------------------------------------------------------------- |