XRandR DPI w systemie Linux z wieloma głowicami


18

Mam wiele ekranów z różnymi poprawnymi ustawieniami DPI. Mogę użyć xrandr --dpi Xdo zmiany DPI dla wszystkich ekranów, czy można ustawić różne DPI dla każdego ekranu? Jak sprawić, by aplikacje ponownie obliczały rozmiary czcionek po przeniesieniu ich na inny ekran? xrandr --dpi Xwpływa tylko na nowe okna, stare okna nadal używają starej wartości DPI.

Odpowiedzi:


3

Jeszcze tego nie wypróbowałem, ale tutaj jest dobrze wyglądająca odpowiedź , która sugeruje użycie xrandropcji, scale która powinna zapewnić ci oczekiwany efekt.

AKTUALIZACJA: To działa, napisałem tutaj streszczenie instrukcji .


3
Proszę zawsze kopiować i wklejać instrukcje do odpowiedzi. Jest to środek zapobiegający utracie informacji w pytaniach historycznych. Prędzej czy później większość linków zewnętrznych będzie martwych, a to sprawi, że twoja odpowiedź będzie bezcelowa ... W każdym razie większość użytkowników chciałaby zobaczyć odpowiedzi na jednej stronie, ...
— kravemir

Nawet jeśli ta strona jest inną witryną StackExchange?
— Jamie Kitson,

Polecenie skalowania wydaje się być bardzo intensywne na GPU w porównaniu z konfiguracją wielu monitorów w systemie Windows 10. Skala oznacza bezpośrednie skalowanie pikseli, podczas gdy Windows 10 zmienia rozmiar tekstu.
— Kun

3

Udało mi się to rozwiązać (z problemami) przy użyciu szczegółów opisanych w następującej dyskusji na githubie: https://github.com/linuxmint/Cinnamon/issues/3606

Monitor zewnętrzny QHD (2560 x 1440), monitor wewnętrzny / laptop 3200 x 1800

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

LUB Monitor zewnętrzny FHD (1920x1080), monitor wewnętrzny / laptop 3200x1800

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

Te działają, ale znaczna część jest rozdzierająca na monitorze o wysokiej rozdzielczości (laptopie), gdy poruszam oknami, zmieniam rozmiar ekranów lub przewijam w przeglądarce. To wydaje się być rozwiązaniem do renderowania oprogramowania (które ma wszystkie te problemy związane z rozrywaniem i powolnym odświeżaniem).

W Linuksie / Gnome w 2017 r. Należy rozwiązać problem mieszanego skalowania na wielu monitorach. Zarówno Windows 10, jak i OS X rozwiązały ten problem bez konieczności uciekania się do poprawek wspomagania pasma linii poleceń, które częściowo działają (problem z rozrywaniem jest niedopuszczalny w grach)


2

możesz ustawić różne wartości dla każdego ekranu za pomocą:

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

Aby zobaczyć, jakie są dostępne, użyj xrandrponownie, aby ponownie uruchomić czcionkę. Myślę, że możesz wyłączyć wyświetlacz i włączyć go ponownie za pomocą:

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

ale nie jestem do końca pewien


2
O ile widzę, „--dpi” nie jest ustawieniem na wyjście. Powoduje wywołanie XRRSetScreenSize dla całego ekranu. O ile widzę X11 po prostu nie obsługuje ustawiania różnych wartości DPI dla różnych wyjść. Co by ssało ...
— Arnout Engelen

2
Ach, faktycznie dane wyjściowe RandR mają szerokość / wysokość określoną zarówno w pikselach, jak i milimetrach, więc różne dane wyjściowe mogą mieć różne DPI - ale w AFAICS nie ma wywołania RandR do manipulowania fizycznym rozmiarem danych wyjściowych.
— Arnout Engelen

5
Różne źródła, w tym wiki.archlinux.org/index.php/HiDPI#External_displays sugerują, że tylko jedno ustawienie DPI jest możliwe jednocześnie (w jednej instancji Xserver). Polecenie xrandr sugerowane przez Agomezla nie działa.
— Vladimír Čunát,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.