O desenvolvedor do driver Linux de código aberto para o GPU Apple AGX, utilizado nos chips Apple M1, informou ter passado com sucesso 99,3% dos testes do conjunto dEQP-GLES2, que verifica o nível de suporte à especificação OpenGL ES 2. No trabalho foram utilizados dois componentes: o driver DRM para o núcleo Linux, escrito em Rust, e o driver para Mesa, escrito em C.
O desenvolvimento do driver é complicado pelo fato de que o Apple M1 utiliza um GPU projetado pela Apple, que executa firmware proprietário e usa estruturas de dados compartilhadas suficientemente complexas. A documentação técnica do GPU está ausente e, na elaboração de drivers independentes, é empregado o reverse engineering de drivers do macOS.
O driver aberto desenvolvido para o Mesa foi inicialmente testado no ambiente macOS, até que o necessário driver DRM (Direct Rendering Manager) para o núcleo Linux fosse preparado, permitindo o uso do driver desenvolvido para o Mesa no Linux. Além dos atuais sucessos nos testes dEQP-GLES2, no final de setembro, o driver Linux para os chips Apple M1 atingiu um nível adequado para operar a sessão GNOME baseada em Wayland e rodar o jogo Neverball e o navegador Firefox com YouTube.
Fonte: opennet.ru
