Устранение задержки при разворачивании окон с Compiz на ATI

28 января 2010

Проблема решается отключением backfill-функциональность X-сервера. То есть, по-простому: Х-сервер не будет заливать области экрана, выделяемые под новые окна. Почему-то он это делает медленно.

Да, это скорее хак, чем полноценное решение, поэтому в официальном репозитарии его нет. Есть PPA

Дабы сервер из этого PPA не затирался стандартным, нужно занести такие предпочтения в
/etc/apt/preferences
:



Package: xserver-xorg-core
Pin: version *nobackfill*
Pin-Priority: 1001

Package: xserver-xorg-core-dbg
Pin: version *nobackfill*
Pin-Priority: 1001



Альтернативное решение

Собираем руками



apt-get install devscripts build-essential fakeroot
apt-get source xorg-server
apt-get build-dep xorg-server
cd xorg-server-1.6.4 # или что там
vim composite/compalloc.c
# тут редактируем
debuild -us -uc
cd ..
dpkg -i *.deb # если в ~ не было deb-пакетов, конечно. иначе придется повозиться



Что редактируем? В функции



compNewPixmap (WindowPtr pWin, int x, int y, int w, int h)


комментируем все от



if (pParent->drawable.depth == pWin->drawable.depth)


до (но не включая)



return pPixMap;


Перезапускаем иксы, задержка должна пропасть.



(нужна разметка?)

  • **жирный**
  • > цитата

отменить