Zum Hauptinhalt Zur Navigation

Interview: Schönheit und Magie für KDE

X.org und KDE-Entwickler Zack Rusin im Gespräch mit Golem.de. Eine der meistbeachteten Präsentationen auf der diesjährigen KDE-Konferenz "aKademy" im spanischen Malaga, die am Sonntag endete, war Zack Rusins "Beauty and Magic for KDE". Im Interview mit Golem.de sprach Rusin über seine Arbeit und erläuterte die Pläne von KDE und X.org für die Zukunft des Desktops.
/ Jens Ihlenfeld
49 Kommentare News folgen (öffnet im neuen Fenster)

Zack Rusin ist ein langjähriger KDE-Entwickler, der kürzlich von Trolltech angeworben wurde, der norwegischen Firma, die hinter der plattformübergreifenden Qt-Bibliothek steckt, auf der auch KDE aufsetzt. In dieser Funktion arbeitet er auch an X.org, dem X11-Server für Linux und UNIX, der die Basis für KDE und andere Desktop-Umgebungen bildet.

Golem.de: Zack, Du wurdest kürzlich von Trolltech angestellt, was genau ist Dein Aufgabenfeld?

Zack Rusin: Mein Schwerpunkt liegt natürlich im Bereich Computergrafik, ist aber nicht darauf beschränkt. Trolltech räumt mir einen sehr großen Spielraum ein, was meine Arbeit angeht.

Golem.de: Was genau hast Du an X.org verändert?

Rusin: Hauptsächlich bin ich für die Render-Implementierung verantwortlich sowie für die neue Beschleunigungsarchitektur " Exa(öffnet im neuen Fenster) ". "XRender" ist das neue Rendering-Modell von X und stellt zum Beispiel Font-Antialiasing zur Verfügung. Dort habe ich vor allem das bestehende System optimiert.

Golem.de: Exa hat hier auf der Konferenz die Runde gemacht – kannst Du ein wenig darauf eingehen?

Rusin: Exa ist eine sehr einfache Beschleunigungsarchitektur basierend auf KAA, welches im X-Server " KDrive(öffnet im neuen Fenster) " existiert. KDrive ist Keith Packards Implementierung eines modernen, modularisierten X-Servers. Im Gegensatz zur alten XAA-Architektur wurde Exa entwickelt, um XRender zu beschleunigen. Sein Zweck ist es, klein, einfach und flexibel zu sein und den X-Entwicklern endlich einige nette Effekte zu ermöglichen.

Golem.de: Worin liegt der Unterschied zwischen dem alten Weg der Grafikbeschleuningung und Exa?

Rusin: XRender ist eine neuere Rendering-Methode, die verschiedene Grafik-Grundfunktionen verwendet, um Objekte auf den Bildschirm zu zeichnen, vor allem wenn man es mit der alten Methode vergleicht, die nicht auf X-Render zurückgreift. XAA beschleunigt die alten Grundfunktionen, aber Exa kommt eben auch mit den neuen zurecht, insofern stellt es eine Verbesserung für aktuelle Toolkits wie Qt dar, die bereits auf XRender basieren.

Golem.de: Wird jederman automatisch von Exa profitieren können?

Rusin: Falls die Treiber, die sie verwenden, Exa implementieren, ja. Wir haben bereits die meisten Treiber [für X.org 7.0 ] angepasst.

Golem.de: Du hast beeindruckende Effekte mit dem OpenGL-basierten Xgl gezeigt, denkst Du, dass trotz Exa die Zukunft Xgl gehört?

Rusin: Oh ja, Xgl(öffnet im neuen Fenster) ist die Zukunft! Es ist unsere langfristige Lösung. Der einzige Grund, warum ich Xegl(öffnet im neuen Fenster) bisher nicht fertig stellen konnte, ist, dass ich eine Menge zu tun habe. Mit Technologien wie OpenVG(öffnet im neuen Fenster) und anderen Erweiterungen ist OpenGL auch eine attraktive Lösung für all unsere 2D-Probleme.

Golem.de: Kannst Du den Unterschied zwischen Xgl und Xegl erläutern?

Rusin: Xegl ist ein echter, eigenständiger Server. Xgl hingegen benötigt einen herkömmlichen X-Server, um zu starten, unter anderem weil er die Modline-Einstellungen in das Eingabe-Handling nicht selbstständig abwickeln kann. Beide Projekte verwenden denselben Code für die eigentliche Hardwarebeschleunigung, aber Xgl ist auf Grund seiner Einschränkungen eher als ein Test dafür zu sehen, was mit Xegl in Sachen OpenGL-Beschleunigung möglich sein wird.

Golem.de: Der Kubus-Effekt in Deiner Demonstration war ziemlich von MacOS X inspiriert. Werden wir zukünftig mehr MacOS-X-Effekte in KDE sehen?

