среда, 7 февраля 2007 г.

Howto: Установка Beryl в Ubuntu (Kubutu) 64-bit.

Просмотрев видео-ролики о том, как красив Linux с установленным Beryl и попробовав его на ноутбуке со стандартной i386 архитектурой, захотелось запустить это украшательство и на компьютере с 64-битным процессором. На компьютере установлен Kubuntu 6.06 LTS Dapper Drake 64-bit Linux. Погуглив немного, я узнал, что поскольку в репозиториях Dapper Drake пакета Beryl нет, обычной установкой не отделаешься. Но я так просто не сдался и нашел почти то, что мне нужно - HOWTO: Build beryl from source, gnome. Правда, вместо Gnome у меня KDE, но это не суть важно - разберемся.

1) Начнем с того, что добавим источники в файл /etc/apt/sources.list.
sudo vi /etc/apt/sources.list
в самом конце списка добавляем следующее
deb http://www.beerorkid.com/compiz dapper main main-amd64
deb-src http://www.beerorkid.com/compiz dapper main main-amd64

2) Установка драйверов видеокарты.

Nvidia:
sudo aptitude update
sudo aptitude dist-upgrade
sudo aptitude install nvidia-glx



Ati: (поскольку у меня Nvidia, установку драйверов Ati я не проверял)
Устанавливаем fglx, как описано здесь.
Запускаем:
glxinfo
И смотрим вывод. Если видите direct rendering: yes - можно идти дальше.


3) Редактируем xorg.conf.

Начнем с создания копии:
sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf_backup
Только для Nvidia:
sudo vi /etc/X11/xorg.conf
В открытом файле ищем секцию "Module". Если в этом разделе присутствуют Load "dri" и(или) Load "glcore" - комментируем их (ставим # в начале строки):
# Load "dri"
# Load "glcore"

Убедитесь что присутствует запись:
Load "glx"
Опускаемся дальше к секции "Device" и смотрим чтобы все было как указано ниже:
Section "Device"
Identifier "NVIDIA Corporation NV41.0"
Driver "nvidia"
BusID "PCI:1:0:0"
Option "RenderAccel" "true"
EndSection

Не изменяйте значение BusID, вверху приведен лишь пример, у Вас может быть другое значение. Если нет Option "RenderAccel" "true" - допишите.

(конец только Nvidia)

4) Установка xgl
sudo aptitude install xserver-xgl libgl1-mesa libglitz-glx1
Настройка запуска xgl.

Gnome:
sudo gedit /etc/gdm/gdm.conf-custom
В конец секции servers добавляем следующее:

Для Nvidia:
[servers]
0=Xgl

[server-Xgl]
name=Xgl server
command=/usr/bin/Xgl :0 -fullscreen -ac -accel glx:pbuffer -accel xv:pbuffer
flexible=true

Для Ati:
[servers]
# Override display 1 to use Xgl (DISPLAY 1 IMPORTANT FOR ATI FGLRX).
1=Xgl

[server-Xgl]
name=Xgl server
command=/usr/bin/Xgl :1 -fullscreen -ac -accel glx:pbuffer -accel xv:pbuffer
flexible=true

Только ATI:

Изменяем /etc/gdm/gdm.conf:
sudo gedit /etc/gdm/gdm.conf-custom
следующим образом
#0=Standard
1=Standard

Идем к строке 198 и изменяем GdmXserverTimeout=10 на (это очень важно!!!):
GdmXserverTimeout=50
KDE:

Nvidia:
sudo vi /etc/kde3/kdm/kdmrc
Ищем строку ServerCmd=/usr/X11R6/bin/X -br, комментируем ее и добавляем следующее:
#ServerCmd=/usr/X11R6/bin/X -br
ServerCmd=/usr/bin/Xgl -fullscreen -ac -accel xv:fbo -accel glx:pbuffer


Для Ati попытайтесь модифицировать, то что было сделано для Gnome.


5) Установка Beryl с исходников.

