Quando se trata do suporte ao Apple M1 e M2 no Linux, um dos maiores obstáculos para o uso diário adequado para usuários finais é a atual falta de aceleração de GPU. A engenharia reversa está acontecendo para o processador gráfico Apple Silicon, os primeiros experimentos sendo realizados no ambiente m1n1 do macOS e Asahi, e o próximo passo será começar a escrever um driver de kernel Direct Rendering Manager (DRM). Para alguma surpresa, a viabilidade de escrever este driver de GPU do kernel DRM na linguagem de programação Rust está sendo explorada.
O grande colaborador do Asahi Linux, Asahi Lina, expressou a possibilidade de escrever seu novo driver de GPU do kernel para o Apple AGX dentro da linguagem de programação Rust.
Asahi Lina explicou hoje na lista de discussão:
Essas GPUs executam firmware e têm estruturas de dados de memória compartilhada bastante complexas que precisam ser gerenciadas pelo host, então tenho me inclinado para o Rust por sua segurança, melhor metaprogramação e expressividade geral. Ter uma linguagem de nível pode ser muito útil na engenharia reversa da GPU e na prototipagem de ideias diferentes de como o driver deve funcionar.
São os primeiros dias do Rust no Linux e este é um desafio ambicioso. Além disso, o driver levará algum tempo para se estabilizar a ponto de ser upstream. Então escrevendo isso em Rust parece menos arriscado neste momento do que costumava ser, dado que parece que Rust será mesclado nos próximos ciclos do kernel, no máximo.
Asahi Linux pode continuar escrevendo o driver Apple Silicon GPU em Rust
Este seria o primeiro driver de GPU do kernel escrito na linguagem de programação Rust. Dado que o código do driver real ainda não foi escrito para o driver Rust, resta saber se o driver inteiro seria implementado no Rust ou apenas as partes interagindo com o firmware binário.
Mais brainstorming sobre este driver de kernel Linux da Apple GPU potencialmente escrito na linguagem de programação Rust pode ser encontrado na lista de discussão rust-for-linux.
Caso você tenha perdido minha análise no início desta semana, confira meus benchmarks iniciais do Apple M2 Linux.
Então, confira as medidas adotadas em relação ao Asahi Linux. O último kernel estável, por exemplo, foi anunciado por Linus Torvalds de um computador rodando esse sistema e seus recursos mais atualizados. O Asahi Linux é um projeto e uma comunidade com o objetivo de portar o Linux para Apple Silicon Macs, começando com o 2020 M1 Mac Mini, MacBook Air e MacBook Pro.