Multiple Monitors, Multiple Nvidia Cards

7,640

Well, that was difficult. I have a thread on this here and at Mint's forum. I'm going to update both because I made it work. I want to save folks a couple weeks of misery.

  • I'm using Kubuntu LTS, now. It's 12.04.4, the update that came out a few days ago, which uses the Linux 3.2.0-58 kernel. I'm still using 64-bit.
  • I'm using the Nvidia 304.116 driver. I'll elaborate on the install in a few paragraphs.
  • I'm using Xinerama.
  • I didn't enable the TV, just because I was getting annoyed that the login window was appearing there, thus meaning I had to turn on the TV to see the login prompt.

Probably the most major thing I learned is from the folks at archlinux.org:

"Warning: As of August 2013, Xinerama is broken when using the proprietary NVIDIA driver from 319 upwards. Users wishing to use Xinerama with the NVIDIA driver should use the NVIDIA 313 driver, which works only with Linux kernels earlier than 3.10."

The kernel in Kubuntu 13.10 is 3.11. The recommended driver (i.e. what you get when you use "sudo apt-get install nvidia-current") is 319.

Also note, according to Tom's Hardware, Nvidia display drivers have a problem displaying to four monitors with drivers higher than 295.

==============

The actual install was quite simple:

  • Install Kubuntu 12.04 from the CD. Reboot into your installed OS (i.e. don't reboot to the live CD).
  • Install all the Kubuntu updates through Muon Update Manager (hey, it's KDE). Reboot.
  • Start up Konsole ("Terminal") and do "sudo apt-get install nvidia-current." Reboot.
  • Start up Konsole and do "sudo nvidia-settings."

Here's a fun thing that several folks have reported after the *ubuntu 12.04.4 update: if you hit "Apply" in Nvidia settings control panel app, the program dumps you back to the desktop and doesn't save your changes.

  • Make all the activations/moves/changes you want to all the screens. Just remember that you want a separate X screen for each monitor. When you're happy with all the settings, put a checkmark in the Xinerama box and hit the "Save to X Configuration File" button. You want to save it as /etc/X11/xorg.conf.
  • Reboot.

Easy-peasy. I think that's even fewer steps than setting up multiple monitors on a Windows box.

Now, I'm not exactly a Linux newbie, but I don't know off the top of my head how to check to make 100% sure that I don't have some bit of Nouveau lurking someplace that will cause a problem with some high-graphic game or 3D rendering thing. All I know is that before I installed the driver, my 9600GT video card's fan would be at 100%. It's now really quiet. I also don't see any big spikes in disk activity, so I don't see any great need to do any Nouveau exorcism.

My xorg.conf file follows. Looking over it, I see that there are "16" entries for depth/default depth. Looking at the Nvidia X Server Settings control panel, though, resolution is set to "auto." Also, if I look at images, they look just fine, so I think it's really doing 24-bit color, like it should. (Also, FWIW, I have a standard 104-key US keyboard and a Kensington Slimblade trackball.)

============

Section "ServerLayout"
Identifier     "Layout0"
Screen      0  "Screen0" 3600 0
Screen      1  "Screen1" 1680 0
Screen      2  "Screen2" 0 0
InputDevice    "Keyboard0" "CoreKeyboard"
InputDevice    "Mouse0" "CorePointer"
Option         "Xinerama" "1"
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      "ViewSonic VX2233wm-1"
HorizSync       24.0 - 82.0
VertRefresh     50.0 - 75.0
Option         "DPMS"
EndSection

Section "Monitor"
# HorizSync source: edid, VertRefresh source: edid
Identifier     "Monitor1"
VendorName     "Unknown"
ModelName      "LG Electronics IPS231"
HorizSync       30.0 - 83.0
VertRefresh     56.0 - 75.0
Option         "DPMS"
EndSection

Section "Monitor"
# HorizSync source: edid, VertRefresh source: edid
Identifier     "Monitor2"
VendorName     "Unknown"
ModelName      "ViewSonic VA2226w"
HorizSync       30.0 - 82.0
VertRefresh     50.0 - 75.0
Option         "DPMS"
EndSection

Section "Device"
Identifier     "Device0"
Driver         "nvidia"
VendorName     "NVIDIA Corporation"
BoardName      "GeForce GTX 560"
BusID          "PCI:1:0:0"
EndSection

Section "Device"
Identifier     "Device1"
Driver         "nvidia"
VendorName     "NVIDIA Corporation"
BoardName      "GeForce 9600 GT"
BusID          "PCI:2:0:0"
Screen          0
EndSection

Section "Device"
Identifier     "Device2"
Driver         "nvidia"
VendorName     "NVIDIA Corporation"
BoardName      "GeForce 9600 GT"
BusID          "PCI:2:0:0"
Screen          1
EndSection

Section "Screen"
Identifier     "Screen0"
Device         "Device0"
Monitor        "Monitor0"
DefaultDepth    16
Option         "Stereo" "0"
Option         "metamodes" "DVI-I-3: nvidia-auto-select +0+0"
Option         "SLI" "Off"
Option         "MultiGPU" "Off"
Option         "BaseMosaic" "off"
SubSection     "Display"
Depth       16
EndSubSection
EndSection

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

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

Section "Extensions"
Option         "Composite" "Disable"
EndSection
Share:
7,640

Related videos on Youtube

prisoner_24601
Author by

prisoner_24601

Updated on September 18, 2022

Comments

  • prisoner_24601
    prisoner_24601 over 1 year

    This has been bothering me for a couple days and I haven't gotten much further, so I humbly beg assistance.

    I have a ASrock Z77 SandyBridge i7 desktop with three video cards (built-in Intel, Nvidia 9600GT and Nvidia 560GTX). I have three monitors (two 1080p and a 1680x1050; all Viewsonic) and a TV (1080p; Vizio). The monitors and TV are all connected to the Nvidia cards (two heads per card, DVI connections) and I don't have anything connected to the built-in Intel.

    I want to:

    • Get all the monitors to display an image
    • Be able to drag a window, either from an application or just a folder, from monitor to monitor

    My computer is dual-booting Ubuntu Gnome 13.04 and Windows 8.1. The monitors and TV work fine in Windows 8.1.

    ===========

    I currently am running Ubuntu Gnome 13.04. That's not because I love Gnome, it's because I was actually able to get a window to move from one monitor on one video card to another monitor on another video card with the Gnome Put extension -- well, when I booted from the Ubuntu Gnome Live CD, at least. I'd actually prefer KDE.

    Problems:

    • I can't use Nouveau. Noveau causes the fan on the 9600GT card to spin at 100%. Installing an Nvidia driver fixes that problem.
    • I've tried various guides both here and elsewhere to install the latest Nvidia drivers and had almost no success. I've generally been able to get one of the drivers from the repository (319) to work, but for not more than two monitors. There was one exception: when I tried Linux Mint 16 KDE.
    • Whenever I've enabled Xinerama, I'll get all black screens at reboot, even in recovery mode. When I try, for instance, ctrl-alt-f1, I'll hear the 9600GT's fan start up, then spin down, then spin up, etc., but never get video.

    Thanks for your time!