Duale NVidia-Grafikkarten in Ubuntu / xorg.conf-Manie

13675
John Zwinck

Ich habe zwei NVidia-Grafikkarten:

  • Quadro NVS 295 (PCI Express, zwei DisplayPort-Ausgänge)
  • GeForce FX 5200 (PCI-, DVI- und VGA-Ausgänge)

Ich habe drei identische Monitore, zwei auf DisplayPort und einen auf DVI.

Ich bin auf Ubuntu Hardy (und kann aus verschiedenen Gründen derzeit kein Dist-Upgrade durchführen). Ich verwende den "nvidia" -Treiber.

Neu ist die GeForce-Karte und der dritte Monitor. Ich habe derzeit die dualen DisplayPort-Monitore, die einwandfrei funktionieren. Hier sind die Anzeige-bezogenen Teile meiner 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 

Ich verwende nvidia-settingszum Konfigurieren meiner Monitore, und die zweite GPU wird nicht angezeigt. lspcizeigt jedoch:

02:00.0 VGA compatible controller: nVidia Corporation Unknown device 06fd 06:04.0 VGA compatible controller: nVidia Corporation NV34 [GeForce FX 5200] 

Dort habe ich die BusID-Einstellungen für die beiden Geräte erhalten (als ich gerade ein Gerät hatte, hatte ich keine BusID aufgeführt ... und das Hinzufügen der BusID hat nichts beschädigt).

Was vermisse ich? Wie kann ich nvidia-settingsmeine zweite GPU anzeigen lassen, damit ich ihren Monitor konfigurieren kann?

3

2 Antworten auf die Frage

1
John Zwinck

Ich habe es geschafft zu arbeiten. Der erste Schritt bestand darin, die GeForce-Karte durch eine mit der ersten identische Quadro-Karte zu ersetzen. Dann konnte nvidia-settings es sehen. Ich endete mit dieser 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 scheint nicht für mehrere Karten verfügbar zu sein. Daher verwende ich jetzt mehrere X-Bildschirme mit Xinerama, was dazu führt, dass das Gnome Screen Resolution-Applet nicht funktioniert. Aber ich habe die Bildschirmdrehungen dort hart codiert, und alles funktioniert.

Hoffentlich löst Ubuntu Karmic all dies mit dem Ersatzsystem für die ziemlich schrecklichen xorg.conf.

... und dann habe ich festgestellt, dass X die gesamte CPU-Zeit auf meinem Many-Core-Rechner beanspruchen würde, was diese Art von Nutzungen unnötig macht. Es scheint, als würde Xinerama die Sache langsam und fehlerhaft machen, während dies bei TwinView nicht der Fall ist. TwinView unterstützt jedoch nur eine einzelne GPU. Vielleicht benötige ich stattdessen eine GPU mit 3 oder 4 Anschlüssen. Jetzt bin ich wieder bei zwei Monitoren, also kann ich TwinView verwenden. John Zwinck vor 14 Jahren 0
... und schließlich habe ich ein Upgrade auf Ubuntu Lucid Lynx durchgeführt, wo die Xorg 100% CPU-Probleme meistens nicht mehr vorhanden sind und die Maschine mit drei Monitoren verwendet werden kann. Zu guter Letzt. John Zwinck vor 14 Jahren 0
... die Geschichte ging weiter: In Lucid war es nie ganz stabil - ich hatte einen Fehler (auch von anderen berichtet): Wenn die Maus die Grenze zwischen zwei Bildschirmen überschritt und ich gleichzeitig den Arbeitsbereich wechselte (über die Tastatur), den Computer würde hart einsperren. Nachdem ich mir und einem Kollegen mit einem ähnlichen Setup monatelang etwas passiert hatte, wechselte ich zu einer Matrox M9148 unter Ubuntu Lucid. Es hat funktioniert, obwohl es keine OpenGL-Beschleunigung gab. Dann habe ich auf Ubuntu Maverick upgegradet, Matrox hatte keine Treiber, also wechselte ich zu einem ATi Eyefinity 5700. Funktioniert wie ein Zauber - endlich! John Zwinck vor 13 Jahren 0
0
Adrian Ruiz

Haben Sie eine VDPAU-Beschleunigung mit Xinerama And TwinView? Sie könnten es mit:

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

wobei $ file eine H.264-Videodatei ist.

Ich weiß es nicht. Und ich habe das NVidia-Setup schließlich für Matrox aufgegeben, was viel zuverlässiger ist (stürzt nicht ab) als NVidia (Xorg stürzt häufig mit mehr als zwei Monitoren ab, die Xinerama verwenden). Ein Kollege hatte auch viel Glück mit der neuen Eyefinity-Karte mit mehreren Kopfköpfen von ATi. Ich schlage vor, dass sie günstiger ist als die Matrox-Karte mit vier Kopfköpfen und die OpenGL-Beschleunigung funktioniert. John Zwinck vor 13 Jahren 1