it-swarm.com.de

Ist es möglich, unterschiedliche DPI-Konfigurationen für zwei verschiedene Bildschirme zu haben?

Ich verwende Ubuntu 12.04.3 mit NVidia-Treibern (319) für meine Quadro K2100M-Grafikkarte und wenn ich meinen 3200x1800-Laptop-Hauptbildschirm in den Modus 1920x1080 (mit nvidia-settings) versetze, wird die Anzeige unscharf ...

Ich benutze zwei Bildschirme:

  • Mein Hauptbildschirm ist ein LCD mit einer maximalen Auflösung von 1920 x 1200.
  • Mein Laptop-Bildschirm (Originalauflösung 3200x1800) sitzt rechts davon.

Das Hauptproblem ist, dass unter Ubuntu die Schriftart auf meinem Laptop-Bildschirm viel zu klein ist. Aus diesem Grund wollte ich die Auflösung meines Laptops auf 1920x1080 ändern.

Beim Lesen von Galgaleshs Antwort habe ich versucht DPI berechnen und hier ist die DPI-Konfiguration, die ich haben sollte:

  • 94x94 für meinen Hauptbildschirm LCD 1920x1200
  • 235x236 für meinen 3200x1800 Laptop-Bildschirm

Gibt es eine Möglichkeit, Dual-DPI-Auflösungen mit einem erweiterten Desktop zu erzielen?

119
Anthony O.

Es scheint, dass die Leute immer noch Schwierigkeiten haben, mit mehreren Monitoren und HiDPI-Displays zu arbeiten. Eine gute Lösung finden Sie im Arch-Wiki https://wiki.archlinux.org/index.php/HiDPI#Multiple_displays . Also habe ich:

  • laptop Asus ln303ux: 3200x1800,
  • externer Monitor: 1920x1200

Jetzt benutze ich Ubuntu 14.10 & GNOME Shell 3.12.2, die ziemlich brauchbare HiDPI-Unterstützung hat. Ich verwende also nur die Standardunterstützung von HiDPI - der Skalierungsfaktor ist 2 (kann über die GUI eingerichtet werden). Das bedeutet, dass ich auf einem externen Monitor alles zweimal größer bekomme als akzeptabel. Also benutze ich xrandr; Aber anstatt den Laptop-Bildschirm zu verkleinern, skaliere ich den externen Bildschirm:

xrandr --output HDMI1 --scale 2x2 --mode 1920x1200 --fb 3840x4200 --pos 0x0
xrandr --output eDP1 --scale 1x1 --pos 320x2400

Also eins nach dem anderen:

  1. --output HDMI1 ist in meinem Fall der externe Bildschirm, eDP1 ist der Laptop-Bildschirm.
  2. --scale 2x2 - verkleinere alles auf dem externen Bildschirm zweimal
  3. --mode XxY - legt die Auflösung für den Bildschirm explizit fest (nicht erforderlich, wenn bereits festgelegt)
  4. --fb XxY - Größe eines virtuellen Bildschirms festlegen (Framebuffer) ( wichtig ohne dies können Sie nur einen vierten Teil des Bildschirm). In meinem Fall war ein Bildschirm über dem anderen, so dass ich effektive Höhen von 2400 + 1800 = 4200 addierte. Beachten Sie auch, dass die maximale Framebuffer-Größe in xorg.conf angegeben werden kann - dann können Sie sie nicht überschreiten (sie steht in der ersten Zeile der Ausgabe von xrandr -q).
  5. --pos XxY - In meinem Fall habe ich die absolute Positionierung der Bildschirme festgelegt, sodass sich mein Laptop-Bildschirm direkt am unteren Rand des externen Bildschirms befindet. Der Wert Y ist hier das Doppelte der Höhe des externen Monitors.

Und das ist es! Alles ist so frisch wie es nur sein könnte.

