Gnome-Shell bald ohne 3D-Grafiktreiber nutzbar
Mit Hilfe des Mesa-Treibers Llvmpipe soll die Gnome-Shell bei Fedora 17 auch auf Systemen arbeiten, deren Grafiktreiber keine 3D-Untersüttzung bietet.
Der für Red Hat hauptsächlich an Fedora und X.org arbeitende Entwickler Adam Jackson hat Änderungen an verschiedenen Bausteinen des Fedora-Entwicklerzweigs vorgenommen, durch den die mit Grafikeffekten arbeitende Gnome-Shell dort auch arbeitet, wenn der Grafiktreiber keine 3D-Untersützung bietet. Beim im Mai nächsten Jahres erwarten Fedora 17 soll sich dadurch die Schaltzentrale der dritten Gnome-Generation beispielsweise auch in virtuellen Maschinen oder mit dem VESA-Grafiktreibern nutzen lassen.
Das Ganze gelingt durch den zu Mesa 3D gehörenden Treiber Llvmpipe, der die normalerweise von den Grafiktreibern an den Grafikprozessor weitergereichten Berechnungen dem Hauptprozessor aufträgt. Für 3D-lastige Software wie die vieler Spiele ist das trotz Verteilen der Arbeit auf mehrere Threads und dem Verwenden von CPU-Befehlssatzerweiterungen wie SSE2 zu langsam. Die Gnome-Shell nutzt Grafikeffekte aber deutlich weniger; auf vielen Rechnern oder in mit KVM virtualisierten Systemen soll die Performance von Llvmpipe daher für flüssige Arbeit mit der Gnome-Shell ausreichen, obwohl Adam Jackson die verschiedenen involvierten Techniken (Kernel, Mesa 3D, X.org, Gnome) bislang noch nicht auf Performance optimiert hat.
Eine noch unvollständige Feature-Seite für Fedora 17 erläutert einige Hintergründe und Ziele des Ansatzes. Möglicherweise kann diese Funktion den an Gnome 2 erinnernden Fallback-Modus ersetzt, den Gnome 3 heute aufruft, wenn der jeweilige Grafiktreiber keine Beschleunigungsfunktionen bietet; darüber soll aber erst in Zukunft entschieden werden. Theoretisch sollte das Ganze auch mit anderen Desktop-Oberflächen funktionieren, die sich die Beschleunigungsfunktionen moderner Grafikchips zu nutze machen; darauf gehen die Fedora-Entwickler aber nicht weiter ein. Jackson weist allerdings explizit darauf hin, dass der aktuelle Code vermutlich noch viele Fehler habe. (thl)