Erweiterter Desktop mit Optimus in Linux

1074
Xorifelse

Das Problem, das bei mir auftritt, ist die Erweiterung meines Desktops. Außerdem wird 1 Monitor auf das gesamte Ansichtsfenster aller Bildschirme angezeigt.

Damit beschäftige ich mich:

Dell XPS L702X

sudo lspci | grep VGA 00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09) 01:00.0 VGA compatible controller: NVIDIA Corporation GF106M [GeForce GT 550M] (rev a1) 

Dies ist nicht das erste Mal, dass ich Probleme mit Optimus in Linux hatte (nicht lange), aber vor kurzem habe ich einen anderen Bildschirm gekauft und möchte ihn stattdessen auf diesen erweitern. Vorher habe ich meine interne Anzeige mit einer sekundären über mDP erweitert, die funktionierte.

Die Einrichtung:

Der Monitor links ist an den mDP-Port angeschlossen, der von der Intel-Karte gesteuert wird. Der Monitor rechts ist an den HDMI-Port angeschlossen, der von der nVidia-Karte gesteuert wird.

Ich habe eine Standard-xorg.conf aus dem Arch-Wiki (nur Setup, das für mich funktioniert hat):

Section "Module" Load "modesetting" EndSection  Section "Device" Identifier "nvidia" Driver "nvidia" BusID "PCI:1:0:0" Option "AllowEmptyInitialConfiguration" EndSection 

Ich habe derzeit nvidia Treiber 364.19-2installiert.

Die Xrandr-Ausgabe (ohne Ausgabe mit zu hoher Auflösung)

Screen 0: minimum 8 x 8, current 3840 x 1080, maximum 16384 x 16384 HDMI-0 connected 1920x1080+1920+0 (normal left inverted right x axis y axis) 598mm x 336mm panning 3840x1080+0+0 1920x1080 60.00*+ 59.94 50.00 60.00 50.04  LVDS-1 connected (normal left inverted right x axis y axis) 1920x1080 60.01 + 40.01  VGA-1 disconnected (normal left inverted right x axis y axis) HDMI-1 connected primary 1920x1080+1920+0 (normal left inverted right x axis y axis) 598mm x 336mm 1920x1080 60.00*+ 50.00 59.94  DP-1 disconnected (normal left inverted right x axis y axis) 1920x1080 (0x2b8) 148.500MHz +HSync +VSync h: width 1920 start 2008 end 2052 total 2200 skew 0 clock 67.50KHz v: height 1080 start 1084 end 1089 total 1125 clock 60.00Hz 1920x1080 (0x2ba) 148.500MHz +HSync +VSync h: width 1920 start 2448 end 2492 total 2640 skew 0 clock 56.25KHz v: height 1080 start 1084 end 1089 total 1125 clock 50.00Hz 

Die Angelegenheit

Wenn in der KDE-Systemsteuerung links mDP auf der linken Seite und Monitor HDMI auf der rechten Seite angezeigt wird, scheint es zu funktionieren. Nur meine Maus bleibt auf der rechten Seite des Bildschirms hängen und ich kann sie nicht auf den linken Bildschirm verschieben.

Wenn ich in der KDE-Systemsteuerung rechts einen mDP-Monitor und links HDMI habe, kann ich meine Maus nach rechts bewegen, was passiert, wenn der Monitor-HDMI horizontal zum mDP-Ausgang scrollt, sodass ich einen geklonten Ausgang habe. Wenn ich mich mit der Maus nach links bewege, blättert die linke Seite des Desktops zurück. Ich glaube, die Ausgabe von xrandr erklärt dieses Verhalten. Dies geschieht jedoch auf dem rechten Monitor, der mit dem HDMI-Anschluss und nicht mit dem mDP verbunden ist.

1
Was ist dein Computermodell? harrymc vor 8 Jahren 0
@ harrymc Diese Information wurde der Frage hinzugefügt. Xorifelse vor 8 Jahren 0

1 Antwort auf die Frage

0
Xorifelse

Nachdem ich mich mit diesem Problem auseinandergesetzt hatte, habe ich das Problem endlich gelöst.

Der Grund dafür ist, dass die Intel-Karte als Sink-Provider für die nVidia-Karte fungiert. Das bedeutet, dass alle Bildschirme dort erfasst werden und erneut gesendet werden. Dies hat dazu geführt, dass sich xrandr so verhält, dass es keine 5760x1080 auf einem 1080p-Bildschirm darstellen kann.

Das System zu täuschen, anstatt es zu beheben, löste das Problem für mich. Ich habe es mit diesem Skript gemacht, aber ich kann die Idee nicht anerkennen.

xrandr --output HDMI-1 --mode 1920x1080 --pos 0x0 --panning 5760x1080+0+0/0x0+0+0/0/0/-3840/0 xrandr --output HDMI-0 --mode 1920x1080 --pos 1920x0 --panning 5760x1080+0+0/0x0+0+0/-1920/0/-1920/0 xrandr --output LVDS-1 --mode 1920x1080 --pos 3840x0 --panning 5760x1080+0+0/0x0+0+0/-3840/0/0/0 

Quelle

Ich habe die Werte geändert, um sie an meine Monitorverbindungen und Auflösungen anzupassen. Als Nächstes erstellte ich eine bash-Datei, die beim Systemstart ausgeführt wird. Dabei werden die verbundenen Monitore ermittelt und von dort aus manuell xrandr-Befehle ausgeführt. Nützlich, wenn ich mein Notebook mitbringe und die anderen Monitore trennen.