2009-12-23

Problem z skalowaniem i przywracaniem okien pod Linuxem

Problem ujawnia się po zainstalowaniu sterowników własnościowych od ATI. Przywrócenie zminimalizowanego okna lub zmiana jego rozmiaru trwa 2-3 sekundy. Takie samo opóźnienie towarzyszy tworzeniu nowego okna. Miałem go w Ubuntu 9.04, ale jako, że nie specjalnie często korzystałem z tego systemu to go zignorowałem. W sieci też żadnego rozwiązania tego problemu nie mogłem znaleźć. Z tego co poczytałem problem ten dotyczył prawie wszystkich kart ATI. Teraz dokonałem aktualizacji do Ubuntu 9.10. Minęło pół roku i co ? I dalej to samo. Po prosty nie da się pracować. Można oczywiście wyłączyć sterowniki od ATI, ale wtedy nie miałem akceleracji i wszystko działało wolno. I tak źle i tak niedobrze. Tutaj mamy dosyć dobre omówienie problemu. Data pierwszego postu to styczeń 2009. Czyli to prawie rok odkąd błąd się pojawił. Wbrew pozorom problem nie leżał w sterownikach od ATI. W tamtej dyskusji pojawiało się wiele postów z tym związanych. Okazało się, że winowajcą jest XServer. Mieli oni jakieś problemy z grafikami od Intela polegający na tym, że na ekranie pojawiały się śmieci, więc dopisali kod, który coś tam czyści. Problem w tym, że w układy graficzne Intela współdzielą pamięć z procesorem, zaś większość kart ATI nie. I wydajność zabijało przesyłanie danych pomiędzy pamięcią karty, a procesora. Tutaj znajdziemy dwa rozwiązania tego problemu. Pierwsze rozwiązanie Dodajemy do źródeł oprogramowania: deb http://ppa.launchpad.net/ubuntu-x-swat/xserver-no-backfill/ubuntu karmic main Można też do zrobić z linii poleceń: gksu gedit /etc/apt/sources.list Wykonujemy odświeżenie dostępnych aktualizacji i teraz w Menadżerze aktualizacji powinny pojawić się odpowiednio zmodyfikowany XSerwer. Drugie rozwiązanie Pobieramy 107_fedora_dont_backfill_bg_none.patch. I zapomocą tych poleceń przygotujemy XServer do zbudowania, ściągamy jego źródła, nakładamy patcha, bodujemy do pakietu deb i go instalujemy. sudo apt-get build-dep xorg-server apt-get source xorg-server cd xorg-server-1.6.4 patch -p1 < ./../107_fedora_dont_backfill_bg_none.patch debuild cd .. sudo dpkg --install xserver-xorg-core*.deb Zwróćcie uwagę na poprawność ścieżek.