Kernel-Log: X.org 7.5 im Sommer, Intels Grafiktreiber wird grundrenoviert

X.org 7.5 soll im Sommer erscheinen und könnte einen grundrenovierten Intel-Grafiktreiber mitbringen. Die Kernel-Entwickler haben die Linux-Versionen 2.6.30-rc4 und 2.6.29.2 vorgestellt; 2.6.27.20 befindet sich in Vorbereitung, Tuz verschwindet wieder.

In Pocket speichern vorlesen Druckansicht 3 Kommentare lesen
Lesezeit: 6 Min.
Von
  • Thorsten Leemhuis
Inhaltsverzeichnis

X.org-Programmierer Daniel Stone hat auf der X.org-Mailingliste einen neuen Zeitplan für die Entwicklung und Freigabe von X.org 7.5 und dem dafür vorgesehenen X-Server 1.7 vorgestellt. Dabei gesteht er ein, dass aus der ursprünglich grob für Anfang April angedachte Fertigstellung von X.org 7.5 nichts geworden ist und schlägt nun Mitte Juli als neuen Termin vor.

Bis Ende Mai wollen die Entwickler alle wesentlichen neuen Funktionen aufnehmen und in der zweiten Juni-Hälfte mit der Freigabe von Beta-Versionen beginnen. Die Integration des von XI2 (X Input 2) schreitet laut der Mail von Stone voran; XKB2 (X Keyboard Extension 2) plant er selbst in den kommenden Wochen einzupflegen. Geplant und teilweise bereits im Entwicklungszweig von X.org 7.5/X-Server 1.7 enthalten sind laut Wiki zudem Multi-Pointer X (MPX), Input device properties (IDP) und Predictable Pointer Acceleration.

Wie Stone betont, ist das allerdings nur ein provisorischer Plan. Die Erfahrung mit vorangegangenen Versionen von X.org- und X-Server zeigt zudem, dass die X-Entwickler ihre selbst gesetzten Termine nicht selten um Wochen (etwa X-Server 1.6) oder sogar um mehrere Monate (etwa X.org 7.4) verfehlen.

Intel-Entwickler Carl Worth hat unterdessen mit dem "2.7.99.1 snapshot" die erste Vorabversion der 2.8er-Treiberreihe des kurz meist "intel" genannten X.org-Grafiktreibers xf86-video-intel freigegeben. Sie könnte möglicherweise später mit X.org 7.5 ausgeliefert werden und ist zirka 10 Prozent kleiner als die Intel-Treiber der aktuellen 2.7er-Serie. Die Code-Reduktion war möglich, weil die Entwickler die Unterstützung für die 2D-Beschleunigungsarchitekturen XAA und EXA entfernt haben und sich nun auf das Intel-spezifische und von EXA abgeleitete UXA beschränken; rausgeflogen ist zudem die Unterstützung für DRI1. Durch diese Änderung erfordert der Treiber nun allerdings mindestens einen X-Server der Version 1.6.

Durch diesen Schritt wollen die X-Entwickler die Treiberpflege erleichtern und die Qualität steigern, da die Chance viel größer sei, dass so tatsächlich getestete Code-Pfade genutzt werden. Der langjährige X-Entwickler Keith Packard erklärt die Hintergründe für dieses Vorgehen detaillierter in seinem Blog-Eintrag "Sharpening the Intel Driver Focus". Dabei beschreibt er die verschiedenen zum Mode Setting (User-Mode, Kernel-based Mode-Setting/KMS), für Direct Rendering (kein DRI, DRI1, DRI2), das Memory Management (X-Server/Treiber, GEM) und die 2D-Beschleunigung (Keine, XAA, EXA, UXA) genutzten Techniken und rechnet vor, dass sich diese theoretisch auf 48 verschieden Weisen miteinander kombinieren lassen. Einige davon würde gar nicht zusammen arbeiten und nur manche seien getestet und auf Geschwindigkeit optimiert; ferner würden einige Kombinationen auf neuerer Hardware besser arbeiten, andere auf älterer.

Das zieht in der Praxis zahlreiche Probleme nach sich – die Entwickler wollen sich daher in Zukunft auf KMS, DRI2, GEM und UXA fokussieren. Die zehnprozentige Code-Reduktion bei den Vorabversionen der 2.8er-Treiber ist da nur der Anfang, denn mit der darauf folgenden Treiber-Generation soll die Codemenge laut Packard um 50 Prozent schrumpfen. Die zahlreichen Kombinationsmöglichkeiten und die daraus resultierenden Probleme bereiten derweil einigen Nutzern und den Entwicklern des kürzlich vorgestellten Ubuntu 9.04 reichlich Kopfzerbrechen, des dort zeigt der Intel-Treiber laut einigen Erfahrungsberichten im Internet sowie einigen im Rahmen der c't-Redaktion durchgeführten Versuchen gelegentlich größere (Performance-)Probleme. Diese lassen sich allerdings manchmal mit Hilfe einiger im Ubuntu-Wiki gesammelten Tricks beseitigen oder mindern.