3

after searching I have not found a solution.

I have 2 nvidia quadro 295 cards with 3 monitors but I can not extend twinview across multiple GPUs.

I have the most recent nvidia proprietary drivers installed, and they work fine for the single GPU / dual monitors. I tried using xinerama, but without success.

I don't mind switching to the nouveau drivers if that would handle my multiple monitors, although I would like to continue to use unity and compiz if i can).

Panther
  • 104,528

5 Answers5

1

it turns out that Unity and Xinerama do not play nice together anymore, as Xinerama and Composition cannot be run simultaneously. until rrandr takes over multi-gpu stuff, or until twinview gets much smarter, multi-gpus will not be possible for most newer window managers (Gnome3 suffers from this same problem).

i tried backing down to ubuntu classic to get it to work, but i'm tired of screwing with it. it would replicate the same screen on all 3 screens, but wouldn't treat them as one big one. sadly, there's no real great examples of how to get this to work in xorg.conf.

so for anyone else trying this, you're pushing a rope in respect to Unity/Compiz. you can probably get it to work in Ubuntu Classic, but be prepared for a fight.

this is pretty sad. if i could get Windows 7 running on this box, i'd use it and run linux in a VM. that's what people are going to have to do to get this stuff running on multi-GPU systems.

1

i was able to get this working thanks to a coworker. here is my xorg.conf file. this required gnome2 and the proprietary nvidia drivers.

Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0" 0 0
    Screen      1  "Screen1" RightOf "Screen0"
    Screen      2  "Screen2" RightOf "Screen1"
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
    Option         "Xinerama" "1"
EndSection

Section "InputDevice"
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Protocol" "auto"
    Option         "Device" "/dev/psaux"
    Option         "Emulate3Buttons" "no"
    Option         "ZAxisMapping" "4 5"
EndSection

Section "Files"
EndSection

Section "Module"
    Load "glx"
EndSection

Section "Extensions"
    Option "Composite" "Disable"
EndSection

Section "InputDevice"
    Identifier     "Keyboard0"
    Driver         "kbd"
EndSection

Section "Monitor"
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "HP w2207"
    HorizSync       24.0 - 82.0
    VertRefresh     48.0 - 76.0
    Option         "DPMS"
EndSection

Section "Monitor"
    Identifier     "Monitor1"
    VendorName     "Unknown"
    ModelName      "HP w2207"
    HorizSync       24.0 - 82.0
    VertRefresh     48.0 - 76.0
    Option         "DPMS"
EndSection

Section "Monitor"
    Identifier     "Monitor2"
    VendorName     "Unknown"
    ModelName      "HP w2207"
    HorizSync       24.0 - 82.0
    VertRefresh     48.0 - 76.0
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "Quadro NVS 295"
    BusID          "PCI:2:0:0"
    Screen          0
    Option         "Rotate" "CCW"
EndSection

Section "Device"
    Identifier     "Device1"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "Quadro NVS 295"
    BusID          "PCI:2:0:0"
    Screen          1
    Option         "Rotate" "CCW"
EndSection

Section "Device"
    Identifier     "Device2"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "Quadro NVS 295"
    BusID          "PCI:3:0:0"
    Option         "Rotate" "CCW"
    Screen          0
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "TwinView" "0"
    Option         "metamodes" "DFP-0: nvidia-auto-select +0+0"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection


Section "Screen"
    Identifier     "Screen1"
    Device         "Device1"
    Monitor        "Monitor1"
    DefaultDepth    24
    Option         "TwinView" "0"
    Option         "metamodes" "DFP-1: nvidia-auto-select +0+0"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Section "Screen"
    Identifier     "Screen2"
    Device         "Device2"
    Monitor        "Monitor2"
    DefaultDepth    24
    Option         "TwinView" "0"
    Option         "metamodes" "DFP-0: nvidia-auto-select +0+0"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection
0

I have 4 screens hooked up to 2 identical Nvidia GPUs

In 10.04, I had it working flawlessly with Xinerama. But, after upgrading to 12.04, everything is screwed up. I installed GNOME shell cause I hate Unity. I use GNOME classic.

