KDE – rwanie ekranu cz.2 – rozwiązanie (oby)

KDE – rwanie ekranu cz.2 – rozwiązanie (oby)

Tytuł tej notki brzmi prawie jak tytuł horroru… i to niekończącego się.

Tydzień wcześniej pisałem o pewnym triku, który pozwala sobie poradzić z rwaniem ekranu (problemy z synchronizacją pionową) w aplikacjach pełnoekranowych. Jest to jak najbardziej w porządku rozwiązanie, ale już niekoniecznie dla zwykłych aplikacji jak chociażby przeglądarka internetowa, w której przewijanie strony wygląda jakby się coś rwało lub przerywało ekran.

Problem jak wydaje się dotyczy głównie Nvidii i sterowników własnościowych pod KDE.

Więcej na temat:
https://bugs.kde.org/show_bug.cgi?id=329821
https://bugs.kde.org/show_bug.cgi?id=322060

Temat jest dosyć skomplikowany i nie do końca wiem czy go rozumiem niemniej remedium, której przynajmniej u mnie zadziałało to włączenie potrójnego buforowania w kartcie Nvidii.

Skąd wiedziałem, że trzeba włączyć? Poza lekturą linków powyżej i objawami „tearing” przełączyłem kompozytora w terminalu:

kwin --replace &

Co po chwili spowodowało wyświetlenie komunikatu:

It seems you are using the nvidia driver without triple buffering You must export __GL_YIELD=”USLEEP” to prevent large CPU overhead on synced swaps Preferably, enable the TripleBuffer Option in the xorg.conf Device For this reason, the tearing prevention has been disabled. See https://bugs.kde.org/show_bug.cgi?id=322060

Nie pozostało nic innego jak włączyć buforowanie:

cat <<__CONF__ | sudo tee /usr/share/X11/xorg.conf.d/60-triple-buffering.conf
Section „Device”
    Identifier „NVIDIA card”
    Driver „nvidia”
    Option „TripleBuffer” „True”
EndSection
__CONF__

Po restarcie wszystko zadziałało, brak efektu rwania, firefox działa wreszcie normalnie, przenoszenie okienek również. Oby nie było cz.3 🙂