25.02.2014 Aufrufe

Ubuntu User Sever @ Home (Vorschau)

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

Wissen<br />

Wayland<br />

Glossar<br />

Bibliothek: Eine Sammlung von<br />

Programmfunktionen, die Anwendungsentwickler<br />

im Programmablauf<br />

mehrfach nutzen können. Auf<br />

diese Weise sparen sie bei der Programmierung<br />

Arbeit und Zeit.<br />

EGL: Steht für „Embedded System<br />

Graphics Library“ und vermittelt<br />

zwischen der OpenGL-ES-API und<br />

dem Fenstersystem des darunterliegenden<br />

Betriebssystems. Die EGL-<br />

Implementierung von Wayland heißt<br />

Eagle.<br />

GLES2: Kürzel für OpenGL ES 2.0;<br />

das ist zweite Version der OpenGLbasierten<br />

Spezifikation zum Erzeugen<br />

von 3-D-Grafik auf eingebetteten<br />

(und mobilen) Geräten (N900,<br />

iPhone usw.).<br />

Probefahrt<br />

sich die Frage: Müssen die Softwareentwickler nun<br />

plötzlich alle ihre grafischen Programme an Wayland<br />

anpassen? Glücklicherweise ist die Situation<br />

nicht ganz so dramatisch.<br />

Wandverkleidung<br />

Zunächst besteht die Möglichkeit, einen vollständigen<br />

X-Server als Wayland-Client laufen zu lassen<br />

(Abbildung 4) – ähnlich macht es auch Mac OS<br />

X. Die X-Clients<br />

kommunizieren<br />

in diesem Fall mit<br />

dem X-Server,<br />

der wiederum<br />

Wayland bittet,<br />

den Bildschirm<br />

neu zu zeichnen.<br />

Diese Kette<br />

macht Waylands<br />

Vorteile allerdings<br />

5 Programme nutzen meist wieder zunichte<br />

Bibliotheken wie GTK+ oder Qt, und ist daher<br />

die ihrerseits mit dem X-Server nur als Notbehelf<br />

kommunizieren.<br />

für eine Übergangszeit<br />

gedacht – auch wenn Hauptentwickler<br />

Kristian Høgsberg für diese Betriebsart nur äußerst<br />

geringe Geschwindigkeitseinbußen verspricht.<br />

In der Praxis reden die meisten X-Clients nicht<br />

direkt mit dem X-Server, sondern nutzen Zwischenschichten<br />

wie GTK+, Qt und Cairo (Abbildung<br />

5). Auf erstgenannter Bibliothek bauen alle<br />

Gnome-Programme auf, Qt trifft man vorwiegend<br />

im KDE-Lager. Entwickler müssen also nicht alle<br />

Programme auf Wayland einschwören, sondern<br />

nur die genannten Bibliotheken anpassen, was<br />

Høgsberg und Co. derzeit vorantreiben. Den Status<br />

der Portierung auf Qt verfolgen Sie unter [4],<br />

unter [5] finden Sie Details zu den Fortschritten<br />

bei der Portierung auf GTK+. Besonders schnell<br />

lassen sich Bibliotheken anpassen, die schon von<br />

Haus aus auf OpenGL oder Cairo basieren, wobei<br />

Wayland auf EGL und GLES2 setzt. Eine ziemlich<br />

bittere Pille wartet aber im Netzwerkbereich.<br />

Ins Netz gegangen<br />

Die Kommunikation von X-Clients mit dem X-Server<br />

wurde in den 80er Jahren so ausgelegt, dass<br />

sie über das Netzwerk funktioniert. Damit ist es<br />

Wer Wayland einmal ausprobieren<br />

möchte, muss derzeit Glück haben<br />

oder ziemlich leidensfähig sein. Und<br />

er sollte das nicht auf dem Produktivsystem<br />

tun. Mit etwas Glück funktioniert<br />

die Version aus dem PPA für<br />

<strong>Ubuntu</strong> 10.10 [9]. Sie binden das PPA<br />

über die folgenden Befehle ein:<br />

sudo apt‐add‐repository U<br />

ppa:xorg‐edgers/wayland<br />

sudo apt‐get update<br />

sudo apt‐get install waylandU<br />

libxkbcommon libgles2‐mesaU<br />

libdrm2<br />

Anschließend kopieren Sie die Udev-<br />

Regel von Wayland an den richtigen<br />

Ort:<br />

sudo cp /lib/udev/rules.d/U<br />

70‐wayland.rules /etc/udev/U<br />

rules.d/<br />

Starten Sie den Rechner neu und rufen<br />

Wayland über den Befehl wstart innerhalb<br />

der X.Org-Session auf. Alternativ<br />

beenden Sie die Gnome-Session über<br />

sudo /etc/init.d/gdm stop, wechseln<br />

