Der Entwickler des offenen Linux-Treibers für die GPU Apple AGX, der in den Apple M1-Chips verwendet wird, berichtete über das erfolgreiche Bestehen von 99,3 % der Tests aus dem dEQP-GLES2-Satz, der das Unterstützungsniveau der OpenGL ES 2-Spezifikation überprüft. Bei der Arbeit wurden zwei Komponenten verwendet: ein DRM-Treiber für den Linux-Kernel, geschrieben in Rust, und ein Mesa-Treiber, geschrieben in C.
Die Entwicklung des Treibers wird dadurch erschwert, dass im Apple M1 eine proprietäre GPU verwendet wird, die von Apple entworfen wurde, eine geschlossene Firmware ausführt und komplexe gemeinsam genutzte Datenstrukturen verwendet. Technische Dokumentationen zur GPU liegen nicht vor, und es wird beim Entwickeln von unabhängigen Treibern Rückwärtsengineering von Treibern aus macOS verwendet.
Der für Mesa entwickelte offene Treiber wurde ursprünglich in einer macOS-Umgebung getestet, bevor der erforderliche DRM-Treiber (Direct Rendering Manager) für den Linux-Kernel vorbereitet wurde, der es ermöglichte, den für Mesa entwickelten Treiber in Linux zu verwenden. 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 und das Starten des Spiels Neverball sowie des Browsers Firefox mit YouTube geeignet ist.
Quelle: opennet.ru