Начнем с того, что удалим compiz (если он установлен)
sudo aptitude remove compiz-core compiz-gnome cgwd csm
Если выдает, что не знает таких пакетов - это нормально. Не обращайте внимания.

Ну а теперь самая важная и самая тяжелая часть. Ниже будет приведен листинг. Все команды запускайте построчно, как указано там. Уделяйте внимание сообщениям об ошибках. Особенно это касается пунктов ./autogen.sh --prefix=/usr. Если видите надписи типа unmet зависимости и названия пакетов, установите указанные пакеты через sudo apt-get install пакет и запустите ./autogen.sh --prefix=/usr еще раз.

Проделываем все как здесь:
cd ~/
sudo aptitude update
sudo aptitude dist-upgrade
sudo apt-get update
sudo apt-get build-dep compiz
sudo aptitude install fakeroot libtool automake1.9 librsvg2-dev x11proto-gl-dev subversion libneon25-dev libapr0-dev libsvn0-dev
sudo update-alternatives --config automake
svn co svn://svn.beryl-project.org/beryl/tags/release-0.1.4/

ln -s ~/release-0.1.4/distro-specific-build-files/bdock/debian ~/release-0.1.4/bdock/
ln -s ~/release-0.1.4/distro-specific-build-files/beryl-core/debian ~/release-0.1.4/beryl-core/
ln -s ~/release-0.1.4/distro-specific-build-files/beryl-plugins/debian ~/release-0.1.4/beryl-plugins/
ln -s ~/release-0.1.4/distro-specific-build-files/beryl-dbus/debian ~/release-0.1.4/beryl-dbus/
ln -s ~/release-0.1.4/distro-specific-build-files/beryl-manager/debian ~/release-0.1.4/beryl-manager/
ln -s ~/release-0.1.4/distro-specific-build-files/beryl-settings/debian ~/release-0.1.4/beryl-settings/
ln -s ~/release-0.1.4/distro-specific-build-files/emerald/debian ~/release-0.1.4/emerald/
ln -s ~/release-0.1.4/distro-specific-build-files/emerald-themes/debian ~/release-0.1.4/emerald-themes/
ln -s ~/release-0.1.4/distro-specific-build-files/heliodor/debian ~/release-0.1.4/heliodor/

cd ~/release-0.1.4/beryl-core
make clean
./autogen.sh --prefix=/usr
fakeroot dpkg-buildpackage
cd ..
sudo dpkg -i beryl-core*.deb beryl-dev*.deb

cd beryl-plugins
make clean
./autogen.sh --prefix=/usr
fakeroot dpkg-buildpackage
cd ..
sudo dpkg -i beryl-plugins-data*.deb beryl-plugins*.deb

cd emerald
make clean
./autogen.sh --prefix=/usr
fakeroot dpkg-buildpackage
cd ..
sudo dpkg -i emerald*.deb

cd emerald-themes
make clean
./autogen.sh --prefix=/usr
fakeroot dpkg-buildpackage
cd ..
sudo dpkg -i emerald-themes*.deb

cd beryl-settings
make clean
./autogen.sh --prefix=/usr
fakeroot dpkg-buildpackage
cd ..
sudo dpkg -i beryl-settings*.deb

cd beryl-manager
make clean
./autogen.sh --prefix=/usr
fakeroot dpkg-buildpackage
cd ..
sudo dpkg -i beryl-manager*.deb *.deb

Если все прошло без проблем - значит, Beryl установлен.

Проблемы, которые возникли у меня.
1.
sudo dpkg -i beryl-core*.deb beryl-dev*.deb
не поставило, а потребовало библиотеки libberylsettings0*, но они были в той же папке. Поэтому поставил их, а потом уже без проблем пакеты указанные выше:

sudo dpkg -i libberylsettings0*.deb
sudo dpkg -i beryl-core*.deb beryl-dev*.deb
2.
sudo dpkg -i emerald*.deb
Выдало, что пакеты зависят от libemeraldengine0*. Фокус, проделанный выше, не прошел, так как при установке libemeraldengine0* выдало, что пакеты зависят от emerald*. Какой-то замкнутый круг. Не знаю, что нужно делать в таких случаях. Сделал по своему. Поставил emerald*, указав игнорировать зависимости от libberylsettings0* и после этого поставил без проблем libberylsettings0*:

