XFree Local Multi-User HOWTO
Prev | Chapter 4. Setting up the X servers | Next

# 4.6. For graphic cards without DRI

(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
      -----------------------------------------------------------------------------------------------

Prev | Home | Next
Using independent mice with XFree | Up | Nvidia GLX & DRI