PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Königsdisziplin: Beryl selbst kompilieren (Etch)



Gargi
28.12.2007, 14:23
Der 3D Desktop Beryl (auf Aixgl) erfreut sich bereits großer Beliebtheit. Nachdem ich bereits ein paar Wege erklärt habe, einen Beryl Desktop unter Etch zum Laufen zu bringen, werden wir uns einmal über das eigene Kompilieren der Applikation nebst der Themes und den Plugins machen.

Das Beispiel gilt für ein Debian Etch, 32bit, Gnome Desktopumgebung.

Zwei Dinge vorweg: Es ist nicht einfach und das Howto wird bei der Auflistung der benötigten Paketen Lücken aufweisen. Wer das nachmachen möchte benötigt Geduld und muss mit den Paketmanager unter Debian umgehen können. Ich werde deswegen das Tutorial nicht für Anfänger schreiben und bewußt Standardschritte auslassen.

Damit Beryl übersetzt werden kann, müssen wir eine Vielzahl an Pakete installieren. Hierzu gebe ich mein eigenes Repository als Musterbeispiel. Mit der Liste bin ich ans Ziel gekommen und hatte alle benötigten Pakete zur Verfügung:

/etc/apt/sources.list:


# deb cdrom:[Debian GNU/Linux testing _Etch_ - Official Snapshot i386 Binary-1 (20060810)]/ etch main


# deb cdrom:[Debian GNU/Linux testing _Etch_ - Official Snapshot i386 Binary-1 (20060810)]/ etch main

# Debian Etch (testing)
deb http://ftp.de.debian.org/debian/ etch main contrib non-free
deb-src http://ftp.de.debian.org/debian/ etch main contrib non-free

#Debian Multimedia
deb http://www.debian-multimedia.org testing main
deb http://www.debian-multimedia.org etch main

#Debian Updates
deb http://security.debian.org/ etch/updates main
deb-src http://security.debian.org/ etch/updates main

# Debian Sid (unstable)
deb http://ftp.us.debian.org/debian/ sid main contrib non-free

# Debian Experimental
deb http://ftp.us.debian.org/debian/ experimental main contrib non-free

# Cinelerra
# deb http://www.kiberpipa.org/~minmax/cinelerra/builds/sid/ ./
deb http://www.kiberpipa.org/~minmax/cinelerra/builds/athlonxp/ ./

Es ist davon auszugehen, dass alle Repositories dafür nicht benötigt werden. Nur haben diese mir alles Notwendige zur Verfügung stellen können.

Nachdem Ihr Eure Repos abgeglichen habt sorgt dafür, dass Ihr die notwendigen grundlegenden Tools zum Kompilieren vorliegen habt. Basis dazu sind genau die Tools, die Ihr auch zum Übersetzen eines Kernels benötigt.

Zudem empfehle ich vorweg folgende Pakete:


xserver-xorg-dev
libxcomposite-dev
libxdamage-dev
libgnome-desktop-dev
autotools-dev
libtool
autoconf
automake
libgnome-window-settings-dev
intltool
libxml-parser-perl
libart-2.0-dev
libatk1.0-dev
libbz2-dev
libcairo2-dev
libcroco3-dev
libgsf-1-dev
libgtk2.0-dev
libpango1.0-dev
librsvg2-dev
libxml2-dev
python-pyrex
python-pyx
emacs21
emacs21-bin-common
emacs21-common
emacsen-common
pymacs
pyrex-mode
python-mode
xaw3dg
python-dev
python-gtk2-dev
python2.4-dev
libwnck-dev
libxres-dev
x11proto-resource-dev
libgconf2-dev
libmetacity-dev
liboaf0
liborbit2-dev
libxml1
oaf
libxv-dev
x11proto-video-dev
yasm
libglu1-mesa-dev
x11proto-gl-dev


Der Intallationscode (damit Ihr das am besten über die Zwischenablage macht):

