PDA

View Full Version : [ubuntu] Triple-head on nvidia cards, setting default screen?



HighFidelityGuy
December 14th, 2009, 01:33 PM
Hi,

I'm fairly new to Ubuntu and Linux in general. I've been trying out dual and triple monitor setups to see what I could get working and I've had a reasonable amount of success. I now have 3 identical monitors hooked up and working. 2 are connected to a PCI-E nvidia 7900GS card and another connected to a PCI nvidia 6200.

I've managed to get all three working with Xinerama without any problems but I'd like to be able to set which of the 3 screens is used as the default desktop for the menu bars and dialog boxes etc. This is something you can set through the GUI when Twin-View is enabled but that option disappears when you switch to separate X screens and use Xinerama. I tried using Twin-view and Xinerama but that had some undesirable results.

With Xinerama setup with 3 separate X screens the screen on the far left gets picked by default to display the desktop. I'd like this to be displayed on the second (middle) monitor so I can drag windows to the left or right.

Is this something that can be set somehow?

If it helps I'm running Ubuntu 9.10 with all the latest updates installed along with version 185 of the nvidia drivers.

Here's a copy of my xorg.conf file:


# nvidia-settings: X configuration file generated by nvidia-settings
# nvidia-settings: version 1.0 (buildd@crested) Sun Feb 1 20:25:37 UTC 2009

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"
EndSection

Section "Files"
EndSection

Section "Module"
Load "dbe"
Load "extmod"
Load "type1"
Load "freetype"
Load "glx"
EndSection

Section "ServerFlags"
Option "Xinerama" "1"
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 VG2030wm"
HorizSync 30.0 - 82.0
VertRefresh 50.0 - 75.0
Option "DPMS"
EndSection

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

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

Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce 7900 GS"
BusID "PCI:1:0:0"
Screen 0
EndSection

Section "Device"
Identifier "Device1"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce 7900 GS"
BusID "PCI:1:0:0"
Screen 1
EndSection

Section "Device"
Identifier "Device2"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce 6200"
BusID "PCI:4:3: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" "nvidia-auto-select +0+0"
SubSection "Display"
Depth 24
EndSubSection
EndSection

Thanks. :)

HighFidelityGuy
December 14th, 2009, 03:45 PM
Hi,

I figured out a way to get this working. I simply had to change the "Section "ServerLayout"" part of my xorg.conf file to the following:


Section "ServerLayout"
Identifier "Layout0"
Screen 0 "Screen0" 1680 0
Screen 1 "Screen1" 0 0
Screen 2 "Screen2" 3360 0
InputDevice "Keyboard0" "CoreKeyboard"
InputDevice "Mouse0" "CorePointer"
EndSection

Then I just had to physically swap monitors 0 and 1 round on my desk after rebooting.

Now the only problem I have is that I get the following error in the terminal when doing display related stuff:

Xlib: extension "RANDR" missing on display ":0.0".

Despite this everything seems to be working.