Ich verwende Gnome Shell mit einem 4K-Monitor und verwende einige Anwendungen, die bei der hohen Auflösung überhaupt nicht skaliert werden.
Dies ist ein Beispiel für LMMS, eine Anwendung, die noch nicht auf Qt 5 portiert wurde und daher keine hohen DPI-Skalierungsfunktionen bietet:
(Klicken Sie auf die Bilder, um sie zu vergrößern)
Gibt es eine Möglichkeit, ein bestimmtes X-Fenster zu skalieren, ohne die Bildschirmauflösung zu ändern?
Meine aktuelle Lösung besteht darin, die Abmessungen meiner Bildschirmauflösung zu halbieren. Dies verschlechtert jedoch die Auflösung aller anderen Anwendungen, die eine ordnungsgemäße dpi-Skalierung unterstützen:
Antwort1
Endlich ist es mir gelungen, eine Lösung zu finden, die alte Anwendungen ohne merkliche visuelle oder Leistungseinbußen skaliert.
Dank kaueraal können Sie nun alte Anwendungen mit skalieren run_scaled
. Sie können das Skript entweder von seinemGitHub-Seiteoder als Teil des xpra
Pakets, wenn Sie Arch Linux verwenden.
Hier ist ein Beispiel für zwei nebeneinander ausgeführte Anwendungen:
- Firefox mit HiDPI-Unterstützung auf der linken Seite
- LMMS läuft mit
run_scaled
rechts
Ich entdeckte dieses Skript durch dieArch Linux Wiki.
Antwort2
Ohne das genaue Problem zu kennen, auf das Sie stoßen, würde ich vorschlagen,
GDK_SCALE=x
oder
GDK_DPI_SCALE=x
Vor dem Start jeder Anwendung. Sie müssen wahrscheinlich .desktop
Dateien manuell ändern oder von Ihrer Shell aus ausführen und den Befehlen das Präfix voranstellen:GDK_SCALE=x
GDK_SCALE
erlaubt nur Integer-Werte,
GDK_DPI_SCALE=x
erlaubt aber Dezimalwerte wie zBGDK_DPI_SCALE=0.66
Für andere SDK-basierte Anwendungen gibt es wahrscheinlich ähnliche Einstellungen für die jeweiligen Kits. Da Ihr Problem jedoch mit dem Gnome-Desktop zusammenhängt, werde ich diese Lösung anbieten.
Ich habe es noch nicht mit einem 4K-Monitor versucht, aber durch Ausführen GDK_DPI_SCALE=1.66 gnome-calculator
wird die Lösung demonstriert.
Antwort3
Antwort4
Ich glaube, ich habe eine GPU-beschleunigte Lösung gefunden! Installieren weston
und führen Sie Folgendes aus:
weston --xwayland --scale=2
DISPLAY=:1 your_app
Das ist es!
Tuning
Hinweis 1: Möglicherweise ist Ihnen aufgefallen, dass eine magische Zahl verwendet wurde: DISPLAY=:1
. Die zugrunde liegende Annahme war, dass Ihre Haupt-Xorg-Anzeige ist :0
. Wenn dies nicht der Fall ist, passen Sie es entsprechend an.
Hinweis 2: Möglicherweise ist Ihnen aufgefallen, dass weston
standardmäßig ein oberes Bedienfeld vorhanden ist. Möglicherweise möchten Sie es entfernen. Erstellen Sie dazu eine weston.ini
Datei:
[core]
idle-time=0
[shell]
panel-position=none
locking=false
Und verwenden Sie es, wenn Sie Weston starten weston --config=/path/to/weston.ini
. Sie können es auch platzieren, ~/.config/weston.ini
damit es automatisch von Weston abgeholt wird. man weston.ini
Weitere Einzelheiten finden Sie unter.
EDIT: Ich habe den neu gefundenen Ansatz auch hier dokumentiert:https://wiki.archlinux.org/title/HiDPI#Unsupported_applications,_via_weston