17.04 Skalowanie ekranu powraca do 1 po wznowieniu z zawieszenia?

9

Niedawno wykonałem czystą instalację 17.04 na maszynie z kartą Nvidia 750Ti i monitorem Dell 4K. Używam binarnego sterownika Nvidia 381.09.

Wszystko to działa świetnie poza tym, że skalowanie ekranu, które ustawiłem w ustawieniach ekranu ekranu Ubuntu, zawsze powraca do 1, gdy maszyna wznawia działanie po zawieszeniu. Muszę ustawić go na 1,5, inaczej wszystko pójdzie źle (BTW, dlaczego Ubuntu nie skaluje się do sensownego ustawienia domyślnego z monitorami 4K?)

Czy ktoś to dostaje? Nigdzie nie mogę znaleźć wzmianki o tym.

BTW Wypróbowałem sterownik Nouveau i to wcale nie budzi mojego ekranu po zawieszeniu. Więc ta trasa nie jest przystawką.


Edycja: Wygląda na to, że został zgłoszony jako potwierdzony błąd. Monitoruje, czy coś się stanie.

TommyPeanuts
źródło
Używam zintegrowanej z Intel gfx i zauważyłem ten sam błąd.
Greg Dan
Czy ktoś zna obejście? To bardzo irytujący błąd. Wygląda na to, że błąd dotyczy wszystkich użytkowników 17.04 z ekranami HiDPI.
Greg Dan
Wygląda na to, że błąd nie zostanie naprawiony. Jedność jest usuwana z 17.10. A 16.04 i 16.10 nie mają tego błędu.
Greg Dan
Niestety, 17.10 nadal robi to w moim systemie, a co gorsza, pozwala tylko zmieniać skalowanie w 100% skokach, więc albo musisz żyć z małym lub dużym. Wygląda na to, że Ubuntu nie może poprawnie i konsekwentnie obsługiwać ekranów HDPI, a z każdym wydaniem jest coraz gorzej. Teraz obniżyłem wersję do 16.04.3, która przynajmniej obsługuje skalowanie ułamkowe.
TommyPeanuts

Odpowiedzi:

3

Dla każdego, kto jest sfrustrowany tym błędem, oto szybki skrypt perla, aby sprawdzić zmiany wartości scale_factor i zresetować do dowolnej wartości przy pierwszym uruchomieniu skryptu:

#! / usr / bin / perl -w
stosować ścisłe;

my $ dconf_line = `dconf read / com / ubuntu / user-interface / scale-factor`;
my ($ scale_factor) = $ dconf_line = ~ m / DP1 \ ': (\ d +) /;

if ($ scale_factor) {
    print STDOUT "Bieżąca wartość współczynnika skali: $ współczynnik_skali ... \ n \ n";
} else {
    die "Błąd: nie można znaleźć wartości współczynnika skali w dconf \ n (wartość / com / ubuntu / interfejs użytkownika / współczynnik skali wynosiła $ dconf_line \ n \ n";
}

open (my $ fh, "- |", "dconf watch / com / ubuntu / user-interface / scale-factor");

while (<$ fh>) {
    if (m / DP1 \ ': (?! $ scale_factor) /) {
        `dconf write / com / ubuntu / user-interface / scale-factor" {'DP1': $ scale_factor} "`;
        my $ date = `date`;
        print STDOUT "$ date - skorygowany współczynnik skalowania \ n \ n";
    }
}

Po prostu pozostaw skrypt uruchomiony, a on będzie przechwytywał i resetował wszelkie próby zmiany wartości.

Działa dla mnie 17.04 z jednością, ale możliwe jest, że po przejściu na gnome w 17.10 wartość jest przechowywana w innym kluczu rejestru dconf - jeśli tak, wystarczy zastąpić wszystkie wystąpienia położenia klucza w skrypcie odpowiednim i powinno działać.

Mam nadzieję że to pomoże ...

owenjm
źródło
Bardzo przydatne. W przypadku 16.04 LTS (z kartą Nvidia) musiałem zmienić linie 5, 16 i 17 z DP1na DP-2...
david6
Obecnie dostępna jest umowa PPA z właściwą poprawką: launchpad.net/~arter97/+archive/ubuntu/unity
Elliott Slaughter