Lo sviluppatore del driver open source Linux per la GPU Apple AGX, utilizzata nei chip Apple M1, ha riportato un successo del 99.3% nei test del set dEQP-GLES2, che verifica il livello di supporto delle specifiche OpenGL ES 2. Nel lavoro sono stati utilizzati due componenti: un driver DRM per il kernel Linux, scritto in Rust, e un driver per Mesa, scritto in C.
Lo sviluppo del driver è complicato dal fatto che l'Apple M1 utilizza una GPU proprietaria progettata in Apple, che esegue un firmware chiuso e utilizza strutture dati condivise piuttosto complesse. La documentazione tecnica sulla GPU è assente e nello sviluppo di driver indipendenti viene utilizzato il reverse engineering dei driver di macOS.
Il driver open source sviluppato per Mesa è stato inizialmente testato in ambiente macOS, fino alla preparazione del necessario driver DRM (Direct Rendering Manager) per il kernel Linux, che ha reso possibile l’utilizzo del driver sviluppato per Mesa su Linux. Oltre agli attuali successi superando i test dEQP-GLES2, alla fine di settembre il driver Linux per i chip Apple M1 ha raggiunto un livello adatto per far funzionare una sessione GNOME basata su Wayland e per avviare il gioco Neverball e il browser Firefox con YouTube.
Fonte: opennet.ru
