Grafikunterstützung: KWin bald ohne OpenGL-1-Backend
Der KWin-Entwickler Martin Gräßlin erklärt, wie schwer es ist, veraltete GPUs zu unterstützen. Das OpenGL-1-Backend könnte deshalb eventuell aus der Fensterverwaltung entfernt werden. Ersatz bietet der Llvmpipe-Treiber.

Die Unterstützung des OpenGL-1-Backends bedeute großen Mehraufwand für KWin, schreibt KDE-Entwickler Martin Gräßlin in seinem Blog. Er erwägt deshalb, dieses Backend langfristig nicht mehr zu unterstützen. Davon betroffen wären Anwender des proprietären AMD-Treibers Flgrx und von Intel-Chipsätzen, die älter als sechs Jahre sind.
Vor kurzem wurde bekannt, dass Apples Mac OS X Lion wohl ältere Hardware nicht mehr unterstützen wird. Der Grund dafür sollen Intel-GPUs sein.
Die Unterstützung von Low-End-Grafiklösungen über OpenGL-ES-2.0 trage auch zu einer Verbesserung von OpenGL 2.0 in KWin bei, schreibt Gräßlin. Für das OpenGL-1-Backend gelte das jedoch nicht, deshalb beanspruche die Entwicklung daran mehr Ressourcen. Weiter erschwert werde seine Entwicklungsarbeit dadurch, dass es kaum möglich sei, Hardware zu testen, die nur OpenGL 1 unterstütze.
Alte Hardware bedeutet viel Aufwand
Um die integrierten Grafiklösungen von Intel zu testen, müsste ein ganzes System angeschafft werden, da die GPUs nicht einzeln gekauft werden können. Bei Grafikkarten von Nvidia oder AMD sei das Problem ähnlich gelagert: In aktuellen Mainboards seien keine AGP-Steckplätze vorhanden. Daher könne Code für die veralteten GPUs nur in alten Systemen getestet werden, schlussfolgert Gräßlin. Auf diesen Systemen Code mehrfach zu kompilieren und zu testen, bedeute jedoch erheblichen Zeitaufwand.
"Etwa 5 Prozent unseres Code sind zur Unterstützung alter Hardware gedacht", schätzt Gräßlin. Dieser Code sei darüber hinaus über viele Dateien verstreut und enthalte häufig Ifdef-Anweisungen, um den OpenGL-1-Code "vor dem GL-ES-Backend zu verstecken". Das Fazit Gräßlins ist ernüchternd: "Wir haben die Komplexität und den Wartungsaufwand für Hardware erhöht und haben Code für OpenGL-1-Hardware, den wir nicht wirklich testen können. (...) Außerdem können wir zukünftig davon nichts unterstützen. Weder Wayland noch Qt 5 sind auf solcher Hardware sinnvoll einsetzbar."
KWin bald ohne OpenGL 1?
Die logische Konsequenz wäre Gräßlin zufolge, den OpenGL-1-Code zu entfernen. Wie viel Anwender mit Intel-Grafik das beträfe, sei schwer zu schätzen, schreibt Gräßlin. Das größere Problem gelte jedoch für die Nutzer des proprietären AMD-Treibers Flgrx. Denn dieser beschränkt die OpenGL-Nutzung auf OpenGL 1. Mit dem Ende der Unterstützung dafür würde also auch das OpenGL-Compositing auf der Hardware mit dem proprietären Treiber komplett entfallen - das sei zwar nicht erstrebenswert, aber auch nicht problematisch, da der freie Radeon-Treiber OpenGL 2 unterstütze.
Endgültig will sich Gräßlin erst entscheiden, wenn er die Fähigkeiten von Mesa 8.0 zusammen mit dem Llvmpipe-Treiber unter Debian Testing untersuchen kann. Die nächste Fedora-Version wird bereits Llvmpipe einsetzen, damit jeder Nutzer die Gnome-Shell benutzen kann. Sollte Llvmpipe zufriedenstellend funktionieren, wird Gräßlin den OpenGL-1-Code wohl endgültig entfernen.
Nachtrag vom 27. Februar 2012
In einem Eintrag im inoffiziellem Bugzilla zu AMDs Catalyst unter Linux schreibt ein AMD-Entwickler, dass an einer Lösung gearbeitet werde, die die Verwendung von OpenGL 2 zusammen mit KWin erlauben soll. Bis wann die Funktion implementiert sein soll, ist nicht bekannt. Gräßlin kommentierte unterdessen in seinem Blog, er werde die Unterstützung von OpenGL 1 frühestens in einem Jahr beenden.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
- ohne Werbung
- mit ausgeschaltetem Javascript
- mit RSS-Volltext-Feed
Herausgefunden: Mit diesem Aufruf nutzt man Kwin OpenGL ES 2 Direct Rendering in fglrx...
Es geht hier darum, dass alte Grafikkarten anstatt programmierbare Shader noch fixed...
KDE könnte sich auch einfach mal an AMD wenden um "Partner" zu werden. Dann hast du immer...
Zumal es ja sogar einen Ersatz mit dem Llvmpipe-Treiber geben soll. Apple dagegen...