The closest I can get to working is TwinView and 2 X sessions but GPU2 shows a white desktop background, as soon as I enable Xinerama everything breaks and I have to start from scratch again.

Also depending on Ubuntu/Nvidia's mood nvidia-setting will sometimes show only 1 GPU. Other times I get both and can continue with my setup.

The one working copy of xorg.conf I used a mv command (instead of cp) on and lost my working backup

I got all 4 working again and Xinerama.

Here is my xorg.conf:

#xorg.conf
Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0" 0 1024
    Screen      1  "Screen1" Above "Screen0"
InputDevice    "Keyboard0" "CoreKeyboard"
InputDevice    "Mouse0" "CorePointer"
Option         "Xinerama" "0"
EndSection

Section "Files"
EndSection

Section "InputDevice"
    # generated from default
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Protocol" "auto"
    Option         "Device" "/dev/psaux"
    Option         "Emulate3Buttons" "no"
    Option         "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"
    # generated from default
    Identifier     "Keyboard0"
    Driver         "kbd"
EndSection

Section "Monitor"
    # HorizSync source: edid, VertRefresh source: edid
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "Samsung SyncMaster"
    HorizSync       30.0 - 80.0
    VertRefresh     55.0 - 75.0
    Option         "DPMS"
EndSection

Section "Monitor"
    # HorizSync source: edid, VertRefresh source: edid
    Identifier     "Monitor1"
    VendorName     "Unknown"
    ModelName      "Samsung SyncMaster"
    HorizSync       30.0 - 81.0
    VertRefresh     56.0 - 75.0
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "Quadro FX 1800"
    BusID          "PCI:1:0:0"
EndSection

Section "Device"
    Identifier     "Device1"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "Quadro FX 1800"
    BusID          "PCI:32:0:0"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "TwinView" "1"
    Option         "metamodes" "DFP-0: nvidia-auto-select +1920+0, DFP-1: nvidia- auto-select +0+0"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Section "Screen"
    Identifier     "Screen1"
    Device         "Device1"
    Monitor        "Monitor1"
    DefaultDepth    24
    Option         "TwinView" "1"
    Option         "metamodes" "DFP-1: nvidia-auto-select +1280+0, DFP-2: nvidia-auto-select +0+0"
    SubSection     "Display"
    Depth       24
EndSubSection
EndSection
Peachy
  • 7,235
  • 10
  • 40
  • 47
0

Nvidia have implemented a solution named Mosaic. Mosaic can work over SLI, or on SLI capable cards that aren't SLI connected. These are known as SLI Mosaic and Base Mosaic in that order. You can search for Option BaseMosaic to find doc, caveats etc.

I get to be a lucky person whose cards are "not approved for SLI". Thanks Nvidia for making Linux users second class citizens - Windows works just fine on the same hardware - and it is a lovely reward for buying two of your cards!

(EE) NVIDIA(0): Failed to find a valid Base Mosaic configuration.
(EE) NVIDIA(0): Invalid Base Mosaic configuration 1 of 1:
(EE) NVIDIA(0): GPUs:
(EE) NVIDIA(0):     1) NVIDIA GPU at PCI:1:0:0
(EE) NVIDIA(0):     2) NVIDIA GPU at PCI:2:0:0
(EE) NVIDIA(0): Errors:
(EE) NVIDIA(0):     - The video link was not detected
(EE) NVIDIA(0):     - Unsupported GPU
(EE) NVIDIA(0):     - Chipset not approved for SLI
(WW) NVIDIA(0): Failed to find a valid Base Mosaic configuration for the
(WW) NVIDIA(0):     NVIDIA graphics device PCI:1:0:0. Please see Chapter 29:
(WW) NVIDIA(0):     Configuring SLI and Multi-GPU FrameRendering in the README
(WW) NVIDIA(0):     for troubleshooting suggestions.
(EE) NVIDIA(0): Only one GPU will be used for this X screen.
-1

Have you tried just running

sudo nvidia-xconfig

by any chance?

I usually find that if I can't sort out what I need manually with nvidia cards and the proprietary drivers that just running that usually sorts everything out I need. I just need to sometimes change the order of the monitors later is all.

zookalicious
  • 2,303