Panfrost: Freier Linux-GPU-Treiber läuft auf modernen Mali-GPUs
Ein Team um die Entwicklerin Alyssa Rosenzweig erstellt mit Panfrost einen freien Linux-Treiber für moderne ARM-Mali-GPUs. Er unterstützt nun 3D-Rendering auf den Mali-Midgard-Chips T760 und T860. Der Treiber für die aktuelle Bifrost-Architektur macht ebenfalls große Fortschritte.

Seit mehr als einem Jahr entsteht per Reverse-Engineering ein freier Linux-Grafiktreiber für die Midgard genannte Architektur-Generation von ARMs Mali-GPUs. Entwickelt wird der Treiber, der inzwischen Panfrost heißt, von Alyssa Rosenzweig mit Unterstützung aus der Community. Nach Arbeiten an dem Treiber für die Mali T760 und damit an der dritten Generation der Midgard-Architektur ermöglicht der Panfrost-Treiber nun auch ein 3D-Rendering auf der Mali T860 und damit der vierten Generation der Midgard-Architektur, wie Rosenzweig in ihrem Blog schreibt.
Grundlage der Arbeiten an dem neuen Panfrost-Treiber waren zunächst die Unterstützung für die ARM-SoC RK3288 und RK3399 von Rockchip in Chromebooks und damit auch in dem Firmware-Projekt Coreboot beziehungsweise Libreboot. Zum Erstellen des Panfrost-Treibers für die T860 dient Rosenzweig inzwischen ein Entwicklerboard mit dem RK3399-SoC von Pine 64.
Sowohl die SoC als auch die GPUs unterscheiden sich in einigen Details, so dass ein Port des Panfrost-Treibers auf die neue Architektur-Generation nicht ohne weitere umgesetzt werden konnte. Allerdings gibt es keine signifikanten Unterschiede bei den Shader-Einheiten. Inzwischen soll der Treiber auf Basis des Gallium-3D-Teils der Grafikbibliothek Mesa für beide GPU-Generationen auf einem ungefähr gleichen Stand sein und unterstützt damit fundamentales 3D-Rendering ohne proprietäre Bestandteile.
Arbeit auch an aktueller Mali-Generation
Zusätzlich zu Midgard arbeitet das kleine Entwicklerteam außerdem an einer Unterstützung für die aktuelle Bifrost-Architektur der Mali-GPUs. Hier ist das Team zwar noch nicht ganz so weit gekommen, das Verständnis des Teams für Bifrost nähert sich aber bereits dem Verständnis für die Midgard-Architektur. Was hier noch fehlt, sind ein Bifrost-Compiler sowie die Umsetzung des sogenannten Command-Streams im Panfrost-Treiber.
Frühere Arbeiten an einem freien Linux-Treiber für Mali-GPUs im Lima-Projekt beschränkten sich auf die Unterstützung der älteren Utgard-Architektur. Dieses Projekt ist im vergangenen Jahr durch einen Entwickler wiederbelebt worden.
Dass die Community überhaupt per Reverse-Engineering mühsam daran arbeiten muss, Treiber für die Mali-GPUs zu erstellen, liegt an Hersteller ARM. Dieser veröffentlicht zwar einen freien Kernel-Treiber, jedoch nur einen proprietären Userspace-Treiber für seine Grafikchips. Darüber hinaus ist die Technik deshalb auch nicht in den sogenannten Mainline-Zweig des Linux-Kernel integriert.
Übliche Linux-Distributionen können die Hardware so nicht ohne weitere unterstützen und an ihre Nutzer ausliefern. Für Distributoren, die die Hardware dennoch unterstützen, bedeutet das außerdem erheblichen Mehraufwand und auch einige Probleme zum Beispiel bei Updates. Bereits vor fünf Jahren ist Hersteller ARM für dieses Vorgehen von dem damaligen Lima-Treiber-Entwickler Luc Verhaegen öffentlich kritisiert worden. Viel geändert hat sich seitdem jedoch nicht.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
- ohne Werbung
- mit ausgeschaltetem Javascript
- mit RSS-Volltext-Feed
Wieso? 1. Es gibt Windows für AArch64 Windows 10 für ARM ist das mit Abstand am...