Suporte inicial para os chips Apple M2 Pro, Max e Ultra chega ao kernel Linux em patch gigante

Escrito por
Emanuel Negromonte
Emanuel Negromonte é Jornalista, Mestre em Tecnologia da Informação e atualmente cursa a segunda graduação em Engenharia de Software. Com 14 anos de experiência escrevendo sobre...

Patch gigante do Asahi leva suporte inicial aos M2 Pro, Max e Ultra!

O sonho de rodar Linux nos Macs mais recentes com Apple M2 Pro, M2 Max e M2 Ultra está cada vez mais perto da realidade. Uma série massiva de 37 patches propõe os Device Trees e ajustes iniciais necessários para levar esses SoCs ao kernel principal — um passo decisivo para que distros possam suportar oficialmente os Macs de 2023–2024 sem depender de árvores downstream. O trabalho é assinado por Janne Grunau, com contribuições de Hector Martin (marcan), e faz parte do esforço contínuo do Asahi Linux para upstream.

Desvendando os SoCs M2 da Apple no Linux

O que exatamente entra nessa leva? Em termos simples, os patches adicionam descrições de hardware (os Device Tree) para as variantes M2 Pro, M2 Max e M2 Ultra, além de pequenos ajustes em drivers existentes para que o kernel “reconheça” corretamente blocos como IOMMU, NVMe, pinctrl, watchdog, DMA e afins. Para o usuário final, isso significa que muito do que já funciona no Asahi Linux downstream passa a ter caminho de entrada no kernel oficial — reduzindo a fricção na instalação, melhorando a compatibilidade entre distros e facilitando a vida de quem quer usar Linux como sistema principal nos MacBooks e desktops Apple Silicon.

E por que isso importa? Pense no upstream como a estrada asfaltada: enquanto as soluções downstream (dos próprios projetos) mantêm tudo funcionando, é o kernel oficial que garante manutenção de longo prazo, integração com novas funcionalidades e menos patchwork ao atualizar o sistema. No fim, quem ganha é o usuário que busca estabilidade e previsibilidade.

O desafio único do M2 Ultra

Agora, a parte divertida — e complexa. O M2 Ultra é, essencialmente, dois M2 Max “colados” por uma interconexão de altíssima largura de banda. Como fazer o Linux entender esse “cérebro duplo”? A equipe adotou uma solução engenhosa no Device Tree: representar o sistema como se tivesse dois nós “soc” no topo, cada um mapeando um “meio” do chip. Endereços MMIO do segundo die recebem um offset constante via “ranges”, o controlador de interrupções sabe que o sistema é multi-die e macros de pré-processador garantem rótulos únicos de nós e a associação correta de interrupções a cada die. É uma forma elegante de traduzir um design de silício pouco convencional para a linguagem do kernel.

Se você acompanhou o Asahi Linux no M1 Ultra, a ideia soa familiar: lá atrás, para lidar com o primeiro SoC dual-die da Apple, o projeto já havia ajustado bootloader e device trees com o mesmo espírito — o que pavimentou o caminho para o que vemos agora no M2 Ultra.

Linux Apple M2 Pro: impacto prático para quem usa Mac

Para quem está em um MacBook Pro com M2 Pro ou M2 Max, ou em máquinas de mesa com M2 Ultra, a mensagem é clara: a distância entre “funciona no Asahi downstream” e “está no kernel oficial” diminui bastante. Isso beneficia quem prefere instalar uma distro convencional com kernel stock (ou quase) — menos remendos, mais suporte nativo, atualizações mais tranquilas. E abre espaço para que recursos de alto nível (energia, suspend/resume, periféricos) amadureçam no mesmo compasso do kernel principal, em vez de ficarem presos a árvores paralelas.

O caso especial do Mac Pro (M2 Ultra): PCIe ainda não

Nem tudo, porém, entra de uma vez. A série deixa de fora o PCIe do Mac Pro (torre e rack) com M2 Ultra. Motivo? O design dessa máquina é peculiar: a Apple liga os slots a um switch PCIe Microchip Switchtec com até 100 pistas, e parte da inicialização de alguns dispositivos internos depende de sinais de PERST# e controle de energia que, nesse arranjo, não vêm diretamente do controlador PCIe do SoC. Além disso, o driver do switch precisa tratar corretamente a topologia para evitar limitação de velocidade (links caindo para Gen1 durante a prova). Resultado: suporte adiado enquanto os desenvolvedores resolvem essas arestas. A própria Apple documenta que os slots do Mac Pro passam por um switch e recebem 24 pistas Gen4 do M2 Ultra — confirmando a arquitetura diferenciada do desktop profissional.

Quem assina o avanço e onde entra o Asahi Linux

Os nomes por trás dessa entrega — Janne Grunau e Hector Martin (marcan) — são velhos conhecidos do Asahi Linux, projeto comunitário que há anos faz engenharia reversa do Apple Silicon para que o Linux rode como cidadão de primeira classe nesses Macs. Esse upstream é consequência direta desse trabalho de base e da coordenação com mantenedores do kernel para que as peças entrem no lugar certo, do jeito certo, e permaneçam mantidas a longo prazo.

Tradução do “tecniquês” — o que foi preciso mexer

Sem listar tudo (são dezenas de mudanças), o grosso envolve: novos Device Trees específicos dos SoCs e modelos de Mac correspondentes; compatíveis adicionais para blocos como I2C, SPI, pinctrl, watchdog, DMA, NVMe e IOMMU; e pequenas anotações em bindings para refletir diferenças de pinos e GPIO entre gerações. Em outras palavras: uma das maiores e mais complexas adições de suporte a hardware da Apple já propostas para o kernel, feita para “colar” sem traumas na arquitetura que já suporta a família M1.

E agora?

No curto prazo, espere distribuições começarem a habilitar mais recursos de fábrica para Macs com M2 Pro, M2 Max e M2 Ultra à medida que os patches forem revisados e aceitos. No médio prazo, isso reduz o “delta” entre o Asahi e o kernel oficial — e cada atualização sua tende a doer menos. É um daqueles marcos que não aparecem em um changelog de aplicativo, mas mudam a paisagem para quem aposta em Linux no ecossistema Apple.

Compartilhe este artigo