6

I just performed a fresh install of Ubuntu 14.04. I have 3 Nvidia Quadro Cards powering three monitors. I used nvidia-settings to enable the three monitors:

*NOTE: The forum will not let me post the image until I have at least "10 reputation". I don't think the image is necessary for understanding, it just shows that all three monitors are enabled in the Nvidia Settings Window. If you need it, I can PM it to you.

After rebooting all three monitors are being used, but only the primary monitor has a desktop. I can move the mouse to the other two monitors just fine, but the mouse pointer turns into an 'X', and I am unable to drag windows to them. When I try to drag a window onto the other monitor, the desktop acts as if they are not there and tries to dock the window on that side of my primary monitor (desktop). The monitors are black and display no unity launcher or anything. Here is my xorg.conf file:

# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig:  version 304.117  (buildmeister@swio-display-x86-rhel47-01)  Tue Nov 26 22:29:40 PST 2013

# nvidia-settings: X configuration file generated by nvidia-settings
# nvidia-settings:  version 331.20  (buildd@roseapple)  Mon Feb  3 15:07:22 UTC 2014

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" "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     "Acer"
    ModelName      "Acer X223W"
    HorizSync       31.0 - 83.0
    VertRefresh     56.0 - 75.0
    Option         "DPMS"
EndSection

Section "Monitor"

    # HorizSync source: unknown, VertRefresh source: unknown
    Identifier     "Monitor1"
    VendorName     "Acer"
    ModelName      "Acer X223W"
    HorizSync       0.0 - 0.0
    VertRefresh     0.0
    Option         "DPMS"
EndSection

Section "Monitor"

    # HorizSync source: unknown, VertRefresh source: unknown
    Identifier     "Monitor2"
    VendorName     "Acer"
    ModelName      "Acer X223W"
    HorizSync       0.0 - 0.0
    VertRefresh     0.0
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "Quadro 600"
    BusID          "PCI:4:0:0"
EndSection

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

Section "Device"
    Identifier     "Device2"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "Quadro FX 580"
    BusID          "PCI:9:0:0"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "Stereo" "0"
    Option         "nvidiaXineramaInfoOrder" "DFP-0"
    Option         "metamodes" "nvidia-auto-select +0+0"
    Option         "SLI" "Off"
    Option         "MultiGPU" "Off"
    Option         "BaseMosaic" "off"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Section "Screen"
    Identifier     "Screen1"
    Device         "Device1"
    Monitor        "Monitor1"
    DefaultDepth    24
    Option         "Stereo" "0"
    Option         "metamodes" "nvidia-auto-select +0+0"
    Option         "SLI" "Off"
    Option         "MultiGPU" "Off"
    Option         "BaseMosaic" "off"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Section "Screen"
    Identifier     "Screen2"
    Device         "Device2"
    Monitor        "Monitor2"
    DefaultDepth    24
    Option         "Stereo" "0"
    Option         "metamodes" "nvidia-auto-select +0+0"
    Option         "SLI" "Off"
    Option         "MultiGPU" "Off"
    Option         "BaseMosaic" "off"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

If I look at System Settings->Displays, only the primary monitor will show up, it will not detect the other displays.

Here is the output of: /usr/lib/nux/unity_support_test --print

OpenGL vendor string:   NVIDIA Corporation
OpenGL renderer string: Quadro 600/PCIe/SSE2
OpenGL version string:  4.2.0 NVIDIA 304.117

Not software rendered:    yes
Not blacklisted:          yes
GLX fbconfig:             yes
GLX texture from pixmap:  yes
GL npot or rect textures: yes
GL vertex program:        yes
GL fragment program:      yes
GL vertex buffer object:  yes
GL framebuffer object:    yes
GL version is 1.4+:       yes

Unity 3D supported:       yes

Edit 05/06/2014:
After fighting with and learning about how X11 works over the last few days, I think I need to restate the question I have. I think Xinerama is what I need to use, with this computer, I had it configured correctly on Ubuntu 12.04 without any issues, but an update to unity broke everything; so I upgraded to 14.04. Until I can replace X11 with MIR or Wayland, I would like to get Xinerama to work with my current version of Unity, which is 7.2.0.