sudo dpkg -i --ignore-depends=libberylsettings0 emerald*.deb
sudo dpkg -i libberylsettings0*.deb
Со всем остальным проблем не было.

6) Автозапуск при старте KDE (GNOME):

Для KDE:
ln -s /usr/bin/beryl-manager ~/.kde/Autostart/beryl-manager
Для Gnome:
В Control Center -> Sessions -> Startup Programs добавляем:
beryl-manager
Перегружаем иксы (Ctrl + Alt + Backspace) и с умилением смотрим на работу Beryl :).

При написании данного Howto главным образом использовался материал отсюда

http://www.ubuntuforums.org/showthread.php?t=281613
и дополнительно
http://www.linuxjournal.com/node/1000081
http://linuxforum.ru/index.php?showtopic=30208&st=0


Если у Вас возникли какие-нибудь проблемы при установке или предложение сделать все это более рационально - пишите в комментарии. С удовольствием все рассмотрю.

12 коммент.:

Анонимный комментирует...

Мне вот это описание больше понравилось:
http://wiki.beryl-project.org/wiki/Install_Beryl_on_Ubuntu_Edgy_with_XGL
Ничего руками править не пришлось: запустил скрипт, apt-get и в автостарт.
Там есть описания для разных дистрибутивов.

serhiy cherevko комментирует...

Указанная статья называется Install Beryl on Ubuntu Edgy with XGL. Информацию для других дитсрибутивов я там не нашел. Проблема в том, что в Ubuntu (Kubuntu) Dapper Drake для amd64 нет бинарников Beryl. Поэтому и пришлось делать это вручную. А ставить Beryl в Edgy (где все можно поставить через apt-get) и со стандартной i386 архитектурой - это не проблема.

Анонимный комментирует...

Видимо, не проявили достаточной настойчивости.
Вот более общая ссылка:
http://wiki.beryl-project.org/wiki/Install_Beryl_on_Ubuntu
В том числе и AMD64.

А здесь много для других дистрибутивов:
http://wiki.beryl-project.org/wiki/Main_Page

Анонимный комментирует...

Прошу прощения. Глянул списки пакетов, действительно, сборок под amd64 для Dapper Drake нет. Но, по этим ссылкам можно прочитать, как собрать пакеты из исходников.

serhiy cherevko комментирует...

Спасибо за информацию.Может действительно можно и легче.

Анонимный комментирует...

здесь есть пакеты и для dapper, и для edge, amd64 и i386 http://ubuntu.beryl-project.org/

serhiy cherevko комментирует...

Для dapper пакетов там я не нашел. Есть для Edgy Eft и Feisty Fawn. Хотя, установив методом, описанным в статье, у меня сохранились все .deb пакеты. Может выложить куда-нибудь их для скачивания. Не знаю, будет ли это работать?

Анонимный комментирует...

Err http://www.beerorkid.com dapper Release.gpg
Http-сервер послал неверный заголовок

и дальше до конца в таком плане
вот такая маячня/// правда я устанавливал с deb http://ubuntu.beryl-project.org/ edgy main
установилось и работает (на 64)

Анонимный комментирует...

Can't connect to host 'svn.beryl-project.org': Connection timed out
что-то совчес ммылки не пашут

calibra комментирует...

Немножко конечно сложновато но я думаю за пару часов можно осилить.

Generic Viagra комментирует...

Поэтому и пришлось делать это вручную. А ставить Beryl в Edgy (где все можно поставить через apt-get) и со стандартной i386 архитектурой - это не проблема. yes eys

Buy Viagra комментирует...

Проблема в том, что в Ubuntu (Kubuntu) Dapper Drake для amd64 нет бинарников Beryl. Ничего руками править не пришлось запустил скрипт, apt-get и в автостарт.