31.03.2007

3D-рабочий стол, Compiz & Beryl.

Хотя все украшения рабочего стола описаны в Интернете уже многократно, после конференции 26 марта 2007 вопросов насчет того, как именно все было реализовано при демонстрации, мы получили немало. Поэтому мы решили дать очень краткий обзор использованных технологий.

X-сервер. Xgl и AIGLX

Xgl – это новая архитектура X-сервера, использующая OpenGL. AIGLX – это расширение стандартного X.org для использования в нем OpenGL. Функциональность их примерно одинакова. Принципиальное отличие в архитектуре – Xgl заменяет стандартный X.org, в то время как AIGLX расширяет его функциональность.

На наш взгляд, второй подход гораздо более разумен и перспективен, так как позволяет разрабатывать AIGLX и X.org параллельно и не дублировать при этом код.

Менеджер окон. Compiz и Beryl

Обновленные X-серверы являются только основой, а непосредственно эффектами рабочего стола (3D-рабочий стол, гибкие окна, прозрачность и т.д) занимается композитный менеджер окон. На сегодняшний день их существует два – Compiz и Beryl. Они очень похожи между собой, по сути, второй является производным от первого. Основная разница в том, что у Beryl больше возможностей, больше эффектов, но при этом он работает медленнее. Кроме того, на наш взгляд, он менее стабилен, но это лишь наше мнение.

На данный момент обсуждается возможность объединения Beryl и Compiz, но перспективы этого пока что не ясны.

Описание живых демонстраций

Для живых демонстраций мы использовали AIGLX и Compiz, входящие в стандартный комплект дистрибутива Red Hat Enterprise Desktop 5. Демонстрации показывали под Gnome, потому что в нем есть графическая утилита для управления эффектами. Под KDE запустить Compiz также не составляет труда, но делать это нужно из консоли. :)

Требования к оборудованию

Мы тестировали работу AIGLX и Compiz на видеокартах от NVIDIA, ATI и Intel.

На Intel (встроенное видео ноутбуков) никаких проблем замечено не было.

В случае NVIDIA для включения аппаратного ускорения требуются бинарные драйвера, найти которые можно на сайте производителя. После установки драйверов проблем не наблюдалось.

Хуже всего на сегодняшний дело обстоит с чипсетами ATI. В бинарном драйвере производителя (fglrx) есть ошибка, в результате чего он не поддерживает все необходимые расширения, и AIGLX с ним не работает. ATI признала наличие ошибки и пообещала ее устранить в следующей версии драйвера (9.x). На сегодняшний же день запустить AIGLX с видеокартой ATI можно используя open source драйвер (radeon). Этот драйвер входит в состав дистрибутива и устанавливается по умолчанию, если определена видеокарта ATI. Драйвер поддерживает все необходимые расширения, но так как ATI не раскрывает спецификацию своих карт, он работает не слишком быстро.

Комментариев нет: