Siduction Forum
Siduction Forum => Hardware - Support => Topic started by: harley-peter on 2018/04/20, 12:23:16
-
Hallo Freunde,
ich möchte an mein Lenovo Laptop mit Xfce einen größeren Samsung Monitor anschließen und auf beiden Displays soll dasselbe angezeigt werden. Jetzt ergeben sich zwei Probleme wenn ich in den Einstellungen auf Bildschirm spiegeln gehe:
1. Die Auflösungen der beiden Displays die natürlich unterschiedlich sind beeinflussen sich gegenseitig so dass ich keine saubere Darstellung auf beiden Bildschirmen bekomme. Wenn ich die Auflösung auf dem Samsung korrekt einstelle dann verschiebt sich die Darstellung auf dem Laptop obwohl die Auflösung lt. Anzeige stimmt und umgekehrt.
2. Die Leiste am unteren Bildschirmrand wird auf dem Laptop nicht mehr angezeigt und ich kann auf diese nur noch über den Samsung Monitor zugreifen.
Graphics: Card: Intel 2nd Generation Core Processor Family Integrated Graphics Controller
Display Server: x11 (X.Org 1.19.6 ) drivers: modesetting (unloaded: fbdev,vesa)
Resolution: 1600x900@60.00hz, 1680x1050@59.95hz
OpenGL: renderer: Mesa DRI Intel Sandybridge Mobile version: 3.3 Mesa 17.3.9
Hat jemand eine Idee wie ich die Probleme in den Griff bekommen kann?
-
Da wirst Du im Zweifel händisch per xrandr bei müssen. Das Ubuntu-Wiki (https://wiki.ubuntuusers.de/RandR/) liefert dir einen Einstieg, ebenso das Arch-Wiki (https://wiki.archlinux.org/index.php/xrandr) Ansonsten mußt Du ein bißchen googeln.
-
Ich arbeite auch mit unterschiedlichen Monitoren (12880x1024, HDMI-TV) am Laptop. Die Umschaltung erledige ich jeweils mit ein paar "Einzeiler"-Scripts die ich auf der Leiste (XFCE) hinterlegt habe.
Auf Wunsch kann ich die Scripts gerne zur Verfügung stellen.
Grüße Reiner
-
fragen:
- welches lenovo notebook?
- welche display-anschlüsse (vga, dvi, hdmi, display-port, ...) bietet das notebook?
- an welchem ausgang hängt der externe monitor? mit was für einem kabel verbunden? ist das kabel mit einem integrierten adapter, z.b. von hdmi auf dvi?
- erkennung des externen bildschirms (modell, maximale auflösung) korrekt?
-
@absolut:
es ist ein Thinkpad T420s und das Gerät verfügt über einen Displayport und einen VGA Anschluss. Der Monitor wurde via VGA angeschlossen da er keinen Display Port hat. Wenn ich auf den externen Monitor schalte wird die optimale Auflösung erkannt (1680x1050). Ich vermute mal dass das Grafiksystem im Laptop keine unterschiedlichen Auflösungen für das Laptop Display und an der VGA Schnittstelle zur Verfügung stellen kann.
@Reiner:
Danke! Scripts nehme ich gerne an.
@Geier0815:
Ich werde mir die Doku zu Gemüte führen ob man damit mehr machen kann als mit dem grafischen tool.
-
Hier mal die Scripts nacheinander im Listing:
Nur Laptop Schirm
#!/bin/sh
# LCD-Schirm mit phys Auflösung 1366x768 und virtueller Auflösung 2000x1400
xrandr -q
xrandr --fb 2000x1400 --output LVDS1 --mode 1366x768 --panning 2000x1400 --output VGA1 --off --output HDMI3 --off
Laptop Schirm und externer Monitor/Beamer
#!/bin/sh
# LCD-Schirm mit 1024x768 und externer Monitor/Beamer genauso
xrandr -q
xrandr --fb 1024x768 --output LVDS1 --mode 1024x768 --panning 1024x768+0+0 --output VGA1 --mode 1024x768 --panning 1024x768+0+0
Laptop Schirm mit ext. Monitor 1280x1024 (für Filme)
#!/bin/sh
# Gemeinsamer Framebuffer 3280x1400, LCD-Schirm phys. 1366x768 (virt. 2000x1400), ext Monitor phys. 1280 rechts vom LCD-Schirm
xrandr -q
xrandr --fb 3280x1400 --output LVDS1 --mode 1366x768 --panning 2000x1400+0+0 --output VGA1 --mode 1280x1024 --right-of LVDS1 --panning 1280x1024+2000+0
Laptop Schirm mit HDMI/TV
#!/bin/sh
# Gemeinsamer Framebuffer 3280x1400, LCD-Schirm phys. 1366x768 (virt. 2000x1400), ext Monitor HDMI/TVrechts vom LCD-Schirm
xrandr -q
xrandr --fb 3920x1400 --output LVDS1 --mode 1366x768 --panning 2000x1400+0+0 --output HDMI3 --mode 1920x1080i --right-of LVDS1 --panning 1920x1080+2000+0
Laptop Schirm und externer 1280x1024 Monitor, beider virtuell mit 2000x1400
#!/bin/sh
#Gemeinsamer Framebuffer 4000x1400, LCD.Schirm pys. 1366x768 (vir. 2000x1400), ext Monitor rechts vom LCD-Schirm, phys. Auflösung 1280x1024 (virt. 2000x1400)
xrandr -q
xrandr --fb 4000x1400 --output LVDS1 --mode 1366x768 --panning 2000x1400+0+0 --output VGA1 --mode 1280x1024 --right-of LVDS1 --panning 2000x1400+2000+0
Einstellung für Betrieb mit Kodi (experimental)
#!/bin/sh
#Gemeinsamer Framebuffer 4000x1400, LCD.Schirm pys. 1366x768 (vir. 2000x1400), ext Monitor rechts vom LCD-Schirm, phys. Auflösung 1280x1024 (virt. 2000x1400)
xrandr --fb 2646x1024 --output LVDS1 --mode 1366x768 --panning 1366x768+0+0 --output VGA1 --mode 1280x1024 --right-of LVDS1 --panning 1280x1024+1366+0
#xrandr --fb 4000x1400 --output LVDS-1 --mode 1366x768 --panning 1366x768+0+0 --output VGA-1 --mode 1280x1024 --right-of LVDS-1--panning 2000x1400+2000+0
Mit xrandr -q kriegt man die Anschlußbezeichnungen und die möglichen Standardauflösungen der angeschlossenen Monitore.
Grüße
Reiner
-
hi harley-peter,
okay, danke für die infos. dass die grafik im notebook nicht mehrere displays mit unterschiedlichen auflösungen ansteuern kann grenzt (imho) an eine wahrscheinlichkeit von 0%
von meiner seite habe ich im moment abgesehen von der idee mit xrandr keine weiteren vorschläge.
erwähnenswert ist: es gibt z.b. displayport auf dvi adapter oder kabel, was dir erlauben würde deinen externen monitor mit einem digitalen (statt analogem) signal zu betreiben. ich persönlich finde die darstellungsqualität viel besser. wenn du eins zum testen ergattern kannst, versuchs mal damit.
-
Ich bekomme das Problem nicht in den Griff aber ich bin jetzt auch nicht der unbedingte Hardware- bzw. Display-Freak.
Wenn ich auf dem Monitor eine korrekte Anzeige habe dann fehlt auf dem Laptop rechts und unten etwas (deshalb auch keine Leiste mehr). Lt. xrandr scheint aber alles korrekt eingestellt zu sein:
Screen 0: minimum 320 x 200, current 1680 x 1050, maximum 8192 x 8192
LVDS-1 connected primary 1600x900+0+0 (normal left inverted right x axis y axis) 310mm x 174mm
1600x900 60.00*+
1440x900 59.89
1360x768 59.80 59.96
1152x864 60.00
1024x768 60.04 60.00
960x720 60.00
928x696 60.05
896x672 60.01
960x600 60.00
960x540 59.99
800x600 60.00 60.32 56.25
840x525 60.01 59.88
800x512 60.17
700x525 59.98
640x512 60.02
720x450 59.89
640x480 60.00 59.94
680x384 59.80 59.96
576x432 60.06
512x384 60.00
400x300 60.32 56.34
320x240 60.05
VGA-1 connected 1680x1050+0+0 (normal left inverted right x axis y axis) 433mm x 271mm
1680x1050 59.95*+
1280x1024 75.02 60.02
1280x960 60.00
1152x864 75.00
1024x768 75.03 70.07 60.00
832x624 74.55
800x600 72.19 75.00 60.32 56.25
640x480 75.00 72.81 66.67 59.94
720x400 70.08
Wenn ich vesuche mit
xrandr --output LVDS-1 --scale 1.2x1.2
die Laptop Anzeige kleiner zu skalieren wird die Monitor Anzeige im gleichen Maße größer skaliert. Egal an welchem Display ich etwas drehe es wird immer der andere mit beeinflusst. Es ist zum Verrückt werden.
@ReinerS:
Ich komme mit den Skripten nicht so ganz klar. Woher hast du die Framebuffer Angaben und was ist eine virtuelle Auflösung? Dann positionierst du deine Zusatzmonitore immer rechts vom Laptop Display, ich möchte aber auf beiden exakt dieselbe Anzeige haben. Sorry aber ich bin da ein ziemlicher Laie.
-
Die Frambebuffer Angaben sind der Bereich der für Laptop-Monitor und ext. Monitor "reserviert" wird. Die "virtuelle" Auflösung brauchst du dann nicht. Ich nehme die damit ich einen erheblich größeren Arbeitsbereich/Desktop habe als der jeweilige Monitor eigentlich pysikalisch kann.
Hier nochmal ein experimentelles Script was eigentlich das was du willst erreichen sollte. Habe es aber noch nicht wirklich in der Praxis ausprobiert):
#!/bin/sh
# LCD-Schirm mit 1024x768 und externer Monitor/Beamer genauso
xrandr -q
xrandr --fb 1024x768 --output LVDS1 --mode 1024x768 --panning 1024x768+0+0 --output VGA1 --mode 1024x768 --panning 1024x768+0+0
Möglicherweise muß dabei der Framebuffer auf 2048x768 gesetzt werden.
Grüße
Reiner
-
interessant wäre zu erfahren, ob in /etc/X11/xorg.conf.d/ irgendwelche config dateien liegen und ggf was deren inhalt ist...
schon einmal einfach die auto-auflösung probiert, mit vorgabe wo der externe VGA im bezug auf LVDS1 (z.b. rechts davon) platziert ist? das wäre interessant...
xrandr --output LVDS1 --auto --output VGA1 --auto --right-of LVDS1
-
@absolut:
Das mit dem --auto habe ich schon erfolglos getestet und ein Verzeichnis xorg.conf.d existiert bei mir nicht in /etc/X11.
@ReinerS:
Ich habe mal mit deinem Vorschlag ein wenig experimentiert und meinen Geräten entsprechend folgendes eingegeben:
xrandr --fb 1600x900 --output LVDS-1 --mode 1600x900 --panning 1600x900+0+0 --fb 1680x1050 --output VGA-1 --mode 1680x1050 --panning 1680x1050+0+0
Damit ist die Darstellung auf dem großen Samsung Monitor korrekt aber nicht auf dem Laptop. Wenn ich danach aber noch den Befehl
xrandr --fb 1600x900 --output LVDS-1 --mode 1600x900
eingebe bekomme ich zwar folgende Fehlermeldung:
xrandr: specified screen 1600x900 not large enough for output VGA-1 (1680x1050+0+0)
X Error of failed request: BadMatch (invalid parameter attributes)
Major opcode of failed request: 140 (RANDR)
Minor opcode of failed request: 29 (RRSetPanning)
Serial number of failed request: 45
Current serial number in output stream: 45
aber die Darstellung ist auf beiden Displays korrekt. :) Auch wenn ich nicht weiß warum es funktioniert. Danke!
Jetzt muss ich daraus nur noch ein Skript basteln.
-
Den fb-parameter gebe ich nur einmal ein und beinhaltet bei mir mindestens die addierte Auflösung der Monitore.
Wahrscheinlich reicht es bei dir wenn du den ersten Paratmer gleich auf "--fb 1680x1050" setzt. Dann könnte es passen weil du für beide Monitore in denselben Bereich schreibst.
Grüße
Reiner
-
Stimmt, du hast Recht. Es genügt wenn ich den ersten fb Parameter gleich auf 1680x1050 setze. Aber erst mit dem zweiten Befehl hat auch der Laptop seine korrekte Darstellung trotz der Fehlermeldungen. :)
Gruß
Peter
-
Fällt denn die Fehlermeldung jetzt anders aus ?
Grüße
Reiner
-
Peter,
wo ist in deinen befehlen die anordnung angegeben? Ich meine wie in meinem beispiel weiter oben mit VGA1 "rechts"/"links" von LVDS1...
Gruß
absolut
-
@absolut: Wenn er auf beiden dasselbe sehen will braucht er das imho nicht.
Grüße
Reiner
-
moment. eine "cloned" darstellung mit unterschiedlichen auflösungen?! das geht?
-
Möglicherweise. Muss ich aber auch mal selbst ausprobieren.
Grüße
Reiner
-
Hier wurde so etwas auch schon gefragt (https://unix.stackexchange.com/questions/101490/mirror-dual-monitors-with-different-resolutions) Und da schien der TO mit der Antwort arbeiten zu können, ist aber schon ein deutlich älterer Thread.
-
@absolut: Ja, geht.
@Geier0815: Die Methode in deinem Link sieht auch sehr interessant aus :)
Ich habe den LCD-Monitor (1366x768) und den externen Monitor (1280x1024) über nen Frambuffer mit 1366x1024 angesteuert. Um auch wirklich auf beiden Monitoren denselben kompletten Inhalt zu bekommen habe ich dem LCD-Monitor bei mir virtuell (panning) auf 1366x1024 und den externen Monitor auf 1366x1024 gesetzt.
Beide "schwimmen" also "synchron" innerhalb des 1366x1024 Framebuffers.
Hier das Script:
#!/bin/sh
# LCD-Schirm mit 1366x768 (virtuell 1366x1024 und externer Monitor/Beamer mit 1280x1024 (virtuell 1366x1024)
xrandr -q
xrandr --fb 1366x1024 --output LVDS1 --mode 1366x768 --panning 1366x1024+0+0 --output VGA1 --mode 1280x1024 --panning 1366x1024+0+0
Grüße
Reiner
-
@Reiner:
Die Fehlermeldung ist diesselbe wie vorher.
@absolut:
Wie Reiner schon sagte, ich möchte auf beiden Bildschirmen dasselbe sehen und ja es geht. Aber frage mich nicht warum. :)
-
Hmm, bei mir lief das letzte Script ohne jede Fehlermeldung. Der Framebuffer muß so groß gewählt werden dass die größte verwendete Auflösung reinpasst. Bei dir sollte wohl diese Zeile funktionieren:
xrandr --fb 1680x1050 --output LVDS-1 --mode 1600x900 --panning 1680x1050+0+0 --output VGA-1 --mode 1680x1050 --panning 1680x1050+0+0
Das Panning beim VGA-1 kann wahrscheinlich wegfallen. Bei mir kommt auch immer der Befehl xrandr -q vorher weil ich da mal auf Probleme gestoßen bin die, warum auch immer, hinterher weg waren.
Grüße
Reiner
-
xrandr -q ändert nichts.
Dein Befehl stellt das Bild auf dem Laptop zu groß dar das sich dann verschiebt wenn ich mit der Maus an die Bildschirmränder komme. Ein interessanter Effekt. Aber das liegt an den falschen Panning Parametern für den LVDS-1. Mit den korrekten Angaben habe ich den Effekt wie gehabt und es ist der zweite Befehl notwendig. Ohne den geht es wohl nicht.
-
Hmm, das war eigentlich bei mir so gewollt (bei beiden Monitoren). Bei dem Beispiel für dich solltest du auf dem Externen das volle Bild haben und auf dem LCD-Schirm innerhalb des Bildes automatisch "mitschwimmen" können.
Vielleicht macht es dann Sinn mit dem "scale" parameter wie in Geier0815s Link zu experimentieren.
Grüße
Reiner
-
Ja, das mit dem Schwimmen trifft es. Das meinte ich mit interessantem Effekt. Damit erreiche ich zwar auch den kompletten Desktop aber da ist meine Lösung die bessere wenn beide Displays jeweils ihre eigene optimale Auflösung haben. Mein Problem ist damit gelöst und die Fehlermeldungen ignoriere ich einfach. ;)
Mit scale habe ich auch schon experimentiert leider auch ohne Erfolg weil der Parameter wieder beide Displays gleichzeitig beeinflusst.
Grüße
Peter