Der Entwickler des offenen Linux-Treibers für den Apple AGX GPU, der in den Apple M1 Chips verwendet wird, berichtete über das erfolgreiche Bestehen von 99,3 % der Tests aus dem dEQP-GLES2-Testset, das die Unterstützung der OpenGL ES 2-Spezifikation prüft. Bei der Arbeit kamen zwei Komponenten zum Einsatz: ein DRM-Treiber für den Linux-Kernel, der in Rust geschrieben wurde, und ein Treiber für Mesa, der in C geschrieben ist.
Die Entwicklung des Treibers wird dadurch erschwert, dass im Apple M1 eine hauseigene GPU zum Einsatz kommt, die bei Apple entworfen wurde, geschlossene Firmware verwendet und komplexe gemeinsam genutzte Datenstrukturen nutzt. Technische Dokumentationen für die GPU liegen nicht vor, und bei der Entwicklung unabhängiger Treiber wird das Reverse Engineering der Treiber aus macOS angewendet.
Der für Mesa entwickelte offene Treiber wurde ursprünglich in einer macOS-Umgebung getestet, bis der erforderliche DRM-Treiber (Direct Rendering Manager) für den Linux-Kernel bereitgestellt wurde, der die Verwendung des für Mesa entwickelten Treibers in Linux ermöglichte. Neben den aktuellen Erfolgen bei den dEQP-GLES2-Tests erreichte der Linux-Treiber für die Apple M1 Chips Ende September ein Niveau, das für die Ausführung einer GNOME-Sitzung auf Basis von Wayland geeignet war und die Ausführung des Spiels Neverball sowie des Browsers Firefox mit YouTube ermöglichte.
Quelle: opennet.ru
