Третье графическое измерение Евгений Зобнин ака 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, но для достижения нирваны придется выучить несколько клавиатурных комбинаций: |