Tutorial for setting up a Linux machine with 3 monitors?

3

2

Can you provide a link to an up-to-date tutorial for setting up Linux with 3 monitors? Specifically, I want to set up 2 different nvidia video cards with 3 monitors. I can already do 2 monitors on 1 video card, so I am not interested in those tutorials.

jmvidal

Posted 2010-01-20T12:41:31.237

Reputation: 305

Question was closed 2013-12-24T22:10:32.110

I should advise you not to expect alot. I recently got to the end of my tether and ended up buying a new larger monitor to replace 2 smaller ones to go from 3 to 2 monitors because linux triple-head and multi-gpu hardware acceleration is nothing short of rubbish. Dual head is good times, Triple was just faf, pain, and annoyances. I got 3 monitors working in 2d, but no xrandr meant everything from googleearth to my mp3 player's visualisations (and everything in-between, particularly most games) just crashed out., or my personal faviorite - would crash X losing all your unsaved work. – Sirex – 2011-02-09T13:42:46.780

Try that one, it's for mandriva, but should be working.

– Bobby – 2010-01-20T12:57:20.827

Answers

3

I run a three monitor setup using xinerama and two Nvidia gfx cards. This works with X.org 1.9.4. Have a look at my xorg.conf:

Section "ServerLayout"
Identifier     "X.org Configured"
Option      "Clone"     "off"
Option      "Xinerama"  "on"
Screen      0  "Screen0"
Screen      1  "Screen1" RightOf "Screen0"
Screen      2  "Screen2" LeftOf "Screen0"
InputDevice    "Mouse0" "CorePointer"
InputDevice    "Keyboard0" "CoreKeyboard"
EndSection

Section "ServerFlags"
    Option      "DontZap"       "false"
EndSection

Section "Files"
ModulePath   "/usr/lib/xorg/modules"
FontPath     "/usr/share/fonts/misc"
FontPath     "/usr/share/fonts/100dpi:unscaled"
FontPath     "/usr/share/fonts/75dpi:unscaled"
FontPath     "/usr/share/fonts/TTF"
FontPath     "/usr/share/fonts/Type1"
FontPath     "/usr/share/fonts/local"
EndSection

Section "Module"
Load  "record"
Load  "extmod"
Load  "dbe"
Load  "dri2"
Load  "dri"
Load  "glx"
EndSection

Section "InputDevice"
Identifier  "Keyboard0"
Driver      "kbd"
Option      "XkbLayout" "gb"
Option      "XkbOptions" "terminate:ctrl_alt_bksp" 
EndSection

Section "InputDevice"
Identifier  "Mouse0"
Driver      "mouse"
Option      "Protocol" "auto"
Option      "Device" "/dev/input/mice"
Option      "ZAxisMapping" "4 5 6 7"
EndSection

Section "Monitor"
Identifier   "Monitor0"
VendorName   "Monitor Vendor"
ModelName    "Monitor Model"
Option       "DPMS"
EndSection

Section "Monitor"
Identifier   "Monitor1"
VendorName   "Monitor Vendor"
ModelName    "Monitor Model"
Option       "DPMS"
EndSection

Section "Monitor"
Identifier   "Monitor2"
VendorName   "Monitor Vendor"
ModelName    "Monitor Model"
Option       "DPMS"
EndSection



Section "Device"
Identifier  "Card0"
Driver      "nvidia"
VendorName  "nVidia Corporation"
BoardName   "G80 [GeForce 8800 GTS]"
BusID       "PCI:1:0:0"
Option      "NoLogo"    "1"
Option      "RenderAccel"   "True"
Screen      0
EndSection

Section "Device"
Identifier  "Card1"
Driver      "nvidia"
VendorName  "nVidia Corporation"
BoardName   "G80 [GeForce 8800 GTS]"
BusID       "PCI:1:0:0"
Option      "NoLogo"    "1"
Option      "RenderAccel"   "True"
Screen      1
EndSection

Section "Device"
Identifier  "Card2"
Driver      "nvidia"
VendorName  "nVidia Corporation"
BoardName   "G92 [GeForce 8800 GTS 512]"
BusID       "PCI:4:0:0"
Option      "NoLogo"    "1"
Option      "RenderAccel"   "True"
Screen      0
EndSection

Section "Screen"
Identifier "Screen0"
Device     "Card0"
Monitor    "Monitor0"
Option     "Metamodes" "1680x1050"
SubSection "Display"
    Depth     24
    Modes     "1680x1050"
EndSubSection
EndSection

Section "Screen"
Identifier "Screen1"
Device     "Card1"
Monitor    "Monitor1"
Option     "Metamodes" "1680x1050"
SubSection "Display"
    Depth     24
    Modes     "1680x1050"
EndSubSection
EndSection

Section "Screen"
Identifier "Screen2"
Device     "Card2"
Monitor    "Monitor2"
Option     "Metamodes" "1680x1050"
SubSection "Display"
    Depth     24
    Modes     "1680x1050"
EndSubSection
EndSection

Section "DRI"
Mode 0666
EndSection

Yes, I know Xinerama is old and all the cool kids should be using xrandr. Well, if anybody can show me an Xrandr config that works, I'd change in a heartbeat.

Another solution would be to use a hardware gizmo that multiplexes your monitors. Expensive, but would allow you to run SLI/xrandr/etc instead of Xinerama. Gizmos here

brice

Posted 2010-01-20T12:41:31.237

Reputation: 2 206

0

If you have a sufficiently modern Linux installation, and reasonably new nvidia cards and driver (I have 185 at work(ubuntu), 190 at home(Fedora12)), you've already done the hard part.

All you need to do now is install the nvidia-settings package (yum install nvidia-settings), reboot and plug in the new card and monitor.

Then run nvidia-settings as root.

Both your GPUs will (should) be listed along with the monitors attached to each.

Under "X Server Display Configuration" you'll see all three monitors, though one may be disabled. You'll be able enable it on the configuration line by selecting that screen first. You can also place the screens where you want (left, right, top, bottom ... whatever) here as well.

Note: so far as I know, with two separate cards you will have to either use Xinerama or separate x displays. (it's possible that in an SLI setup you'll be able to run more than two monitors in twin-view. I'm not sure about that setup as I've never used it. I ran two cards with no SLI).

Xinerama will not allow for a compositing X display (no fancy 3d window effects) as well as any other issues you may have with Xinerama.

You shouldn't have to edit your xorg.conf directly any more.

SuperMagic

Posted 2010-01-20T12:41:31.237

Reputation: 935