1 февр. 2008 г.

Beryl + XGL

Итак, beryl+Xgl. Думаю, если кто и зайдет на эту страничку теми или иными способами, это сочетание не будет пустым набором букаф. Хотя возможны и исключения. Но тем не менее расписывать, о чем далее пойдет речь, не буду, ибо лениво. На край ищущая душа вобьет ети же два слова в поисковик и получит кучу инфы по сабжу. Ну или можно пройтись по линкам внизу страницы. Эффект будет тот же )
Нижеследующий пост ни в коей мере не претендует на полноценный мануал по установке и настройке и не избавляет от четния документации по сабжу и содержимого уже обозначенных линков. Я просто записал в блоготерпимой форме все свои действия, приведшие в итоге к положительному результату. Может, поможет и еще кому - буду рад. Я вообще засел за берил еще и от того, что полазав по инету, так и не понял, может ли в принципе 3D-десктоп иметь место быть на буке с i945 в качестве графического чипсета. Результаты поиска прямо противоположны. И да, и нет. На разных форумах, в разных тредах.... но вроде и там и там аргументировано. Значит нужно пробовать самому. Что мы и попытаемся ниже совершить. Воть...
Для дальнейшей работы нам нужны следующие пакеты:
  • xgl
  • beryl-core
  • beryl-plugins
  • emerald : window decorator
  • emerald-themes
  • aquamarine
  • beryl-settings
  • beryl-manager
Что-то из этого возможно уже инсталлено, что-то нет. Последние актуальные версии всего, что связано с beryl'ом, xgl'ом и иже с ними, можно взять из репозитория со следующими параметрами:
Тип - rpm-md/repomd
Протокол - HTTP
Имя сервера - software.opensuse.org
Каталог - /download/X11:/XGL/openSUSE_10.2
Вбив все это в соответствующие поля в YaST - Программное обеспечение - Источник установки, мы получаем в свое распоряжение данный репозиторий и через тот же YaST - Программное Обеспечение - Управление программным обеспечением устанавливаем все вышеперечисленное. Так же репозиторий можно добавить через SMART, для чего нужно ввести консольно
su
smart channel --add http://software.opensuse.org/download/X11:/XGL/openSUSE_10.2/X11:XGL.repo
Кому что больше нравится, короче говоря. -)
Дале смотрим, все ли проинсталлилось корректно:
suse:/home/delayer # ls /usr/bin/ | grep beryl
beryl
beryl-manager
beryl-settings
beryl-xgl
Теперь немного работы руками, хоть в SuSE это и не принято ;)
Редактируем свой xorg.conf
sudo nano /etc/X11/xorg.conf
Что требуется изменитьили добавить...
Section "Screen"
[...ваши конфиги...]
Option "AddARGBGLXVisuals" "True"
EndSection

Section "Device"
[...ваши конфиги...]
Option "TripleBuffer" "true"
EndSection

Section "Extensions"
Option "Composite" "Enable"
EndSection
Следует сразу проверить, включено ли 3D-моделирование (эффекты) в опциях вашей видеокарты.
suse:/home/delayer # glxinfo | grep direct
direct rendering: Yes
Иначе, для видеокарт nvidia - обязательно установить проприетарные дрова ( желательно поновее) - такая видеокаточка у меня на Большом Брате (FX 5200). В случае бука имею интегрированный чипсет i945 (во многом из-за гипотетических возможностей которого и была затеяна вся эта эпопея). Для интелловской графики нужно активировать режим 3D. Для этого можно и нужно воспользоваться SaX2 (стандартная утилита конфигурации Х-сервера). Там просто нужно опставить галочку напротив поля Активировать 3D и перезагрузить иксы. За одним перечитаются и свежеизменненные настройки xorg'a.
После рестарта X-servera (можно не заморачиваться и перезапустить их банальным alt+ctrl+backspace) в консольке пишем beryl-manager, наблюдаем фирменный сплаш-скрин и погружаемся в море трехмерности. ;) Но... возможны косяки. Во-первых, я столкнулся с тем, что поругавшись на отсутствие поддержки чего то там... менеджер просто послал лесом и отказался запускаться. Оказалось, что 3D в настройках видео не активировались. -)
Еще один очень неприятный косячок - после запуска экран белеет и ничерта не видать, хотя кубик можно покрутить. White Cube Problem, короче говоря. Решается на самом деле просто: в файле ~/.beryl-managerrc и ищем [beryl-settings] и прописываем/меняем содержимое на показанное ниже.
[beryl-settings]
render_path=2
Еще может быть следующая проблема - окошки/менюшки или корявую прозрачность имеют или вообще не работают. Это как выяснилось, получается оттого, что emerald'овско-beryl'овский модуль прозрачности (не помню, как он там называется) дерется со стандартным KDE'шным (называния, извините, тоже не помню, а искаться лениво ;) ..да и не суть важно). Так вот, чтобы этого избежать - отключаем всю кедовую прозрачность нафиг. Должно помочь.
Ну, все у нас в общем работает. Но согласитесь, некошерно каждый раз врукопашную запускать - хочется, чтобы все само делалось ;). Я решил эту неувязочку просто:
ln -s /usr/bin/beryl-manager /home/delayer/.kde/Autostart
мне хватило. Еси не работает можно попробовать и сам берил продгрузить
ln -s /usr/bin/beryl-xgl /home/delayer/.kde/Autostart
Таким же образом, если требуется запускать beryl-manager и beryl с какими либо параметрами (к примеру --use-copy --no-force-window-manager и иже с ними, подробности в man'ах), то тогда делаем так
touch /home/delayer/.kde/Autostart/3dstart.sh
echo "что_хочется_для_запуска" > /home/delayer/.kde/Autostart/3dstart.sh
chmod +x /home/delayer/.kde/Autostart/3dstart.sh
Да, в начале файлика стоит не забыть !#/bin/sh
Снова выносим иксы, заново логинимся .... и все должно быть. Трехмерно. Гламурно. Сорри, не удержался. ;)
Не знаю, буду ли писать что нить про настройку как самого beryl-manager'a и emerald'a... У меня вроде не возникло никаких трудностей... просто кликаем все подряд и смотрим на изменения, оставляя то что понравилось, и отключая хламности ;)
А на сегодня.. и вообще на эту неделю про сию бодягу я заканчиваю... и так дня три нарно угрохал, да еще сколько и собирался ;) Паблиш!
Основные линки (может что и забыл, спросите у гугла ;) )
http://en.opensuse.org/Beryl
http://ru.opensuse.org/Xgl
http://ru.opensuse.org/Beryl
http://ru.opensuse.org/Additional_YaST_Package_Repositories
http://ru.opensuse.org/Xgl_Troubleshooting