Wir möchten 3 Bildschirme mit einem integrierten Intel-Grafikadapter und einer NVIDIA-Karte einrichten.
Beide Karten werden in lspci erkannt
01:00.0 VGA compatible controller: NVIDIA Corporation GT218 [GeForce 210] (rev a2) 00:02.0 Display controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09)
Und grundsätzlich funktioniert:Wenn ich auf die Konsole wechsle, sehe ich Ausgaben auf der Intel-Karte,
X läuft nur auf der Nvidia-Karte.
Aber wenn ich xrandr | grep conn Ich bekomme nur einen verbundenen Port:
DVI-I-0 disconnected (normal left inverted right x axis y axis) VGA-0 disconnected (normal left inverted right x axis y axis) DVI-I-1 connected 1920x1200+0+0 (normal left inverted right x axis y axis) 518mm x 324mm HDMI-0 disconnected (normal left inverted right x axis y axis)
Ich verwende Ubuntu 12.10 (und XFCE) und habe den proprietären nvidia-Treiber installiert.
Ich ging davon aus, dass X vielleicht ein Problem hat, beide Karten automatisch zu erkennen, also dachte ich an die folgende xorg.conf könnte helfen:
Section "ServerLayout"
Identifier "Layout0"
Screen 0 "Screen0"
Screen 1 "Screen1"
InputDevice "Keyboard0" "CoreKeyboard"
InputDevice "Mouse0" "CorePointer"
EndSection
Section "Files"
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"
Identifier "Monitor0"
VendorName "Unknown"
ModelName "Unknown"
HorizSync 28.0 - 33.0
VertRefresh 43.0 - 72.0
Option "DPMS"
EndSection
Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce 210"
EndSection
Section "Screen"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
DefaultDepth 24
SubSection "Display"
Depth 24
EndSubSection
EndSection
Section "Monitor"
Identifier "Monitor1"
VendorName "Unknown"
ModelName "Unknown"
HorizSync 28.0 - 33.0
VertRefresh 43.0 - 72.0
Option "DPMS"
EndSection
Section "Device"
Identifier "Device1"
Driver "intel"
VendorName "Intel"
BoardName "Internal Intel Graphics"
EndSection
Section "Screen"
Identifier "Screen1"
Device "Device1"
Monitor "Monitor1"
DefaultDepth 24
SubSection "Display"
Depth 24
EndSubSection
EndSection
Aber es funktioniert immer noch nicht.
- Ist es generell möglich, zwei verschiedene Treiber in X zu verwenden?
- Ist es notwendig, eine
xorg.confzu erstellen dann manuell? (weil Ubuntu 12.10 normalerweise ohne diexorg.conffunktioniert ) - Gibt es irgendwelche Fehler in meiner
xorg.conf?
Akzeptierte Antwort:
Ja, X kann mehrere Treiber verwenden. Deine ist ein sehr ähnliches Setup wie das, was ich habe. Ich habe eine NVIDIA 9800 GT mit zwei angeschlossenen Monitoren und eine Intel-Karte der 2. Generation mit einem einzigen Monitor.
Ich sehe keine Probleme mit Ihrer xorg.conf . Ich vermute, dass Sie eine xorg.conf erstellen müssen nur um X anzuweisen, sowohl NVIDIA- als auch Intel-Treiber zu verwenden. Meine xorg.conf sieht deinem sehr ähnlich; Ich habe drei Monitor- und Bildschirmabschnitte, weil die NVIDIA-Karte zwei Monitore hat, aber ich bin mir ziemlich sicher, dass X diese Abschnitte ignoriert.
Zuerst sollten Sie sicherstellen, dass xinerama in xorg.conf deaktiviert ist (vielleicht nicht notwendig).
xorg.conf :
Section "ServerFlags"
Option "xinerama" "off"
EndSection
Wenn Sie xrandr --listproviders ausführen Sie sollten beide Karten sehen.
[email protected]> xrandr --listproviders
Providers: number : 2
Provider 0: id: 0x290 cap: 0x1, Source Output crtcs: 2 outputs: 5 associated providers: 1 name:NVIDIA-0
Provider 1: id: 0x48 cap: 0xb, Source Output, Sink Output, Sink Offload crtcs: 3 outputs: 6 associated providers: 1 name:Intel
Wenn Sie nicht beide Karten sehen, fehlt Ihnen wahrscheinlich ein Treiber. (Aber OP sagt, die Konsole verwendet eine und X die andere, also funktionieren wahrscheinlich beide)
Verwandte:Ubuntu 14.04 Bildschirmauflösung zu niedrig (SiS 671 Grafikkarte)?
Sie sollten xrandr --setprovideroutputsource verwenden können , um die Intel-Ports zur Liste hinzuzufügen, die von Ihrem xrandr | grep conn In meinem Fall verwende ich die von --listproviders angegebenen Namen :
xrandr --setprovideroutputsource Intel NVIDIA-0
Wenn die Intel-Ports dadurch nicht hinzugefügt werden, ist es möglicherweise bereits so verbunden, dass Sie es nicht sehen können. Trennen Sie es mit:
xrandr --setprovideroutputsource Intel 0x0
Versuchen Sie dann erneut, eine Verbindung herzustellen:
xrandr --setprovideroutputsource Intel NVIDIA-0
Alle Ausgabeports sollten jetzt angezeigt werden. Und Sie sollten in der Lage sein, eine Anzeige mit den Gnome-Anzeigeeinstellungen oder mit xrandr hinzuzufügen .
Als ich endlich mein Intel-Display zum Laufen brachte, entschieden die NVIDIA-Displays, dass sie schwenken mussten, als ich versuchte, die Maus zum dritten Display zu bewegen. Es würde nun den Inhalt des dritten Monitors sowohl auf dem dritten als auch auf dem zweiten Monitor anzeigen. Und der ursprüngliche Inhalt des zweiten wurde auf den ersten Monitor verschoben, wobei der Inhalt des ersten außerhalb des Bildschirms lag. Es würde wieder normal werden, wenn ich versuchen würde, den Cursor wieder auf den ersten Monitor zu bewegen.
Ich habe das schließlich mit einem weiteren xrandr behoben Aufruf:
xrandr --output DVI-I-2 --panning 3840x1200+1680+0/1920x1200+1680+0/0/0/0/0
Dieser Aufruf erfordert Kenntnisse über die physische Bildschirmgeometrie und das logische Layout. Ich habe einen 1680×1050 Monitor, einen 1920×1200 und einen 1920×1080. Sie sind in dieser Reihenfolge von links nach rechts. Ganz rechts ist mit der Intel-Karte verbunden.
Dieser Aufruf legt den Schwenkbereich auf dem mittleren Monitor fest. --output DVI-I-2 zufällig der Port, der mit meinem mittleren Monitor verbunden ist.
Die ersten vier Zahlen stellen den Schwenkbereich auf die Summe des mittleren und rechten Bildschirms ein. 3840×1200 als Breite und Höhe und +1680+0 zum Versetzen der Region, um oben links auf dem mittleren Monitor zu beginnen. (Anscheinend befindet sich [0,0] oben links auf dem linken Monitor)
Die nächsten 4 Zahlen sind der Cursorverfolgungsbereich. Ich habe dies so eingestellt, dass nur der Cursor auf dem mittleren Bildschirm verfolgt wird. Wenn der Cursor diesen Bildschirm verlässt, versucht er auf diese Weise nicht, das Bild zu verschieben, um dem Cursor zu folgen.
Die letzten 4 Zahlen definieren einen Rahmen um den Schwenkbereich. Ich verwende hier nur die Standardwerte.
Versionen verwandter Software, die ich verwendet habe:
xorg-server-1.17.4
gnome-3.18.0
xrandr-1.4.3