xrandr Maßstab 2x2 für Multi-Display (4K HiDPI und Full HD Mix) - unscharfe Ausgabe

16

Auf Kubuntu 17.04 mit nouveauversuche ich, ein Dual-Monitor-Setup mit einem 4K als Haupt-Setup und einem Full-HD-Setup (tatsächlich 1920x1200, macht aber keinen Unterschied) auf der rechten Seite zu erhalten.

Ich verwende eine doppelte KDE-Systemskalierung (wie in https://wiki.archlinux.org/index.php/HiDPI#Using_KDE_system_settings beschrieben ) zusammen mit einer xrandrSkalierung (wie in https://wiki.archlinux.org/index.php beschrieben) / HiDPI # Side_display ). Genauer:

xrandr \
    --output eDP-1 --mode 3840x2160 --pos 0x0    --auto \
    --output DP-2  --mode 1920x1200 --pos 3840x0 --auto \
        --panning 3840x2400+3840+0 --scale 2.0x2.0 \
    --fb 7680x2400

Das Problem ist, dass DP-2es aufgrund des Downsamplings von 3840x2400 auf 1920x1200 zu leichten Unschärfen kommt, insbesondere bei den Schriftarten. Dies wird am Ende von https://wiki.archlinux.org/index.php/HiDPI#Side_display vermerkt. Die vorgeschlagene Lösung ist die Schärfeeinstellung auf dem Monitor. Versuchte es, funktioniert nicht.

Der bei der Skalierung verwendete Filter ist bilinear: https://cgit.freedesktop.org/xorg/app/xrandr/tree/xrandr.c?id=5d5db88d106a49d7560a8042fa054df8b609f00a#n2993 . Der nächste Nachbar wird ebenfalls unterstützt "nearest", sieht aber miserabel aus, obwohl es sich genau um 2x2-Downsampling handelt, was ich nicht verstehe. Ich ging voran und baute dies mit "lanczos"statt "bilinear". Anscheinend wird dies nicht unterstützt:

X Error of failed request:  BadName (named color or font does not exist)
  Major opcode of failed request:  140 (RANDR)
  Minor opcode of failed request:  26 (RRSetCrtcTransform)
  Serial number of failed request:  36
  Current serial number in output stream:  37

Gibt es eine Möglichkeit, Lanczos (oder einen besseren Filter) zu unterstützen? Es macht mir nichts aus, in Software zu filtern.

Im Moment habe ich die doppelte KDE-Skalierung und die xrandrdeaktivierte Skalierung mit 1920 x 1080 nativer Auflösung auf meinem Hauptdisplay als Workaround. Die Sekundäranzeige ist, wie erwartet, einschließlich der Schriftarten sehr scharf. Aus normaler Betrachtungsentfernung sieht das Hauptdisplay jedoch noch schlechter aus als das skalierte Sekundärdisplay, was auch komisch ist, da die halbe Auflösung immer noch Full HD ist, was auf anderen Displays, die nicht 4K sind, erstaunlich scharf aussieht.

Die eigentliche Frage ist also, ob es eine Möglichkeit gibt, auf beiden Bildschirmen scharfe Bilder zu erhalten.

Bearbeiten: Ich habe vergessen, die wichtige Tatsache zu erwähnen, dass ich mich auf einem Nvidia PRIME-System mit GeForce 940MX und Intel HD Graphics 620 befinde. Auf nvidia-384 sind die Ergebnisse bei Verwendung von Intel dieselben, dh dieselben Unschärfen. Wenn Sie GeForce verwenden, hat die --scale 2x2Option keine Auswirkung und --panningerzeugt einen Failed Requestähnlichen Fehler wie oben.

Ayberk Özgür
quelle
Vielleicht fehlt mir etwas, aber warum skalierst du die Ausgaben und schwenkst dann? Sollten Sie nicht xrandr-Optionen wie --right-ofoder verwenden --left-of? Ich denke, wenn Sie diese verwenden, sollten die Auflösungen nicht skaliert werden müssen und daher nicht verschwommen sein. Entschuldigung, ich würde einen Kommentar abgeben, aber ich habe nicht genug Repräsentanten.
Binamenator
Da die Monitore physikalisch ähnlich groß sind und die niedrig aufgelösten nicht skaliert werden, hat der Hauptmonitor zu kleine Funktionen (Schriftarten, Fenster usw.)
Ayberk Özgür
1
Hast du jemals etwas damit herausgefunden? Ich denke, Wayland klingt letztendlich wie das Allerheiligste der Multi-DPI-Unterstützung, aber es scheint, als würden nVidia-Treiber derzeit nicht gut mit Wayland zusammenspielen.
Ibrahim

Antworten:

1

Ich habe auch 4k-Monitor auf meinem Notebook. Normalerweise stelle ich nur den 1920x1080-Modus für 4k-Monitore ein und er sieht eigentlich perfekt aus, genau wie der 1080p-Monitor. Nur keine Skalierung oder Antialiasing, Sie müssen einen Weg finden, um nur 2x2 Pixel zu haben.

gena2x
quelle