3

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?

2 Answers 2

1

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.

3
  • ...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. Dec 30, 2009 at 14:05
  • ...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. Mar 9, 2010 at 3:27
  • ...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! Jan 22, 2011 at 22:42
0

Do you have VDPAU acceleration with Xinerama And TwinView on? You could probe it with:

mplayer -vo vdpau -vc ffh264vdpau,ffmpeg12vdpau,ffwmv3vdpau,ffvc1vdpau $file

where $file is a H.264 video file.

1
  • 1
    I 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. Dec 14, 2010 at 3:35

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .