вдоволь наигравшись compiz'ом, стал замечать что все финтиклюшки в виде fadeout/fadein окон, тормоза ресайза, глюки с заголовком окон (если используется тема metacity) и пр. - начали мешать :) Посему перестал юзать, но вот че-то без теней стало скучно... Решил попробовать xcompmgr - всем устраивал, т.к. выполнял единственную нужную операцию - рисовал тени(при этом скорость рендера интерфейса почти не падала в gtkperf :)). Но глючный страх - после несколько часового аптайма начинается веселье - исчезают части окон и работать невозможно, пока не прибить процесс и не запустить заново. Из-за этого решил обратится к стандартным средствам Metacity... пожалуй compiz работает просто идеально, когда выполняется ресайз окон :) Правда проблема решилась - пересборкой самого metacity с --disable-xsync. В общем «зажил счастливо». Вот только стал замечать что что-то не так во время проигрывания видео... оказалось вертикальная синхронизация никаким макаром не работает, если включен композит с использованием XRender. Почитал форумы, понял что решения нет, только ждать когда пофиксят в дровах :(
Посему накалякал патч к gl-выводу mplayer'а, дабы в фулскрине отключался композит(добавить в функцию resize после выполнения redraw()):
// NVIDIA SUCKS
if (WinID >= 0) {
int scr_w, scr_h;
aspect(&scr_w, &scr_h, A_ZOOM);
panscan_calc();
scr_w += vo_panscan_x;
scr_h += vo_panscan_y;
if ( scr_w == x && scr_h == y ) {
system( "sh $HOME/composite.sh 0" );
} else system( "sh $HOME/composite.sh 1" );
}
else
{
if ( vo_screenwidth == x && vo_screenheight == y ) {
system( "sh $HOME/composite.sh 0" );
} else system( "sh $HOME/composite.sh 1" );
}
// NVIDIA SUCKS
COMP=$1
gconftool-2 --type bool -s /apps/metacity/general/compositing_manager $COMP
Эх... придется вернутся к compiz'у, или beryl попробовать? :)