Издательский дом ООО "Гейм Лэнд"ЖУРНАЛ ХАКЕР #91, ИЮЛЬ 2006 г.

Третье графическое измерение

Евгений Зобнин ака j1m

Хакер, номер #091, стр. 091-108-3


# make

# make install

Превращаем рабочий стол в конфетку

Вот ты и стал обладателем OpenGL-ускоренного X-сервера. Осталось только разобраться с тем, как его запустить и начать использовать. Но обо всем по порядку. Для начала нужно запустить сам Xgl-сервер. Для этого необходимо выйти из иксов и набрать следующую команду:

$ /opt/X11/bin/Xgl :1 -ac -accel glx:pbuffer -accel xv:pbuffer &

Однако это сработает только для видеокарт на чипах Radeon, драйвера которых поддерживают спецификацию DRI и хорошо уживаются с библиотекой Mesa (мы ее уже собрали). Драйвера от nVidia, напротив, DRI полностью игнорируют и используют собственную реализацию библиотеки OpenGL, устанавливаемую в каталог /usr/lib. Поэтому нам придется обмануть Xgl, чтобы заставить его работать в системе с видеокартой от nVidia. Это легко проделать, используя механизм предварительной загрузки библиотек:

$ LD_PRELOAD=/usr/lib/libGL.so /opt/X11/bin/Xgl :1 -ac -accel glx:pbuffer -accel xv:pbuffer &

Далее мы должны запустить оконный и композитный менеджер compiz: он заменит стандартный оконный менеджер графической среды (kwin или Metacity) и позволит любоваться красивыми эффектами. К слову сказать, compiz - это пока единственный менеджер окон, способный использовать Xgl для создания эффектов, поэтому приверженцы WindowMaker и fluxbox могут забыть о красоте, хотя использовать «голый» Xgl никто не запрещает. Чтобы увидеть рамки на окнах, понадобится window-decorator, выполненный в двух реализациях: kde-window-decorator и gnome-window-decorator. И только после всех приготовлений можно запускать KDE или Gnome. Приведенный ниже скрипт загружает все вышеописанное автоматически.

# vi /opt/X11/bin/startxgl

#!/bin/sh

# Xgl-сервер

LD_PRELOAD=/usr/lib/libGL.so \

/opt/X11/bin/Xgl :1 -ac -accel glx:pbuffer -accel xv:pbuffer &

# говорим, чтобы программы обращались к X-серверу :1

export DISPLAY=:1

# оконный и композитный менеджер compiz

/opt/X11/bin/compiz --replace decoration wobbly fade minimize cube \

rotate zoom scale move resize place switcher &

# рамки для окон

/opt/X11/bin/kde-window-decorator &

# ну и, конечно же, KDE

exec startkde

Обрати внимание на строку «export DISPLAY=:1». В начале статьи я уже говорил, что Xgl запускается поверх обычного X-сервера и поэтому получает адрес :1 (а не :0 как обычно). Аргументы команды compiz указывают на то, какие плагины будут использоваться в менеджере окон, ниже приведен список плагинов с описанием:

decoration - рамки окон (нужен *-window-decorator);

wobbly - трансформация окна при перетаскивании;

fade - плавное появление и исчезновение окна;

minimize - эффект сворачивания и разворачивания окна;

cube - рабочие столы размещаются на сторонах куба;

rotate - часть эффекта cube, позволяющая ему чудесным образом вращаться;

zoom - эффект лупы;

scale - автокомпоновка окон;

move - перемещение окон;

resize - изменение размеров окна;

place - умное размещение окон;

switcher - переключение между окнами.

Также можно указать всего один плагин «gconf» и подключать/отключать плагины с помощью графической утилиты gconf-editor. Сразу после запуска Xgl ты сможешь насладиться многими эффектами compiz, но для достижения нирваны придется выучить несколько клавиатурных комбинаций:

Назад на стр. 091-108-2  Содержание  Вперед на стр. 091-108-4