XRandR DPI unter Multihead Linux

18

Ich habe mehrere Bildschirme mit unterschiedlichen korrekten DPI-Einstellungen. Ich kann die xrandr --dpi XDPI für alle Bildschirme ändern. Ist es möglich, für jeden Bildschirm eine andere DPI einzustellen? Wie lasse ich Apps Schriftgrößen neu berechnen, wenn sie auf einen anderen Bildschirm verschoben werden? xrandr --dpi XBetrifft nur neue Fenster, alte Fenster verwenden weiterhin den alten DPI-Wert.

Marek Sapota
quelle

Antworten:

3

Ich habe es noch nicht ausprobiert, aber es gibt hier eine gut aussehende Antwort , die die Verwendung der xrandrOption vorschlägt, mit der scale Sie den gewünschten Effekt erzielen können.

UPDATE: Dies funktioniert, ich habe Zusammenfassung Anweisungen geschrieben hier .

Jamie Kitson
quelle
2
Bitte kopieren Sie die Anweisungen immer in die Antworten. Dies ist eine Vorsichtsmaßnahme gegen Informationsverlust bei historischen Fragen. Früher oder später, die meisten externen Links sind TOT, und das würde Ihre Antwort sinnlos machen ... Wie auch immer, die meisten Benutzer würden gerne Antworten auf einer Website sehen, ...
kravemir
Auch wenn diese Site eine andere StackExchange-Site ist?
Jamie Kitson
Der Befehl zum Skalieren scheint im Vergleich zu einer Einrichtung mit mehreren Monitoren unter Windows 10 sehr GPU-intensiv zu sein. Skalieren bedeutet, dass die Pixel direkt skaliert werden, während Windows 10 die Textgröße ändert.
Kun
3

Ich konnte dies (mit Problemen) mithilfe der Details in der folgenden Github-Diskussion lösen: https://github.com/linuxmint/Cinnamon/issues/3606

Externer Monitor QHD (2560X1440), interner / Laptop-Monitor 3200x1800

xrandr --output eDP-1 --scale 1x1 --pos 0x2880
xrandr --output DP-1 --mode 2560x1440 --scale 2x2 --fb 5120x4680

ODER Externer Monitor FHD (1920 x 1080), interner Monitor / Laptop-Monitor 3200 x 1800

xrandr --output eDP-1 --scale 1x1 --pos 0x2160
xrandr --output DP-1 --mode 1920x1080 --scale 2x2 --fb 3840x3960

Diese funktionieren, aber der hochauflösende Monitor (Laptop) kann beim Verschieben von Fenstern, Ändern der Bildschirmgröße oder Scrollen in einem Browser erheblich beschädigt werden. Dies fühlt sich an wie eine Software-Rending-Lösung (die all diese Probleme mit Zerreißen und langsamen Aktualisierungen hat).

Linux / Gnome 2017 muss sich mit der gemischten Multi-Monitor-Skalierungslösung befassen. Sowohl Windows 10 als auch OS X haben dieses Problem behoben, ohne auf Band-Aid-Fixes für die Befehlszeile zurückgreifen zu müssen, die teilweise funktionieren (das Problem des Aufreißens ist für Spiele nicht akzeptabel).

Jeets
quelle
2

Sie können für jeden Bildschirm unterschiedliche Werte einstellen mit:

xrandr --output <Display1> --dpi X --output <Display2> --dpi Y

Um zu sehen, was verfügbar ist, verwenden Sie einfach xrandr, um die Schriftart neu zu starten. Ich denke, Sie können das Display mit ausschalten und wieder einschalten:

xrandr --output <Display1> --off
xrandr --output <Display1> --auto

bin mir aber nicht wirklich sicher

Agomezl
quelle
2
Soweit ich sehen kann, ist '--dpi' keine Einstellung pro Ausgang. Es führt zu einem Aufruf von XRRSetScreenSize für den gesamten Bildschirm. Soweit ich sehe, unterstützt X11 die Einstellung unterschiedlicher DPI-Werte für unterschiedliche Ausgaben einfach nicht. Was würde saugen ...
Arnout Engelen
2
Ah, tatsächlich haben RandR-Ausgaben eine Breite / Höhe, die sowohl in Pixeln als auch in Millimetern angegeben ist, so dass verschiedene Ausgaben eine unterschiedliche DPI haben können - aber AFAICS gibt es keinen RandR-Aufruf, um die physikalische Größe der Ausgabe zu manipulieren.
Arnout Engelen
4
Verschiedene Quellen, einschließlich wiki.archlinux.org/index.php/HiDPI#External_displays, weisen darauf hin, dass nur eine DPI-Einstellung gleichzeitig möglich ist (in einer einzelnen Xserver-Instanz). Der von Agomezl vorgeschlagene Befehl xrandr funktioniert nicht.
Vladimír Čunát