Driver de GPU para Linux no Apple M4
Tecnologia

Driver de GPU para Linux no Apple M4 nasce em um mês e roda Minecraft a 212 fps

Cody Ho e Niklas Sheth reverteram a interface de firmware da GPU AGX com agentes de codificação e chegaram à conformidade OpenGL ES 3.0 num prazo que costuma levar anos.

4 min de leitura
14.507 views
Por Sandoval Almeida
Compartilhar:

Cody Ho e Niklas Sheth divulgaram em 16 de setembro de 2026 um driver de GPU para Linux plenamente compatível com OpenGL ES 3.0 rodando no Mac Mini M4 e no MacBook Neo, construído em cerca de um mês. O prazo é a notícia: projetos equivalentes de engenharia reversa gráfica em silício Apple consumiram anos de trabalho coletivo. O driver já sustenta compositing funcional, WebGL no Chrome e no Firefox, e roda Minecraft a 212 quadros por segundo no Mac Mini M4. Todo o trabalho foi feito em sala limpa declarada e verificável: a dupla afirma não ter examinado nenhum binário da Apple, apenas rastros de hardware capturados por um hypervisor próprio e shaders escritos por eles mesmos. O diferencial de método está no uso intensivo de agentes de codificação para a parte mais ingrata do processo, a reconstrução da interface binária do firmware gráfico. Os experimentos foram publicados em repositórios abertos justamente para que qualquer pessoa possa auditar a procedência do que foi produzido.

A parte difícil não é o hardware, é o firmware

Em silício Apple, o driver de kernel não conversa direto com o hardware. Ele fala com o firmware da GPU, que roda um sistema operacional de tempo real proprietário chamado RTKit, e é essa fronteira que precisa ser decifrada antes de qualquer pixel aparecer. A dificuldade escalou com a geração nova: a interface do A18 Pro tem uma vez e meia mais estruturas que a do M1 e M2, o dobro de ponteiros e um processo de submissão de trabalho bem mais complicado, com um segundo coprocessador RTKit no meio do caminho. A estratégia foi observar o macOS operar, capturar o estado de memória da GPU, reproduzir a operação e depois reconstruí-la do zero em código. Uma captura de trabalho de computação chegou a 336 MB e se mostrou impossível de reproduzir, até que a dupla passou a inicializar a máquina em modo monousuário e capturar um traço mínimo e limpo. Renderizações parciais, que exigem salvar e retomar estado quando o buffer de geometria estoura, foram o ponto mais delicado. O protótipo em Python virou driver Linux completo em Rust em três dias, com o espaço de usuário apoiado no Mesa e um compilador novo traduzindo a representação intermediária para o conjunto de instruções da AGX.

O obstáculo que sobrou é humano

O contraponto histórico é o próprio Asahi Linux, cujo driver para M1 e M2 nasceu de anos de trabalho de Alyssa Rosenzweig e Asahi Lina e continua fora da árvore principal do kernel. A dupla credita esse acervo como base conceitual e usou a interface de usuário e kernel do Asahi sem modificação, o que elimina obstáculo de política no Mesa. O que resta é humano: o código precisa de revisão, refatoração e uma dose de paciência com o ceticismo previsto, já que este é provavelmente o primeiro driver de GPU escrito essencialmente por modelo de linguagem, e vai ser cobrado num padrão mais duro que código humano. A escolha de ferramenta também diz algo sobre o estágio atual: o trabalho pesado de interface de firmware saiu no Codex com GPT-5.6 Sol e depois GPT-6 Astra, enquanto a tentativa inicial de fazer o Claude compilar programas próprios para a GPU travou sem progresso. Durante a engenharia reversa apareceram capacidades do hardware que a própria Apple não expõe no Metal, como anisotropia até 128x contra o teto de 16x do framework oficial e uma soma de 64 bits em instrução única.

Código aberto agora, usuário final depois

O código está público em três frentes: um fork do Mesa com o driver de espaço de usuário, uma ramificação de kernel Linux com o driver em Rust e dois repositórios com a documentação de engenharia reversa da AGX. Nada disso está pronto para usuário final, e os autores dizem isso com todas as letras. O envio para o kernel oficial depende de o driver de M1 e M2 entrar antes, o que ainda não tem data. No roteiro seguinte aparecem Vulkan 1.4, OpenGL 4.6, OpenGL ES 3.2, OpenCL 3.1, Direct3D 12 via Proton e ray tracing. A coordenação do projeto acontece em servidor próprio no Discord, aberto a quem quiser contribuir.

Sandoval Almeida

Sandoval Almeida

Executivo de tecnologia, cientista da computação e especialista em inteligência artificial aplicada a negócios. Com mais de duas décadas de experiência em desenvolvimento de software, segurança da informação e arquitetura de sistemas, atua na criação de plataformas SaaS e soluções de IA voltadas à automação, análise de dados e transformação digital. É fundador de iniciativas tecnológicas nas áreas de IA, healthtech e análise operacional

Receba as Notícias no Seu Email

Cadastre-se gratuitamente e receba nosso resumo diário das principais notícias.

Ao cadastrar, você concorda em receber emails informativos. Você pode cancelar a qualquer momento.