Software::Desktop::KDE

Das Treiber-Dilemma von KDE 4.5

KWin-Entwickler Martin Gräßlin berichtet in seinem Blog von diversen Problemen und Regressionen in KDE 4.5, die trotz diverser Vorsichtsmaßnahmen aufgetreten sind. Für die meisten Probleme sind aus seiner Sicht die Open-Source-Grafiktreiber verantwortlich.

kde.org KDE 4.5.0

Anlass für Gräßlin, den derzeitigen Stand des KDE-Desktops zu erläutern, sind diverse Probleme, für die die Anwender KDE verantwortlich machen. Aus seiner Sicht werden die Probleme aber von externen Komponenten, besonders den freien Grafiktreibern verursacht. Zwar versuche insbesondere KWin, nur solche Funktionen zu aktivieren, die von den Treibern unterstützt werden, aber nicht vorhersehbare Fehler in den Treibern hätten diese Maßnahmen unterlaufen. Das Resultat war für manche Benutzer ein unbenutzbarer Desktop, Fehler in Effekten oder ähnliche Probleme, die teils in KDE 4.4 noch nicht aufgetreten waren.

Gräßlin beschreibt die Maßnahmen, die KWin trifft, um eine fehlerhafte Darstellung zu vermeiden. So gibt es eine Liste von funktionierenden Treibern, und die Desktop-Effekte werden nur aktiviert, wenn sich der verwendete Treiber in dieser Whitelist befindet. Die Funktionalität des Treibers wird dann mit einem externen Hilfsprogramm verifiziert. Im Falle von Abstürzen werden die betroffenen Effekte abgeschaltet, bei wiederholten Abstürzen sogar alle Effekte. Die Verifikation erfolgt anhand einer Abfrage, ob die benötigten OpenGL-Erweiterungen unterstützt werden. Dabei ist das KWin-Team konservativ und verwendet nur Funktionalität aus OpenGL 2. OpenGL 2 existiert schon seit etlichen Jahren. Weitere Sicherheitsmaßnahmen von KWin sind eine dynamische Blacklist von Effekten, die von Treibern fälschlich als unterstützt gemeldet werden, Selbsttests und ein Geschwindigkeitstest zur Laufzeit. Wenn ein Test scheitert, werden alle Effekte abgeschaltet.

KWin erlaubt demnach nur Effekte, die der Treiber angeblich unterstützt. Leider sind wohl viele freie Treiber in dieser Hinsicht fehlerhaft. In KDE 4.5 wurden zwei neue Effekte eingeführt, der Unschärfe-Effekt (Blur) und der Lanczos-Filter. Diese führten bei manchen Benutzern zu Regressionen. Betroffen waren diverse freie Treiber einschließlich der von Intel auf einigen Chips, nicht jedoch der proprietäre NVidia-Treiber, der in dieser Hinsicht alles korrekt abwickelt.

Für Gräßlin sieht es so aus, als habe noch nie niemand versucht, die Treiber so auszureizen, wie KWin es tut. Auch Compiz benutzt zwar Funktionen des Grafikprozessors, aber kein GLSL. Es fehlte also an Tests der Treiber. Gräßlin und wohl auch die anderen KWin-Entwickler haben nur wenig Hardware zum Testen zur Verfügung und können daher nicht alle Fehler reproduzieren. Für ihn ist allerdings klar, dass die Fehler in den Treibern und nicht in KDE korrigiert werden müssen. Das Verwenden der neuesten Treiber kann in einigen Fällen bereits helfen, da eine kontinuierliche Verbesserung stattfindet. Dies gilt für alle beteiligten Treiber, von den DRM-Treibern im Kernel über die X.org-Treiber bis zur freien OpenGL-Implementierung Mesa.