diolinux gpu no apple silicon
Notícias

Asahi Linux  e os avanços no suporte a GPU no Apple Silicon

Presentes nos novos Macs, os chips Apple Silicon, entregam processamento de alto nível consumindo pouca energia, baseados na arquitetura ARM, eles contam com uma placa gráfica de alto desempenho. Sua estreia foi com o Macbook Pro M1 no final de 2020.

Smartphones e tablets são bons exemplos de dispositivos que possuem processadores com a arquitetura ARM, a arquitetura vem ganhando cada vez mais espaço no mercado de tecnologia.

O que é o Asahi Linux?

O projeto Asahi trabalha para que o kernel Linux rode em dispositivos da Apple que utilizam a arquitetura ARM, um de seus principais desenvolvedores, Hector Martin, é conhecido por conseguir portar o Linux para o PS4 utilizando engenharia reversa. Ele busca entregar uma experiência completa aos usuários, para uso em trabalho, desenvolvimento ou tarefas do cotidiano, permitindo utilizar todos os recursos nativos do dispositivo.

diolinux-gpu-no-apple-silicon-site-asahi
Site do projeto Asahi Linux.

Melhorias no código da GPU no Apple Silicon

Por possuir especificações fechadas, adicionar suporte a todos os recursos da GPU do Apple Silicon se torna um grande desafio para o projeto. Desde os primeiros testes desenhando triângulos e objetos poligonais, o desenvolvimento do driver de código livre para a GPU no Apple Silicon tem apresentado vários avanços.

Toda a engenharia reversa foi feita através do driver “Metal” da própria Apple, ou seja a cada novo teste que o desenvolvedor fazia, ele entendia melhor o funcionamento da GPU e fazia melhorias no seu driver.  O seu desenvolvedor Hector Martin, falou um pouco sobre esse processo:

“To implement the modern OpenGL features, we rely on reverse-engineering the behaviour of Apple’s Metal driver, as we don’t have hardware documentation. Although Metal uses the same shader pipeline as OpenGL, it doesn’t support all the OpenGL features that the hardware does, which puts us in bind.”

Hector Martin

Em uma tradução livre:

“Para implementar os recursos modernos do OpenGL, contamos com a engenharia reversa do comportamento do driver Metal da Apple, pois não temos documentação de hardware. Embora o driver Metal use o mesmo pipeline de shader que o OpenGl, ele não suporta todos os recursos do OpenGL disponíveis no hardware, sendo esse um limite.”

Hector Martin

A interação com o OpenGL, uma API gráfica de código livre, com o Gallium, uma estrutura de driver do mesa, também tiveram sucesso, podendo rodar testes mais pesados de renderização 3D. No final de 2020 a arquitetura de placa gráfica AGX, foi lançada e ela foi inicialmente projetada para o Iphone. 

Os testes estavam funcionando bem com elementos simples, porém, falhavam ao tentar renderizar elementos com uma geometria mais complexa.

diolinux-gpu-no-apple-silicon-render-coelho
A direita, render 3D do Coelho com falhas renderizado, a direita, render 3D do coelho com pequenos artefatos nas patas, ambos feitos utilizando o sombreamento “Phong” com a GPU no Apple Silicon.
diolinux-gpu-no-apple-silicon-render-final
Render final do coelho com sombreamento “Phong”, usando a GPU no Apple Silicon.

Em agosto de 2022, o driver já conseguia rodar alguns jogos como o Neverball. O desenvolvedor do projeto afirma que ainda há muito trabalho a ser feito.A usuária do Twitter Asahi Lina, vem trabalhando no desenvolvimento de um driver de kernel Linux, nas suas redes sociais ela tem anunciado diversos avanços do projeto.

diolinux-gpu-no-apple-silicon-neverball
Neverball rodando com o driver open source com a GPU no Apple Silicon.

Apesar de bons resultados, ainda vai levar algum tempo para que jogos mais completos rodem de forma fluida com o driver open source para a GPU no Apple Silicon. Parte dessa demora é justamente por todo o  processo de desenvolvimento ser feito com engenharia reversa.

Procurando um podcast sobre Linux e tecnologia? Então ouça o Diocast, o nosso podcast está disponível nas principais plataformas de streaming, caso queira você pode ouvir diretamente pelo nosso site.

Até a próxima!

Diolinux Ofertas - Aproveite os melhores descontos em diversos produtos!