Chapter 14. Configuring Multiple X Screens on One Card
Prev | Part I. Installation and Configuration Instructions | Next

## Chapter 14. Configuring Multiple X Screens on One Card

GPUs that support TwinView (Chapter 12, Configuring Multiple Display Devices on One X Screen) can also be configured to treat each connected display device as a separate X screen.

While there are several disadvantages to this approach as compared to TwinView (e.g.: windows cannot be dragged between X screens, hardware accelerated OpenGL cannot span the two X screens), it does offer several advantages over TwinView:

- If each display device is a separate X screen, then properties that may vary between X screens may vary between displays (e.g.: depth, root window size, etc).

- Hardware that can only be used on one display at a time (e.g.: video overlays and hardware accelerated RGB overlays on certain older GPUs), and which consequently cannot be used at all when in TwinView, can be exposed on the first X screen when each display is a separate X screen.

- TwinView is a fairly new feature. X has historically used one screen per display device.

To configure two separate X screens to share one graphics card, here is what you will need to do:

First, create two separate Device sections, each listing the BusID of the graphics card to be shared and listing the driver as "nvidia", and assign each a separate screen:

        Section "Device"
            Identifier  "nvidia0"
            Driver      "nvidia"
            # Edit the BusID with the location of your graphics card
            BusID       "PCI:2:0:0"
            Screen      0
        EndSection

        Section "Device"
            Identifier  "nvidia1"
            Driver      "nvidia"
            # Edit the BusID with the location of your graphics card
            BusId       "PCI:2:0:0"
            Screen      1
        EndSection

Then, create two Screen sections, each using one of the Device sections:

        Section "Screen"
            Identifier  "Screen0"
            Device      "nvidia0"
            Monitor     "Monitor0"
            DefaultDepth 24
            Subsection "Display"
                Depth       24
                Modes       "1600x1200" "1024x768" "800x600" "640x480"
            EndSubsection
        EndSection

        Section "Screen"
            Identifier  "Screen1"
            Device      "nvidia1"
            Monitor     "Monitor1"
            DefaultDepth 24
            Subsection "Display"
                Depth       24
                Modes       "1600x1200" "1024x768" "800x600" "640x480"
            EndSubsection
        EndSection

(Note: You'll also need to create a second Monitor section) Finally, update the ServerLayout section to use and position both Screen sections:

        Section "ServerLayout"
            ...
            Screen         0 "Screen0"
            Screen         1 "Screen1" leftOf "Screen0"
            ...
        EndSection

For further details, refer to the XF86Config(5x) or xorg.conf(5x) man pages.

Prev | Up | Next
Chapter 13. Configuring GLX in Xinerama | Home | Chapter 15. Configuring TV-Out