über [Strg]+[Alt]+[F1] die Konsole,<br />

melden sich an und geben<br />

wayland‐compositor ‐b /usr/shaU<br />

re/backgrounds/space‐01.jpg &<br />

ein. Tippen Sie übrigens wayland‐ ein<br />

und drücken Sie [Tab], erscheint eine<br />

Liste von Demoprogrammen für den<br />

Displayserver.<br />

Funktioniert das alles nicht, gibt es<br />

noch einen komplizierten Weg. Auf<br />

diesem verlangt Wayland nach aktuellen<br />

beziehungsweise speziellen<br />

Versionen von mesa, libxkbcommon<br />

und cairo‐gl. Die Programme laden<br />

Sie – wie Wayland – von Hand herunter<br />

und kompilieren sie, wozu Sie<br />

wiederum ein Dutzend weiterer Pakete<br />

brauchen.<br />

Den Wayland-Compositor betreiben<br />

Sie als X11-Ersatz, als Wayland-<br />

Client oder als normalen X-Client.<br />

Im letzten Fall landen alle Ausgaben<br />

der Wayland-Programme in einem<br />

gewöhnlichen X11-Fenster – das allerdings<br />

flott über die OpenGL-ES-<br />

Schnittstelle. Um sich das eigene<br />

Linux-System nicht versehentlich zu<br />

zerstören, sollten Sie Wayland nur<br />

als X-Client betreiben. Dummerweise<br />

läuft Wayland derzeit nicht in einer<br />

virtuellen Umgebung, wie etwa VirtualBox.<br />

Auf unserem Testsystem mit<br />

<strong>Ubuntu</strong> 10.10 stürzte der Compositor<br />

zudem reproduzierbar ab.<br />

Wie Sie Wayland übersetzen, verrät<br />

eine kurze und recht allgemein gehaltene<br />

Anleitung auf der Projektseite<br />

[10] – hier der Weg für <strong>Ubuntu</strong> 10.10.<br />

Sie installieren zunächst die Pakete<br />

git, automake, autoconf, libtool, xutilsdev,<br />

libtalloc‐dev, xorg‐dev, libdrmdev,<br />

bison, gcc, g++, flex, libpng12‐<br />

dev, libgdk‐pixbuf2.0‐dev, libudevdev,<br />

libxcb‐dri2‐0‐dev, libxcb‐xfixes0‐<br />

dev, libpoppler‐glib‐dev, libffi‐dev,<br />

libgles2‐mesa‐dev und libgtk2.0‐dev.<br />

Dann laden Sie von [11] das Paket<br />

x11proto‐kb‐dev herunter und spielen<br />

es z. B. per Doppelklick ein. Damit<br />

erhöhen Sie die Version von x11protokb‐dev<br />

auf die von libxkbcommon geforderte<br />

Variante. Jetzt folgt im Terminal<br />

ein kleines Befehlsfeuerwerk,<br />

wobei Sie bei jedem Schritt besser<br />

beide Daumen drücken:<br />

git clone git://anongit.U<br />

freedesktop.org/mesa/mesa<br />

cd mesa<br />

./autogen.sh ‐‐enable‐egl U<br />

‐‐enable‐gles2<br />

make<br />

sudo make install<br />

cd ..<br />

git clone git://people.U<br />

freedesktop.org/~krh/U<br />

libxkbcommon.git<br />

cd libxkbcommon<br />

./autogen.sh<br />

make<br />

sudo make install<br />

cd ..<br />

git clone git://anongit.U<br />

freedesktop.org/cairo<br />

cd cairo<br />

./autogen.sh ‐‐enable‐gl<br />

make<br />

sudo make install<br />

cd ..<br />

git clone git://people.U<br />

freedesktop.org/~krh/wayland<br />

cd wayland<br />

./autogen.sh<br />

make<br />

sudo make install<br />

sudo cp<br />

compositor/70‐wayland.rules U<br />

/etc/udev/rules.d<br />

sudo udevadm trigger U<br />

‐‐subsystem‐match=drm U<br />

‐‐subsystem‐match=input<br />

Den Wayland-Compositor starten Sie<br />

im Unterverzeichnis compositor:<br />

cd compositor<br />

./compositor<br />

Die Compositor-Ausgaben landen<br />

nun in einem eigenen Fenster. In einem<br />

zweiten Terminalfenster wechseln<br />

Sie in den Ordner /wayland/<br />

clients in Ihrem <strong>Home</strong>-Verzeichnis.<br />

Dort finden Sie einige Demoprogramme,<br />

die nach dem Start jeweils<br />

im Compositor-Fenster erscheinen.<br />

Viel Glück!<br />

62 UBUNTU<br />

02/2011<br />

www.ubuntu-user.de<br />

user

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!