Panfrost: Freier Mali-Treiber unterstützt Gnome auf Bifrost-GPUs

Mit dem Panfrost-Projekt können künftig auch Wayland Compositors betrieben werden. Das schreibt die Initiatorin des Projekts, Alyssa Rosenzweig, im Blog der Linux-Spezialisten von Collabora(öffnet im neuen Fenster) . Erst vor wenigen Wochen hatte Rosenzweig angekündigt, dass sich das Team stärker den Arbeiten an der Bifrost-GPU-Architektur widmen könne. Nun laufen auf dem freien Treiber-Stack also auch Linux-Desktops wie Gnome.
Bisher läuft der Panfrost-Treiber nur auf GPUs der Midgard-Architektur von ARM. Für Bifrost wird dies erweitert. Der Hersteller ARM bietet bislang nur einen proprietären Userspace-Treiber für seine Mali-Grafikchips an. Die Kernel-Technik ist darüber hinaus zwar lizenzkonform zum Linux-Kernel als freie Software verfügbar, allerdings nicht im Hauptzweig des Linux-Kernels integriert.
Für eine Aufnahme in den Hauptzweig muss ein Grafiktreiber über einen freien Userspace-Teil verfügen und die Kernel-Komponenten müssen die üblichen Schnittstellen der DRM-Infrastruktur (Direct Rendering Manager) des Linux-Kernels verwenden, was ARM aber nicht anbietet. Beides versucht die Community mit ihren Arbeiten an Panfrost zu erreichen.
Breiter Support für Bifrost
Der Bifrost-Support des freien Treibers umfasst nun OpenGL ES 2.0 und Teile von OpenGL 2.1. Zusätzlich zu Desktops unterstützt der Treiber auch einfachere 3D-Spiele sowie die Hardware-Beschleunigung in Videoplayern über entsprechende Shader. Getestet wird der Treiber unter anderem mit einer Mali G31, die erstmals vor rund zwei Jahren erschienen ist. Die Bifrost-Architektur selbst ist aber älter.
Für den nun deutlich fortgeschrittenen Bifrost-Support hat das Team seine Implementierung dem Blogpost zufolge deutlich erweitert und dabei auch einige Verbesserungen umgesetzt, die auf Midgard zurück portiert worden sind. Neben grundlegenden Arbeiten wie Änderungen an der Intermediate Representation (IR) im Treiber und Support für FP16 oder Color Masks setzt das Team nun auch auf die sogenannten Performance Counter. Damit lassen sich kritische Fehler in Bezug auf die Leistung finden und beheben.