Zu Ihrer Information: Um die Namen der Bildschirme und die verfügbaren Auflösungen abzurufen, können Sie xrandr --current ausführen. Weitere Informationen zum Einstellen der Auflösung finden Sie hier: https://wiki.ubuntu.com/X/Config/Resolution .

UPDATE - OPTION 2: Eine weitere interessante Problemumgehung für Anwendungen, die GTK3 unterstützen. Wenn ich normalerweise nur eine Anwendung auf dem großen Bildschirm verwende (z. B. eine IDE wie Leksah), wird die Größe des Bildschirms nicht geändert, sondern die Anwendung wird auf die ursprüngliche Größe skaliert

env GDK_SCALE=0.5 GDK_DPI_SCALE=0.5 CLUTTER_SCALE=0.5 appname
116
artem

Warum ist es verschwommen?

Ihr Bildschirm zeigt immer 3200x1800 Pixel an. Wenn Sie die Bildschirmauflösung auf Ihrem Computer verringern, bedeutet dies lediglich, dass Ihr Bildschirm das Bild an Ihren Bildschirm anpassen muss. Abhängig vom Verhältnis zwischen Ihrer nativen Auflösung und der aktuellen Auflösung führt diese Skalierung zu einem verschwommenen Bild.

Weitere Informationen zur Skalierung und nativen Auflösung finden Sie hier: https://en.wikipedia.org/wiki/Native_resolution

Wie kann ich den Text vergrößern?

Wenn der Text zu klein ist, haben Sie zwei Möglichkeiten:

1. Ändere Ubuntus Schriftgröße

Wie ändere ich Schriftarten und passe ihre Größe an?

2. DPI ändern (vergrößert die gesamte Oberfläche, nicht nur den Text)

Wie finde und ändere ich die DPI des Bildschirms? (Antwort von @whtyger)

9
Galgalesh

Ich habe artmems Lösung verwendet, bin aber auf das von EoghanM erwähnte Mausproblem gestoßen. Die Problemumgehung, die ich in dem alten Fehlerbericht gefunden habe, auf den er verlinkt hat, bezog sich auf --panning.

Ich fotografiere für: - DP1-2 3840x2160 in native DIP. - eDP1 1366 x 768, so skaliert, dass es rechts von DP1-2 angemessen aussieht.

Ich bekomme dies, indem ich einen Frame Buffer habe, der wie DP1-2 + (2x eDP1) ist, dann skaliere ich alles, was zu eDP1 geht, auf 1/2.

Dies sollte einfach sein, aber xrandr ist etwas knifflig.

Hier wird --scale verwendet, um alles, was nach eDP1 geht, um die Hälfte zu reduzieren. - Das Schwenken ist dasselbe wie bei eDP1 im ursprünglichen Bildspeicher mit der Position (+ 3840 + 0) rechts neben DP1-2. + 0 + 2160 wäre darunter.

xrandr -d :0 --fb 6572x3696 --output DP1-2 --mode 3840x2160 --scale 1x1 --rate 60 --pos 0x0 --primary

# sometimes panning get applied incorrectly when switching from some other mode, running it twice is a work around
xrandr -d :0 --output eDP1 --off
xrandr -d :0 --fb 6572x3696 --output eDP1  --mode 1366x768  --scale 2x2 --panning 2732x1536+3840+0
xrandr -d :0 --fb 6572x3696 --output eDP1  --mode 1366x768  --scale 2x2 --panning 2732x1536+3840+0

Ich habe auch Xft.dpi auf 185 gesetzt

$ cat ~/.Xresources
Xft.dpi: 185

Wenn ich vom externen Monitor ausstecke, führe ich Folgendes aus:

xrandr -d :0 --output DP1-2 --off
xrandr -d :0 --fb 2732x1536 --output eDP1  --mode 1366x768  --scale 2x2 --panning 2732x1536+0+0 --pos 0x0 --primary

Das sieht nicht gut aus, aber ich bin nicht viel von meinem Schreibtisch entfernt. Sie können dies umgehen, indem Sie Xft.dpi ändern und alle Ihre Desktop-Programme neu starten. Ich kenne keine Möglichkeit, Xft.dpi zu ändern und Clients dazu zu bringen, es zu verwenden, ohne sie neu zu starten.

