Dual NVidia graphics cards in Ubuntu / xorg.conf mania
I got it to work. The first step was to replace the GeForce card with a Quadro card identical to the first. Then nvidia-settings was able to see it. I ended up with this xorg.conf:
Section "ServerLayout"
Identifier "Default Layout"
Screen 0 "Screen0" 0 0
Screen 1 "Screen1" RightOf "Screen2"
Screen 2 "Screen2" RightOf "Screen0"
Option "Clone" "off"
Option "Twinview" "on"
Option "Xinerama" "on"
EndSection
Section "Monitor"
Identifier "Monitor0"
VendorName "Unknown"
ModelName "DELL 2408WFP"
HorizSync 30.0 - 83.0
VertRefresh 56.0 - 76.0
Option "DPMS"
Option "RandRRotation" "on"
Option "Rotate" "CCW"
EndSection
Section "Monitor"
Identifier "Monitor1"
VendorName "Unknown"
ModelName "DELL 2408WFP"
HorizSync 30.0 - 83.0
VertRefresh 56.0 - 76.0
Option "DPMS"
Option "RandRRotation" "on"
Option "Rotate" "CCW"
EndSection
Section "Monitor"
Identifier "Monitor2"
VendorName "Unknown"
ModelName "DELL 2408WFP"
HorizSync 30.0 - 83.0
VertRefresh 56.0 - 76.0
Option "DPMS"
Option "RandRRotation" "on"
Option "Rotate" "CCW"
EndSection
Section "Device"
Identifier "Videocard1"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "Quadro NVS 295"
Option "RenderAccel" "true"
BusID "PCI:3:0:0"
Screen 1
EndSection
Section "Device"
Identifier "Videocard0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "Quadro NVS 295"
BusID "PCI:3:0:0"
Screen 0
EndSection
Section "Device"
Identifier "Videocard2"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "Quadro NVS 295"
BusID "PCI:4:0:0"
EndSection
Section "Screen"
Identifier "Screen0"
Device "Videocard0"
Monitor "Monitor0"
DefaultDepth 24
Option "UseEdidFreqs" "True"
Option "TwinView" "0"
Option "metamodes" "DFP-2: nvidia-auto-select +0+0"
SubSection "Display"
Depth 24
EndSubSection
EndSection
Section "Screen"
Identifier "Screen1"
Device "Videocard2"
Monitor "Monitor1"
DefaultDepth 24
Option "UseEdidFreqs" "True"
Option "TwinView" "0"
Option "metamodes" "nvidia-auto-select +0+0"
SubSection "Display"
Depth 24
EndSubSection
EndSection
Section "Screen"
Identifier "Screen2"
Device "Videocard1"
Monitor "Monitor2"
DefaultDepth 24
Option "UseEdidFreqs" "True"
Option "TwinView" "0"
Option "metamodes" "DFP-3: nvidia-auto-select +0+0"
SubSection "Display"
Depth 24
EndSubSection
EndSection
TwinView doesn't seem to be available across multiple cards, so now I use multiple X screens with Xinerama, which causes the Gnome Screen Resolution applet not to work (it thinks XRandRExtension is not enabled even when it is). But I hard-coded the screen rotations in there, and it all works.
Hopefully Ubuntu Karmic solves all this with whatever its replacement system is for the rather dreadful xorg.conf
.
Related videos on Youtube
AgDude
Updated on September 17, 2022Comments
-
AgDude over 1 year
I have two NVidia graphics cards:
- Quadro NVS 295 (PCI Express, dual DisplayPort outputs)
- GeForce FX 5200 (PCI, DVI and VGA outputs)
I have three identical monitors, two on DisplayPort and one on DVI.
I'm on Ubuntu Hardy (and cannot currently dist-upgrade for separate reasons). I use the "nvidia" driver.
What's new is the GeForce card and the third monitor. I currently have the dual DisplayPort monitors working fine. Here are the display-related parts of my xorg.conf:
Section "ServerLayout" Identifier "Default Layout" Screen "PCI-Express Screen" 0 0 # adding this makes X fail to start: Screen "PCI Screen" 0 Inputdevice "Generic Keyboard" Inputdevice "Configured Mouse" EndSection Section "Module" Load "glx" # not sure why/if this is needed EndSection Section "Monitor" Identifier "DELL 2408WFP" Option "DPMS" EndSection Section "Device" Identifier "NVIDIA Quadro NVS 295" Driver "nvidia" Option "RenderAccel" "true" Screen 0 BusID "PCI:2:0:0" EndSection Section "Device" Identifier "NVIDIA GeForce FX 5200" Driver "nvidia" Option "RenderAccel" "true" Screen 1 BusID "PCI:6:4:0" EndSection Section "Screen" Identifier "PCI-Express Screen" Device "NVIDIA Quadro NVS 295" Monitor "DELL 2408WFP" Defaultdepth 24 Option "TwinView" "True" Option "UseEdidFreqs" "True" Option "MetaModes" "1920x1200 +0+1200, 1920x1200 +0+0" EndSection Section "Screen" Identifier "PCI Screen" Device "NVIDIA GeForce FX 5200" Monitor "DELL 2408WFP" Defaultdepth 24 Option "TwinView" "True" Option "UseEdidFreqs" "True" Option "MetaModes" "1920x1200 +0+0" EndSection
I use
nvidia-settings
to configure my monitors, and it does not show the second GPU.lspci
, though, shows:02:00.0 VGA compatible controller: nVidia Corporation Unknown device 06fd 06:04.0 VGA compatible controller: nVidia Corporation NV34 [GeForce FX 5200]
Which is where I got the BusID settings for the two devices (when I just had one device, I didn't have any BusID listed...and adding the BusID hasn't broken anything).
What am I missing? How can I make
nvidia-settings
show my second GPU so I can then configure its monitor? -
AgDude over 14 years...and then I found that X would consume all the CPU time on my many-core machine, making this kind of useless. It seems like Xinerama makes thing slow and buggy, whereas TwinView does not. But TwinView only supports a single GPU, so maybe I'll end up needing a 3- or 4-port GPU instead. For now I'm back to two monitors so I can use TwinView.
-
AgDude about 14 years...and eventually I upgraded to Ubuntu Lucid Lynx, where the Xorg 100% CPU problems are mostly gone, and the machine is usable with three monitors. At last.
-
AgDude over 13 yearsI don't know. And I abandoned the NVidia setup eventually for Matrox, which is much more reliable (doesn't crash) than NVidia (Xorg crashes fairly often with more than two monitors using Xinerama). A coworker had good luck with ATi's new Eyefinity multi-head card, too, so I suggest that because it's cheaper than the Matrox quad-head card, and OpenGL acceleration works.
-
AgDude over 13 years...the saga continued: in Lucid it was never quite stable--I experienced a bug (reported by others too): if the mouse was transiting the boundary between two screens while I simultaneously switched workspaces (using the keyboard), the computer would lock up hard. After months of having this happen to myself and a coworker with a similar setup, I switched to a Matrox M9148 on Ubuntu Lucid. It worked OK, though there was no OpenGL acceleration. Then I upgraded to Ubuntu Maverick, Matrox had no drivers, so I switched to an ATi Eyefinity 5700. Works like a charm--at last!