Finalmente, uma primeira versão funcional do Linux no Apple M1

Ser capaz de trazer o Linux para o Apple M1 não é pouca coisa, e é por isso que depois de todos esses meses desde que o Apple M1 foi lançado, o Linux ainda não está disponível na nova plataforma da Apple. Isso se deve ao fato de que o SoC da Apple apresenta inúmeras tecnologias novas e proprietárias e, certamente, a empresa de Cupertino não é colaborativa no auxílio ao desenvolvimento de soluções não oficiais .

No entanto, os desenvolvedores conseguiram executar o Linux em um sistema baseado no Apple M1 , que neste ponto pode ser usado para operações básicas. O projeto em questão se chama Asahi Linux e tem como objetivo trazer o Linux para novos dispositivos da Apple.

Linux Apple M1

O trabalho também é possível graças ao fato de a Apple ser a única em manter interfaces de hardware compatíveis entre diferentes gerações de SoCs . Por exemplo, o periférico que cuida da comunicação UART no M1 remonta ao iPhone original . Portanto, é possível escrever e / ou adaptar drivers sem saber exatamente o hardware subjacente. Na verdade, a maneira clássica de escrever drivers para novos SoCs é saber exatamente o hardware com o qual eles precisam trabalhar (por exemplo, o número de registros, portas de comunicação externas, como usar os registros, etc.) e mapear 1- 1 drivers com hardware.

Linux no Apple M1: o que funciona e o que não funciona?

No momento em que escrevo este artigo, os desenvolvedores do Asahi Linux conseguiram fazer com que vários drivers funcionassem em relação a PCIe e USB-C para Linux 5.16. Eles também conseguiram fazer com que outros periféricos SoC funcionassem com drivers relacionados a pinctrl (cuja funcionalidade permite o controle de pino GPIO), driver I2C, gerenciamento de energia do dispositivo, driver NVMe + SART e driver DCP (controle de vídeo).

“Com esses drivers, M1 Macs podem ser usados ​​de forma eficaz como desktops Linux. Embora ainda não haja aceleração de GPU, as CPUs do M1 são tão poderosas que um desktop renderizado por software é realmente mais rápido do que, por exemplo, máquinas Rockchip ARM64 aceleradas por hardware. "

Hector Martin, chefe do projeto

Linux Apple M1

Isso mesmo, infelizmente ainda não há aceleração de hardware , e isso não é um trabalho pequeno. Na verdade, o SoC também integra uma GPU proprietária , da qual não se sabe muito, e provavelmente é baseada no PowerVR. Para fazê-lo funcionar, é necessário, portanto, um grande trabalho de engenharia reversa para a elaboração de novos drivers ou adaptação de drivers existentes que operam em arquiteturas de GPU semelhantes.

Para se ter uma ideia, um trabalho semelhante pode ser encontrado em PCs desktop clássicos com placas de vídeo Nvidia. Este último, de fato, tem uma arquitetura fechada assim como seus drivers. Os drivers nouveau são uma tentativa de código aberto para suportar placas de vídeo Nvidia, mas apesar de todo o esforço de engenharia reversa realizado pela comunidade, eles falham em chegar perto do desempenho e funcionalidade oferecidos pelos drivers oficiais. Felizmente, os drivers oficiais são constantemente atualizados e oferecem desempenho e funcionalidade iguais aos do Windows. É uma pena que não haja tal suporte da Apple.

"Assim que tivermos uma base de kernel estável, começaremos a lançar um instalador 'oficial' que prevemos que terá um uso mais amplo entre os aventureiros"

O artigo Finalmente, uma primeira versão funcional do Linux no Apple M1 vem da Tech CuE | Engenharia de Close-up .