apt-get install libxcomposite-dev libxdamage-dev libgnome-desktop-dev autotools-dev libtool autoconf automake libgnome-window-settings-dev intltool libxml-parser-perl libart-2.0-dev libatk1.0-dev libbz2-dev libcairo2-dev libcroco3-dev libgsf-1-dev libgtk2.0-dev libpango1.0-dev librsvg2-dev libxml2-dev python-pyrex python-pyx emacs21 emacs21-bin-common emacs21-common emacsen-common pymacs pyrex-mode python-mode xaw3dg python-dev python-gtk2-dev python2.4-dev libwnck-dev libxres-dev x11proto-resource-dev libgconf2-dev libmetacity-dev liboaf0 liborbit2-dev libxml1 oaf libxv-dev x11proto-video-dev xserver-xorg-dev x11proto-gl-dev libglu1-mesa-dev yasm


Wenn Ihr später Beryl kompiliert, werdet Ihr auf den einen oder anderen Fehler stoßen. Lest dann genau die Ausgabe des Kompilerfehler. In der Regel weißen diese sehr genau auf fehlende Pakete hin. Sucht hierzu in Eurem Paketmanager die entsprechenden Pakete und installiert diese nach.

Zudem benötigt Ihr das subversion Paket, da wir die Quellen uns nun über svn ziehen.

Legt Euch ein Buildverzeichnis an und wechselt an der Konsole dorthin. Wir ziehen uns mit folgenden Befehl nun die Quellcodes rein:


svn co svn://svn.beryl-project.org/beryl/trunk/ beryl

Jetzt editiert die Datei /beryl/makeall. Sucht hierzu die Zeile


ITEMS="beryl-core beryl-plugins beryl-settings-bindings beryl-settings beryl-manager emerald emerald-themes aquamarine heliodor beryl-dbus"

Entfernt dazu die beiden Pakete aquamarine und heliodor aus dieser Zeile. Aquamarine ist eigentlich der Fenstermanager vom KDE, heliodor von Metacity. Für den reinen Genome Desktop werden diese nicht benötigt.

Als root startet Ihr den Kompile nun aus dem Verzeichnis /beryl mit einem


./makeall

Das Script übersetzt nun alle Pakete selbstständig. Sollten Fehler auftreten, dann sucht nach dem fehlenden Paket und installiert dieses nach. Startet den Vorgang dann wieder mit einem makeall.

Nachdem der Beryl Core nebst Plugins und Themes installiert ist, wollen wir noch das beryl-vidcap Plugin und den Seom Player installieren, damit wir auch schöne Filme vom Beryl aufnehmen können.

Wechselt als normaler User am besten wieder in Euer Build verzeichnis und zieht Euch die Quellen des Seom Players herunter:


svn co svn://dbservice.com/big/svn/seom/trunk seom

Nun geht in das seom Verzeichnis und übersetzt/installiert diesen als root mit einem


./configure
make && make install PREFIX=/usr


Danach wechselt in das Verzeichnis /beryl/beryl-vidcap und kompiliert/installiert das Plugin mit einem


make && make install PREFIX=/usr



Nun muss die /etc/xorg.conf angepasst werden.


Section "Device" ergänzen:

Option "XAANoOffscreenPixmaps" "true"

Option "AllowGLXWithComposite" "true" (nur bei Nvidia Karten)


Section "Module":

Load "dbe"


Section "Screen" (nur bei Nvidia Karten):

Option "AddARGBGLXVisuals" "true"

Zusätzlich muss die Datei noch um eine neue Section "Extentions" erweitert werden (falls nicht schon vorhanden):


Section "Extensions"
Option "Composite" "Enable"
EndSection


Im Autostart (Sitzungen) wird dann der Beryl mit einem "beryl-manager" eingetragen. Nach erneuter Anmeldung sollte nun ein kleiner Splashscreen erscheinen und der Beryl Manager gestartet werden.

HINWEIS: Bitte beachtet, dass der Beryl sich im Moment in einem schier galoppierenden Entwicklungsprozess befindet. Es kann durchaus sein, dass sich in ein paar Tagen wieder so viel ändert, dass vielleicht der eine oder andere Schritt nicht mehr notwendig oder gar möglich ist.

cu
Gargi