суббота, 14 февраля 2009 г.

Рекорд скорости Nvidia+Compiz

В результате долгих мучений с известными проблемами перерисовки экрана в связке Compiz+проприетарные драйверы Nvidia пересел обратно на старую версию дров (173.14.09), где эта проблема не наблюдалась. На этих драйверах gtkperf "порадовал" результатом в 20 секунд на все тесты, а это очень много. Сегодня очередная попытка запустить на полную новые драйверы (180.22, из репозитория Debian). Благодаря комментарию бага был найден обход проблемы с перерисовкой. Одним из решений, найденных мною методом научного тыка, было выключить прямую отрисовку (Direct Rendering) для своего пользователя. Но в этом случае отказывались работать программы, которым такая функция необходима (например, моя любимая игрушка World of Goo из-под Wine). Спасибо автору комментария (автора зовут Carrick Detweiler) за подсказку как отключить прямую отрисовку только для Compiz. Нужно создать в папке ~/.config/compiz файл compiz-manager, содержащий INDIRECT=yes. Вот как это можно сделать одной командой:
mkdir -p ~/.config/compiz; echo INDIRECT=yes >> ~/.config/compiz/compiz-manager
После этого можно устанавливать новенькие драйверы и проблемы с отрисовкой больше нет. Пока не решаюсь убирать старые настройки, т.к. такой скорости я еще не видел! Благодаря всем этим танцам с бубном, gtkperf показал рекордные 6,16 секунд на моей GeForce 8600M GS!!!

P.S. Отключение прямой отрисовки снижает производительность многих эффектов в Compiz, но на легких эффектах разницы не чувствуется. Зато обычный интерфейс работает очень быстро!

Обновление
В багрепортах Ubuntu появилось очень интересное сообщение со ссылкой на патч к модулю Workarounds, исправляющий проблему с перерисовкой экрана. Используя этот патч я собрал свою версию пакета compiz-fusion-plugins-main. После установки включаем модуль Workarounds и в нем отмечаем "Force synchronization between X and GLX". После этого убираем INDIRECT=yes из файла ~/.config/compiz/compiz-manager. Перезапускаем compiz и получаем новый рекорд производительности и никаких проблем с отрисовкой! Теперь для моей конфигурации новый рекорд gtkperf составляет 5,39!

Обновление
Забыл указать важный факт, у меня установлена тема GTK "Nodoka-Rounded". На более быстрой теме "Mist" (согласно сравнению движков, это вообще самая быстрая GTK-тема) получил результат в 4,49 секунд.

понедельник, 9 февраля 2009 г.

Свежее ядро в Debian

В связи с приоритетностью выпуска уже наконец стабильного Debian 5.0 Lenny пакет ядра перестал обновляться в Unstable. Между тем уже вышло ванильное ядро 2.6.28, а в репозиториях всё еще 2.6.26. В результате поиска решения этой проблемы была найдена страничка в Debian Wiki, сообщающая о наличии репозитория с самыми свежими снимками ядра. В репозитории присутствуют все необходимые пакеты: исходники, бинарные сборки, заголовки. Стабильность, конечно же, не гарантируется.

Для установки добавляем в /etc/apt/sources.list строчку:
deb http://kernel-archive.buildserver.net/debian-kernel trunk main
И добавляем ключ:
# wget -q -O - http://kernel-archive.buildserver.net/key | apt-key add -
Обновляем список пакетов:
# apt-get update
И вот они, свежие пакеты доступны для установки/обновления.