Können zwei verschiedene DPI-Konfigurationen für zwei verschiedene Bildschirme verwendet werden?

88

Ich benutze Ubuntu 12.04.3 mit NVidia-Treibern (319) für meine Quadro K2100M-Grafikkarte, und wenn ich meinen 3200x1800-Hauptbildschirm auf 1920x1080 umschalte (mit nvidia-settings ), verschwimmt das Display ...

Ich verwende zwei Bildschirme:

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

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

Lesen Galgalesh-Antwort Ich habe versucht, berechne meine DPI und hier ist die DPI-Konfiguration, die ich haben sollte:

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

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

    
Anthony O. 20.12.2013, 10:15

5 Antworten

93

Es scheint, dass die Leute immer noch Schwierigkeiten haben, mit mehreren Monitoren und HiDPI-Displays zu arbeiten. Eine gute Problemumgehung ist in arch wiki Pfandrecht beschrieben. Also, ich habe:

  • Laptop asus ln303ux: 3200x1800,
  • externer Monitor: 1920x1200

Jetzt benutze ich Ubuntu 14.10 & amp; GNOME Shell 3.12.2 mit ziemlich brauchbarer HiDPI-Unterstützung. Daher verwende ich einfach die Unterstützung von HiDPI - der Skalierungsfaktor ist 2 (er kann über die GUI eingerichtet werden). Das bedeutet, dass ich auf dem externen Monitor alles doppelt größer als akzeptabel bekomme. Also benutze ich xrandr; aber statt Laptop-Bildschirm herunterskalieren, upscale ich 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 Laptopbildschirm.
  2. --scale 2x2 - mache alles auf dem externen Bildschirm zweimal kleiner
  3. --mode XxY - Legen Sie explizit die Auflösung für den Bildschirm fest (nicht erforderlich, wenn bereits festgelegt)
  4. --fb XxY - Größe eines virtuellen Bildschirms (Framebuffer) einstellen ( wichtig ohne dies, Sie können nur einen vierten Teil des Bildschirms verwenden). In meinem Fall war ein Bildschirm übereinander, 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 wird in der ersten Zeile von xrandr -q output geschrieben).
  5. --pos XxY - in meinem Fall setze ich absolute Positionierung der Bildschirme, so dass mein Laptop-Bildschirm direkt auf der Unterseite des externen sceen ist.

Und das ist es! Alles ist so knackig wie es nur geht.

FYI: Um die Namen der Bildschirme und verfügbaren Auflösungen zu erhalten, kann man xrandr --current ausführen. Weitere Informationen zum Einstellen der Auflösung finden Sie hier: Pfandrecht .

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), ändere ich nicht die Größe des Bildschirms, sondern lasse die Anwendung auf ihre ursprüngliche Größe skalieren

env GDK_SCALE=0.5 GDK_DPI_SCALE=0.5 CLUTTER_SCALE=0.5 appname
    
artem 02.12.2014 14:43
6

Warum ist es verschwommen?

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

Weitere Informationen zu Skalierung und nativer Auflösung finden Sie hier: Pfandrecht

Wie kann ich den Text vergrößern?

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

1. Ändern Sie die Schriftgröße von Ubuntu

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

2. Ändere DPI (wird die gesamte Oberfläche vergrößern, nicht nur Text)

Wie finde ich den DPI-Bildschirm und ändere ihn? (Antwort von @whtyer)

    
Galgalesh 23.12.2013 17:23
6

Ich habe Artmems Lösung benutzt, bin aber auf das von EoghanM erwähnte Mausproblem gestoßen. Die Problemumgehung, die ich in dem alten Fehlerbericht gefunden habe, mit dem er verlinkt ist - panning.

Ich fotografiere für:  - DP1-2 3840x2160 in nativem DIP.  - eDP1 1366x768, skaliert, um rechts von DP1-2 vernünftig zu sein.

Ich bekomme das durch einen Bildpuffer, der wie DP1-2 + (2x eDP1) ist, dann skaliere ich alles, was zu eDP1 geht, um 1/2.

Das sollte einfach sein, aber xrandr ist ein bisschen schwierig.

Hier - Scale wird verwendet, um alles, was zu eDP1 geht, um 1/2 zu reduzieren. - Panning ist das gleiche wie eDP1 im ursprünglichen Framebuffer mit der Position (+ 3840 + 0) von genau rechts von 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 den externen Monitor abziehe, führe ich:

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 dann Clients dazu zu bringen, sie zu verwenden, ohne sie neu zu starten.

    
Brian C. 16.03.2017 16:47
2

Ich konnte dies (mit Problemen) anhand der Details in der folgenden GitHub-Diskussion lösen: Pfandrecht

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

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

Dies funktioniert, aber es gibt eine Menge zu reißen in dem hochauflösenden Monitor (Laptop), wenn ich Fenster verschiebe, die Größe von Bildschirmen ändere oder in einem Browser blättere. Dies fühlt sich an wie eine Software, die Lösung löst (die all diese Probleme des Reißens und der langsamen Auffrischung hat).

Im Jahr 2017 muss Linux / Gnome die Multi-Monitor-Lösung für gemischte Skalierung adressieren. Sowohl Windows 10 als auch OS X haben dies gelöst, ohne auf Befehlszeilenhilfsprogramme zurückgreifen zu müssen, die teilweise funktionieren (das Tearing-Problem ist für Spiele nicht akzeptabel)

    
Jeets 20.07.2017 20:54
2

Diese Antworten sind alle großartig und haben mir vorher geholfen, aber ein 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 obersten 1/4-Quadranten des zweiten Bildschirms hinaus bewegen konnte, egal, wie der -Fb-Eingang war. Von Pfand entdeckte ich schließlich, dass das Hinzufügen von Panning den Trick brachte. Außerdem ist die Verwendung von '- rechts-von' oder '- links-von' einfacher als '--pos'.

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

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
    
ONECore 15.05.2018 17:39