Najlepsze rozwiązanie, jakie znalazłem
Jak już wspomniano wcześniej, będziesz miał bardzo mało szczęścia, mając to po prostu do pracy - szczególnie z wieloma monitorami (mój problem). Postawiłem na jedno-wierszowe polecenie, aby uzyskać spójną prezentację na wielu monitorach, a mój wyświetlacz na pokładzie to hidpi, to:
./xrandr --output eDP-1 --mode "2880x1800" --scale "0.5x0.5"
To polecenie oznacza : Skaluj moją natywną rozdzielczość o 50%, co gdy mówimy o pikselach, oznacza, że rendering nie musi wcale interpretować zbyt wiele, a wynik powinien być wyraźny.
Dlaczego to działa: Ponieważ jeden „kwadratowy” piksel jest teraz reprezentowany w 4 pikselach kwadratowych.
Uwaga : Twoje opcje prawdopodobnie będą nieco inne.
Kilka szczegółów : Musiałem wrócić do nouveau z nvidii
Po pierwsze - sprawdź, czy domyślne systemowe skalowanie xrandr nie ma rozmycia
Zainstaluj x11-server-utils
sudo apt install x11-xserver-utils
Znajdź „podłączony” wyświetlacz hidpi, będzie miał nazwę identyfikującą przed „połączony”:
xrandr -q
przykładowe dane wyjściowe, nazwa twojego monitora znajduje się przed „podłączonym”:
xrandr -q wyjście
Tak więc moim monitorem jest „eDP-1”, a natywna rozdzielczość, najwyższa, to 2880 x 1800. Tak więc skalujemy górną o 50%, aby uniknąć rozmycia, pamiętaj, aby użyć wartości z xrandr -q dla eDP-1 i 2880x1800 :
xrandr --output eDP-1 --mode "2880x1800" --scale "0.5x0.5"
Jeśli to zrobisz, a nadal masz wyraźne czcionki itp., To jesteś ustawiony, przejdź do „Zawiń” poniżej.
Jeśli jest rozmazany, pomocne będą następujące kroki.
Krok 1 - System Xrandr nadal jest rozmyty ... Przygotowanie systemu
sudo apt install git build-essential autoconf xutils-dev automake dkms gksu libxrandr-dev mesa-utils x11-xserver-utils
Może być dla ciebie trochę inny w zależności od twojego systemu, ale to zadziałało dla mnie.
Krok 2 - pobierz źródło xrandr
sklonuj kod xrandr
git clone https://anongit.freedesktop.org/git/xorg/app/xrandr.git xrandr_source && cd xrandr_source
Krok 3 - zanotuj swoją wersję xrandr
Zanotuj swoją wersję xrandr, będziesz potrzebować tego:
xrandr --version | grep 'program version' | awk '{print $4}'
Krok 4 - pobranie tego samego tagu git z numerem wersji, co Twój system
Sprawdź tagi git dla xrandr z katalogu xrandr_source
git tag --list | grep 'xrandr'
Znajdź numer wersji i „sprawdź” ten tag
git checkout tag/xrandr-[your version number here]
dla mnie było to:
git checkout tax/xrandr-1.5.0
Krok 5 - Zmodyfikuj xrandr.c
Otwórz xrandr.c za pomocą dowolnego edytora plików, którego chcesz użyć. Wyszukaj „transform.filter”. Są około trzy miejsca. Zauważysz, że jest to warunkowe, coś takiego:
if (sx != 1 || sy != 1)
output->transform.filter = "bilinear";
else
output->transform.filter = "nearest";
„dwuliniowe” sprawia, że jest rozmazane - ALE - ponieważ skalujemy „prosto” w dół, to znaczy, że jeden piksel ma teraz cztery, nie potrzebujemy dwuliniowej i możemy iść z „najbliższym”.
Masz dwie opcje: popraw warunek if lub całkowicie usuń wszystkie if i zachowaj tylko:
output->transform.filter = "nearest";
Ponieważ nie zamierzamy „instalować” tego xrandra, równie dobrze możemy po prostu wybrać trasę, którą wybrałem. Znajdziesz kilka miejsc z:
output->transform.filter = "bilinear";
Najprościej jest po prostu zmienić „dwuliniowy” na „najbliższy”
Zapisz plik. Zamknij edytor
Krok 6 - skompiluj
./autogen.sh && make
Powinieneś mieć nowo zbudowany xrandr teraz w tym katalogu, spróbuj
./xrandr -q
Co powinno dać ci wynik.
Teraz możesz wypróbować oryginalne polecenie xrandr:
./xrandr --output [your display] --mode "[your native resolution]" --scale "0.5x0.5"
Krok 7 - zamknij
Możesz teraz także wykonywać takie czynności, jak odtwarzanie wszystkich standardowych ustawień związanych z czcionkami, dpi, wygładzaniem itp
Nie potrzebuję całej dodatkowej nieruchomości, jaką daje hidpi, a ty po prostu powiększasz wszystko, aby wszystko było użyteczne.
Credit : Dostałem większość moich rzeczy na ten temat tutaj, ale ma on kilka lat i myślę, że należy tutaj do najnowszego pytania: https://forums.linuxmint.com/viewtopic.php?t=159064