Um driver Linux para a GPU Apple AGX, escrito em Rust, é oferecido para análise.

A lista de discussão para desenvolvedores do kernel Linux oferece uma implementação preliminar do driver drm-asahi para as GPUs das séries Apple AGX G13 e G14 usadas nos chips Apple M1 e M2. O driver é escrito na linguagem Rust e inclui adicionalmente um conjunto de ligações universais sobre o subsistema DRM (Direct Rendering Manager), que pode ser usado para desenvolver outros drivers gráficos na linguagem Rust. O conjunto de patches publicado até agora é oferecido apenas para discussão pelos desenvolvedores do kernel (RFC), mas pode ser aceito na composição principal após a conclusão da revisão e eliminação das deficiências identificadas.

Desde dezembro, o driver está incluído no pacote do kernel da distribuição Asahi Linux e vem sendo testado pelos usuários deste projeto. O driver pode ser utilizado em distribuições Linux para organizar o funcionamento do ambiente gráfico em dispositivos Apple com SoC M1, M1 Pro, M1 Max, M1 Ultra e M2. No desenvolvimento do driver, procurou-se não só melhorar a segurança, minimizando erros ao trabalhar com memória no código executado no lado da CPU, mas também fornecer proteção parcial contra problemas que surgem ao interagir com o firmware. Em particular, o driver fornece certas ligações para estruturas de memória compartilhada inseguras com cadeias complexas de ponteiros usados ​​no firmware para interagir com o driver.

O driver proposto é usado em combinação com o driver asahi Mesa, que fornece suporte para OpenGL no espaço do usuário e passa com sucesso nos testes de compatibilidade com OpenGL ES 2 e está quase pronto para suportar OpenGL ES 3.0. Ao mesmo tempo, o driver executado no nível do kernel é inicialmente desenvolvido levando em consideração o suporte futuro para a API Vulkan, e a interface do software para interagir com o espaço do usuário é projetada tendo em vista a UAPI fornecida pelo novo driver Intel Xe.

Fonte: opennet.ru

Adicionar um comentário