When I enable Xinerama in my xorg.conf, I am able to log in and can see the background on all three screens, but unity fails to load; something fails with compiz. If I reboot unity, I am able to get the desktop to load and open GUI applications, but I cannot drag them to other monitors. If I try, they are not rendered on the other screens, although I am still able to interact with them and drag them back (only by remembering where the mouse was when I drag released them).


Has anyone successfully gotten Xinerama to work with multiple monitors and GPUs with 3D acceleration and X11 support?

Does anyone know of a workaround such as mosaic mode with an add-ons?

Is there a good alternative to Unity/X11 that is stable and supports multimonitor desktops?

Does the nouveau driver support multi monitor better than the NVidia driver?

Would upgrading to the newer Nvidia Drivers (I have nvidia-current: 304.117) resolve these issues?

1
  • 1
    You can upload the image to a free service like imgur.com and provide a link here. Someone will edit it into the question for you. – terdon Apr 30 '14 at 13:39
2

Enabling Xinerama tends to disable compositing on nvidia and ati graphics cards. Something in the drivers makes compositing and xinerama incompatible on them. Compiz cannot enable the majority of its plugins (unity included) without compositing.

With the advent or xrandr, xinerama should not be required to get multiple monitors to work. That said... my experience has been that in order to use multiple GPU cards on a single system, you typically have to sacrifice compositing... thus no compiz. Supposedly in xrandr 1.4 (13.04 and later for ubuntu) multi-gpu support is working... I have not tried it, having switched to using ATI cards with Eyefinity and using displayport monitors when I need more than 2. That usually just works. For multi gpu xrandr setup see this post: http://www.phoronix.com/forums/showthread.php?81037-xrandr-1-4-multi-gpu-works!

His looks like he was heading in the right direction.

2

It sounds like you have used the option "New X screen (requires X restart)" in the nvidia-settings when configuring your monitors. That would explain the "x" cursor. Indeed, you have 3 "Screen" sections in your xorg.conf. If you're looking for a single desktop that spans all 3 screen, you only need a single "Screen" section.

Bascially, what your current xorg.conf says is to spawn 3 different copies of X (one per monitor). That's obviously not what you want. The three copies don't talk to each other, so unless you plan on running three different desktop environments (one per screen)...

Let me see if I can fix your Xorg.conf:

Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0" 0 0
    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     "Acer"
    ModelName      "Acer X223W"
    HorizSync       31.0 - 83.0
    VertRefresh     56.0 - 75.0
    Option         "DPMS"
EndSection

Section "Monitor"

    # HorizSync source: unknown, VertRefresh source: unknown
    Identifier     "Monitor1"
    VendorName     "Acer"
    ModelName      "Acer X223W"
    HorizSync       0.0 - 0.0
    VertRefresh     0.0
    Option         "DPMS"
EndSection

Section "Monitor"

    # HorizSync source: unknown, VertRefresh source: unknown
    Identifier     "Monitor2"
    VendorName     "Acer"
    ModelName      "Acer X223W"
    HorizSync       0.0 - 0.0
    VertRefresh     0.0
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "Quadro 600"
    BusID          "PCI:4:0:0"
EndSection

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

Section "Device"
    Identifier     "Device2"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "Quadro FX 580"
    BusID          "PCI:9:0:0"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "Stereo" "0"
    Option         "nvidiaXineramaInfoOrder" "DFP-0"
    Option         "metamodes" "nvidia-auto-select +0+0"
    Option         "SLI" "Off"
    Option         "MultiGPU" "Off"
    Option         "BaseMosaic" "off"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Also, according to this, you have 3 different GPU's? Two are Quadro FX 580's and one Quadro 600? Is that correct? Removing the Quadro 600 should allow you do enable SLI. That is, of course, unless you're a BitCoin miner ;)

2
  • My goal is to not change the hardware setup, and use Unity with 3 Monitors. I do have (1) Quadro 600, and (2) Quadro 580s. Goals: -Windows maximize per monitor, not across one big fake desktop. -Full-screen videos & games do so only on one monitor, not in the middle of both of them. -One X environment, where windows can be dragged to any screen. I do not need to be able to change resolutions on the fly. I would like it to work pretty much how multi-monitor on windows works. I have not tried NVidia basic mosaic yet, but my understanding is that is one big (fake) desktop. – Nfettinger May 2 '14 at 19:39
  • Oh, and SLI is not an option, it isn't supported by my current setup. – Nfettinger May 2 '14 at 19:54

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.