Rusin: Erstmal möchte ich klarmachen, dass der Effekt selber von David Reveman stammt, ich verdiene für diesen großartigen Effekt keine Anerkennung. Aber um auf die eigentliche Frage zurückzukommen: hoffentlich nicht.
Wie ich bereits in meinem Vortrag betont habe: gutaussehende Effekte zu programmieren ist relativ einfach, aber wirklich benutzbare und gutaussehende Spezialeffekte zu erstellen ist extrem schwierig. Was Desktop-Effekte angeht, so ist der Pfad zwischen "cool" und "irritierend" sehr schmal. Eine unserer größten Herausforderungen im Plasma-Projekt wird es sein, eine Balance zwischen beidem zu finden.
Wir werden nicht die Besten sein, wenn wir nur von anderen abgucken. Entweder sind wir innovativ oder wir sterben. "Plasma" ist unsere Antwort. Zum ersten Mal gehen wir da richtig organisiert heran. Zum ersten Mal in der KDE-Geschichte arbeiten Künstler, Entwickler und Usability-Experten direkt zusammen. Alle diese Gruppen arbeiten gleichzeitig, deswegen werden gutes Aussehen und Usability nicht nachgeschoben, wie das sonst in Open-Source-Projekten oft der Fall ist. Vielmehr sind sie Kernkomponenten unseres Entwicklungsmodells.

Golem.de: Doch zuvor muss der X-Server der Benutzer entsprechend vorbereitet sein. Wann werden wir die Ergebnisse Deiner Arbeit in X.org sehen können?

Rusin: Die neue XRender-Implementation und Exa sind bereits in X.org integriert. Der nächste Schritt besteht darin, Xgl nach X.org zu verschieben, denn aktuell basiert es auf KDrive. Dann will ich Xegl vollenden. Die letzten zwei Dinge werden geschehen, sobald X.org 7.0 freigegeben wird.

Golem.de: Seit dem letzten Major-Release von X11 ist eine lange Zeit vergangen. Was wird auf dem anstehenden X.org-7.0-Release so revolutionär sein?

Rusin: Die Tatsache, dass es erstmals modular ist, macht es so besonders. Zum ersten Mal werden die Treiber nicht direkt mit dem Server und den Bibliotheken ausgeliefert, sondern parallel freigegeben. Das ist schon etwas Besonderes, das wissen vor allem die, die auf ein neues X.org-Release gewartet haben, nur um neue Treiber zu bekommen.

Golem.de: Wie werden die Benutzer von einem modularisierten X.org profitieren?

Rusin: Sie werden endlich in der Lage sein, ihre Treiber zu aktualisieren, ohne gleich den ganzen Server herunterladen zu müssen. Wir werden hoffentlich einige Releases machen, in denen nur die Treiber aktualisiert werden. Die Version 7.0 ist vor allem aus technischer Sicht interessant, denn er wird hoffentlich die X-Treiberentwicklung für neue Leute weniger schrecklich machen und es uns erlauben, einige sehr coole Sachen zu tun. Das sind die Dinge, die mich als Entwickler begeistern. Die Benutzer werden vor allem große Verbesserungen in der Geschwindigkeit bemerken, weshalb ich glaube, dass die meisten sehr schnell auf 7.0 umsteigen werden.

Golem.de: Wie wurde Qt angepasst, um von den neuen Technologien in X.org zu profitieren?

Rusin: Ich sehe Qt als treibende Kraft. Gewöhnlich diskutieren wir [bei Trolltech, Anm. d. Red.] erst, wie ein Problem auf den unteren Ebenen gelöst wird, bevor wir es in Qt implementieren. Wenn etwas unmöglich oder nur sehr schwer realisierbar ist, gehe ich hin und stelle sicher, dass es dort funktioniert, bevor wir es in Qt einbauen.
Die wichtigste Aussage daraus ist, dass Toolkits und Desktop-Umgebungen die treibende Kraft hinter der X-Server-Entwicklung sein werden. Der Server selbst ist relativ uninteressant: Sein einziger Sinn besteht darin, die notwendigen Funktionen bereitzustellen, um die Desktop-Entwicklung so einfach und die Ergebnisse so spektakulär wie möglich zu machen. Wir haben das für eine Weile vergessen und um die Probleme herumgehackt. Nun sind wir zurück und packen die Probleme endlich an den Wurzeln an, um zu tun, was wir eigentlich tun sollten – erfinden.

Golem.de: Was sind Deine Wünsche für die Zukunft von X.org, Qt, KDE und Linux auf dem Desktop?

Rusin: Ich wünschte, die Leute würden aufhören, Angst vor neuen Dingen zu haben. Ich wünschte, die Leute würden anfangen, Dinge zu tun, die wirklich unglaublich sind. Generell sollte die Regel gelten: Wenn Du Dir etwas vorstellen kannst, können wir es implementieren. Wir haben nun die Technologie, um das zu tun. Alles was wir brauchen, sind Ideen. Deswegen finde ich es so wichtig, dass wir die Künstler einbeziehen, um die Zusammenarbeit zu sichern.
Ich denke, dass der Trend zu immer mehr und mehr Vektorgrafik offensichtlich ist. Und ich denke nicht, dass ich ein großes Geheimnis ausplaudere, wenn ich sage, dass Qt bald native Unterstützung für SVG 1.2 aufweisen und diese auch benutzen wird. Das schließt auch Animationen ein!
Momentan werden viele Icons in SVG entwickelt, aber dann auf Grund von Leistungsproblemen in PNG zurückkonvertiert. Das wird sich bald ändern, denn das Ziel ist, dass SVGs zu rendern nicht langsamer sein sollte als Bilder zu rastern.

Plasma wird Sie hinwegfegen. Nichts, was Sie gesehen haben oder in den kommenden Jahren sehen werden, wird auch nur in die Nähe dessen kommen, was Sie mit Plasma erfahren werden. Und das ist ein Versprechen. [von Daniel Molkentin]


Relevante Themen