Un desarrollador de un controlador de Linux de código abierto para la GPU Apple AGX, utilizada en los chips Apple M1, anunció haber completado con éxito el 99.3% de las pruebas del conjunto dEQP-GLES2, que verifica el nivel de soporte de la especificación OpenGL ES 2. En el trabajo se utilizaron dos componentes: un controlador DRM para el kernel de Linux, escrito en Rust, y un controlador para Mesa, escrito en C.
El desarrollo del controlador se complica debido a que el Apple M1 utiliza su propia GPU, diseñada internamente por Apple, que ejecuta firmware cerrado y utiliza estructuras de datos compartidas bastante complejas. La documentación técnica sobre la GPU no está disponible y para el desarrollo de controladores independientes se aplica la ingeniería inversa de controladores de macOS.
El controlador de código abierto desarrollado para Mesa fue inicialmente probado en un entorno macOS, hasta que se preparó el controlador DRM (Direct Rendering Manager) necesario para el kernel de Linux, que permitió el uso del controlador desarrollado para Mesa en Linux. Además de los actuales éxitos en las pruebas dEQP-GLES2, a finales de septiembre el controlador de Linux para los chips Apple M1 alcanzó un nivel adecuado para operar en una sesión de GNOME basada en Wayland y ejecutar el juego Neverball y el navegador Firefox con YouTube.
Fuente: opennet.ru
