
Lá em janeiro, tivemos nosso primeiro vislumbre do M1 executando Desktop Linux graças à equipe do Corellium. Embora isso tenha sido uma grande conquista, ele teve muitas desvantagens, como nenhum acesso ao armazenamento interno e nenhum driver GPU.
Agora, Asahi Linux acaba de chegar a um grande marco em termos de obter o M1 utilizável como um computador Linux de desktop: uma área de trabalho GNOME funcionando. Ao contrário da realização anterior do Correllium, este avanço utiliza um novo driver GPU e duplo buffer.
Leia para saber mais sobre o que isso significa e como ele afeta o status do Linux no M1.
GNOME no M1

Alyssa Rosenweig, que vem trabalhando em engenharia reversa a GPU da M1 por mais de 7 meses, registrou recentemente um tweet mostrando o GNOME Desktop em execução no hardware M1 "Bare-metal".
Unable to render tweet. (Click to view on Twitter.)
- 453: You currently have access to a subset of Twitter API v2 endpoints and limited v1.1 endpoints (e.g. media post, oauth) only. If you need access to this endpoint, you may need a different access level. You can learn more here: https://developer.twitter.com/en/portal/product
Na captura de tela anexada no Tweet, ela revelou que ela está usando Debian 11 com o GNOME 3.38.4 e uma versão de pré-lançamento do Linux 5.14. Mais tarde, ela passou a dizer que isso estava funcionando no kernel principal, com apenas três modificações. Estas foram:
- Patches do controlador de PIN (Corélio e Joey Gouly)
- Patches PCIe (Marc Zyngier e Mark Kettenis)
- Trabalho em progresso do driver de vídeo (ela mesma)
Honestamente, estou bastante surpreso que isso esteja correndo com tão poucas modificações, especialmente ao considerar a natureza fechada do M1. Realmente é incrível.
Como isso é diferente da demonstração de janeiro
De volta em janeiro, Corellium mostrou o Ubuntu funcionando no M1. Ao contrário da demonstração, a implementação da Asahi usa o buffer duplo, onde o display usa framebuffers diferentes e off-screen.
Em uma entrevista com The Review, ela disse: "As demos mais antigas dependem do bootloader da Apple que alocam um framebuffer e configuram o hardware de exibição para usá-lo. Esta configuração de 'buffer único' é propensa a artefatos gráficos como tearing"
Mais tarde, ela passou a dizer: "Tearing é reduzido com 'double buffering', onde o driver de exibição aloca os quadros separados na tela e fora da tela. O buffer na tela é exibido enquanto o buffer off-screen é renderizado. Cada quadro, as funções são trocadas, apresentando o quadro renderizado instantaneamente. "
O resultado de todo esse buffer duplo é uma experiência muito mais suave, com muito menos artefatos em comparação com a demonstração de janeiro. Isto é bastante incrível quando você considera que a Apple guarda os framebuffers atrás de um IOMMU proprietário (Unidade de Gerenciamento de Memória de Saída e Entrada), para a qual um driver foi escrito e mesclado no kernel principal por Sven Pedro, outro membro da Asahi.
No geral, este progresso é absolutamente incrível e realmente mostra a dedicação e habilidade da equipe Asahi. Entre o novo IOMMU e drivers de vídeo, parece que Asahi Linux estará pronto para o consumidor final. Agora só temos que esperar para ver como o M1X afetará este projeto...
Última atualização deste artigo: 28 de august de 2021