Zum Hauptinhalt Zur Navigation

Ozone-GBM: Hardwarebeschleunigung in Chrome auch ohne Fenstersystem

Läuft Chromium im Vollbild wie auf ChromeOS oder dem Chromecast , kann für die Hardwarebeschleunigung auf die Fenstersysteme X11 oder Wayland verzichtet werden. Dafür wird die Ozone-Zwischenschicht benötigt, wie ein Intel-Entwickler erklärt.
/ Sebastian Grüner
3 Kommentare News folgen (öffnet im neuen Fenster)
Dank Ozone-GBM könnte ChromeOS künftig auf X11 verzichten. (Bild: Ozone-Architektur)
Dank Ozone-GBM könnte ChromeOS künftig auf X11 verzichten. Bild: Ozone-Architektur

Auf einem normalen Desktop-System muss die Grafik-Schicht Aura(öffnet im neuen Fenster) von Chromium mit dem Fenster-System interagieren, etwa mit X11. Bisher ist dieses Verhalten jedoch auch dann in Chromium umgesetzt worden, wenn das gesamte Display kontrolliert worden ist, wie bei ChromeOS oder dem Chromecast. Da dies im zweiten Fall aber überhaupt nicht notwendig ist, gibt es nun eine Technik, die die Verwendung der Fenstersysteme unter Linux unnötig macht, wie der Intel-Angestellte Tiago Vignatti(öffnet im neuen Fenster) schreibt.

Dafür wird eine Erweiterung der Ozone-Schicht(öffnet im neuen Fenster) verwendet, die in der Architektur zwischen Aura und dem Kernel sowie KMS(öffnet im neuen Fenster) und DRM(öffnet im neuen Fenster) angesiedelt ist und ursprünglich dazu diente, Chromium auch unter Wayland benutzen zu können. Mit dem Generic Buffer Manager(öffnet im neuen Fenster) (GBM) aus Mesa ist es nun möglich, direkt hardwarebeschleunigte Grafik-Buffer zu allozieren. Bisher sei dies durch hardwarespezifische X11-Treiber geschehen, so Vignatti.

Mit Hilfe von GBM können damit Buffer erzeugt werden sowie ein EGL-Surface, die als Ziel für die Operationen des GL-Rendering dienen. Diese Buffer landen über Kernel-Operationen durch einen sogenannten Page-Flip(öffnet im neuen Fenster) als Bild auf dem Display. Somit sei Ozone-GBM die einzige native Möglichkeit, das Composting reiner Vollbild-Anwendungen von Chromium direkt auf die Kernel-Techniken KMS und DRM zu delegieren. Für die Verwaltung von Eingabeereignisse hat Ozone-GBM eine eigene interne Implementierung des Linux- Evdev-Subsystems(öffnet im neuen Fenster) .

Die Technik erlaubt Chromium somit den kompletten Verzicht auf Fenstersysteme wie X11, Wayland oder auch Directfb, sofern diese nicht gebraucht werden. Zusätzlich dazu gibt es noch Ozone-DRI, die ähnliche Funktionen auf leistungsschwacher Hardware bietet, die zum Beispiel über gar keine GPU verfügen. Details zur Implementierung und den dafür notwendigen Code-Änderungen finden sich im Bugtracker des Chromium-Projekts.


Relevante Themen