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 🙂