7
Brian C.

Diese Antworten sind alle großartig und haben mir früher geholfen, aber kürzlich

Sudo apt-get upgrade 

hat meine randr-config gelöscht! Beim Versuch, meine Einstellungen wiederherzustellen, stellte ich fest, dass ich die Maus nicht mehr über den oberen 1/4-Quadranten des zweiten Bildschirms hinausbewegen konnte, unabhängig von der --fb-Eingabe. Aus https://wiki.archlinux.org/index.php/HiDPI#Side_display habe ich schließlich herausgefunden, dass das Hinzufügen von Panning den Trick macht. Außerdem ist die Verwendung von "--right-of" oder "--left-of" einfacher als "--pos".

"Wenn Ihr HiDPI-Monitor (Laptop) AxB-Pixel hat und Ihr normaler Monitor (extern) CxD ist und Sie mit [ExF] skalieren, lautet die Befehlszeile für das Recht auf:"

xrandr --output eDP-1 --auto --output HDMI-1 --auto --panning [C*E]x[D*F]+[A]+0 --scale [E]x[F] --right-of eDP-1
4
ONECore

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 Monitor/Laptop-Monitor 3200x1800

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

OR

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).

4
Jeets

Ich habe einen veralteten 1024x768-Monitor, der an ein (weniger veraltetes) Notebook angeschlossen ist.
Die Fenster wurden in ganz unterschiedlichen Größen gerendert, viel größer auf dem externen Monitor (der einen älteren, größeren Punktabstand hat).
Ich habe einen Befehl zum Skalieren des Monitors gefunden:

xrandr --output VGA-1 --scale 1.5x1.5

VGA-1 ist der interne Name des Monitors, der durch Ausführen des folgenden Befehls ermittelt wird:

xrandr --current | grep connected

Dies hat zur Folge, dass der Inhalt des alten Monitors jetzt fast so groß ist wie das Notebook.

Merkwürdigerweise funktioniert die Skalierung mit 1,5-facher Vergrößerung, nicht jedoch mit 1,45-facher Vergrößerung. Das Display (in meinem Fall) wird schwarz.

Als ich den Skalenkommentar zum ersten Mal ausfüllte, war das Ergebnis erschreckend, weil sich der Inhalt beider Bildschirme überlappte. Zum Beispiel tauchte der Cursor zweimal auf.

Ich habe ein Programm gestartet:

arandr &

um die relativen Bildschirmpositionen festzulegen.
Es funktioniert wie die Einstellung Einstellungen> Geräte> Anzeigen.

Ich habe es installiert mit:

Sudo apt-get install arandr

Vielen Dank an LuisAlvarado und andere für das Teilen Ihres Wissens!

0
Juan Lanus

Führen Sie zunächst $xrandr aus, um alle Ausgaben anzuzeigen

Screen 0: minimum 320 x 200, current 7680 x 2160, maximum 8192 x 8192
eDP-1 connected primary 3840x2160+0+0 (normal left inverted right x axis y axis) 344mm x 194mm
   3840x2160     60.00*+  59.98    59.97  
   3200x1800     59.96    59.94  
   2880x1620     59.96    59.97   
DP-1 disconnected (normal left inverted right x axis y axis)
DP-2 disconnected (normal left inverted right x axis y axis)
DP-3 connected 3840x2160+3840+0 (normal left inverted right x axis y axis) 521mm x 294mm
   1920x1080     60.00*+  50.00    59.94  
   1920x1080i    60.00    50.00    59.94  
   1680x1050     59.88  
   1280x1024     75.02    60.02

Wie Sie in diesem Fall sehen können, ist der zweite Monitor an DP-3 angeschlossen. Dann können Sie das Display weiterverkaufen: $xrandr --output DP-3 --auto --scale 2x2

0
Abdelhak