Confira !!
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 proeminente 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. Eu tenho um driver de protótipo escrito em Python (executando no espaço do usuário de um host remoto, uma longa história) e ter uma linguagem de nível superior tem sido muito útil na engenharia reversa da GPU e na prototipagem de ideias diferentes de como o driver deve funcionar.
Percebo que são os primeiros dias do Rust no Linux e este é um desafio ambicioso, mas estou disposto a aprender e o driver levará algum tempo para se estabilizar a ponto de ser upstream de qualquer maneira (em particular o UAPI), então escrevendo isso em Rust parece menos arriscado neste momento do que costumava ser, já que parece que Rust será mesclado nos próximos ciclos do kernel, no máximo.
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 .
Até a próxima !!
Nenhum comentário:
Postar um comentário