Instalei o Asahi no meu M1 no primeiro dia em que foi possível. Anos depois, ver a equipa a escrever firmware do zero para o decoder de vídeo da Apple? Isso não estava no meu plano de jogo.

Se tens um Mac com chip M1, M2, M3 ou mesmo M4, o Asahi Linux é provavelmente a tua melhor hipótese de correr Linux nativo em hardware Apple. Acompanho o projeto desde o início, e este relatório 7.1 está carregado: corrida contra o macOS 27 para manter o boot a funcionar, suporte M3 quase completo, e engenharia reversa que começou no QEMU e acabou com firmware próprio para o decoder de vídeo da Apple.


macOS 27 Partiu o Boot? Sim, Mas Já Está Arranjado

Uma das histórias mais interessantes (e preocupantes) deste relatório é o que aconteceu com o macOS 27 Golden Gate. Quem instalou a beta developer viu o Asahi simplesmente desaparecer do boot picker e do Startup Disk. A opção de boot para Linux evaporou-se.

O problema não era perda de dados: as partições Asahi continuavam no disco. O que mudou foi que a Apple começou a respeitar uma flag de metadata APFS que, até ao macOS 26, tinha sido completamente ignorada pelas ferramentas de boot. A flag indica se um volume é “bootável”, e como o Asahi não a definia, o macOS 27 recusou-se a mostrar a opção.

A chaos_princess (uma das developers do projeto) fez o trabalho de casa: analisou o instalador da Apple, percebeu o que a flag fazia, e criou duas soluções:

  • Uma correção para o instalador Asahi que define a flag automaticamente em novas instalações.
  • Uma ferramenta chamada asahi-fix27, que podes correr a partir do Linux para aplicar a correção manualmente antes de atualizares para o macOS 27.

Se já instalaste a beta do macOS 27 e perdeste o acesso ao Asahi, corre o instalador novamente e escolhe a opção “Fix macOS 27 boot picker compatibility”.


Três Bytes Que Quase Te Desligavam o Computador

O macOS 27 também trouxe atualizações de firmware para o SMC (System Management Controller), incluindo a gestão da bateria. Uma das interfaces do SMC passou de devolver um inteiro de 32 bits para devolver apenas um byte. Isto confundiu o driver de power supply do Asahi, que em certas condições interpretou a bateria como tendo falhado e iniciou um emergency shutdown para proteger o sistema.

Este bug já foi corrigido a partir da versão 7.0.12 do kernel downstream. Mas serve de alerta:

Importante: As developer betas são exatamente isso — betas. As atualizações de firmware global (como as do SMC) são efetivamente permanentes e só podem ser revertidas com um DFU restore completo da máquina. A equipa do Asahi já tem máquinas de sacrifício para testar estas coisas. Não arrisques o teu hardware.


M3: O Suporte Está Quase Lá

Uma das grandes conquistas deste relatório é o estado do suporte para a série M3. A boa notícia é que a Apple não mudou muita coisa desde o M2. Como diz o relatório:

“Fizemos uma aposta de que a Apple evitaria mudanças constantes e disruptivas. Excetuando blocos maiores como a GPU, essa aposta valeu a pena.”

Resultado prático: o suporte para M3 está a crescer rapidamente, maioritariamente graças ao trabalho da Yureka. O que já funciona:

  • Áudio — suporte completo para colunas e jack de auscultadores em máquinas M3, graças ao controlador I2S (inalterado desde o M1) e aos mesmos chips amplificadores que a Apple usa em todos os Apple Silicon.
  • CPU frequency scaling e agendamento big.LITTLE: as tarefas são agora colocadas nos núcleos certos (eficiência vs performance) e os relógios sobem/descem conforme a carga.
  • Sensores SMC: temperatura, voltagem, etc.
  • PCIe, WiFi, Bluetooth, NVMe, teclado, trackpad: tudo a funcionar.

Ainda não há suporte no instalador Asahi para M3, mas o progresso é rápido. Fica de olho.


O Momento “We’re Writing Firmware Now?”

O destaque técnico deste relatório é o trabalho no Apple Video Decoder (AVD).

O AVD é essencialmente um ARM Cortex-M3 que controla hardware de descompressão de vídeo (H.264, H.265, VP9, AV1). A Apple fornece firmware binário para este processador, mas o problema é que esse firmware vem embutido dentro do kext (o driver da Apple), e cada SoC tem uma variante diferente. Manter o instalador Asahi a par destes offsets era logisticamente insustentável.

Então a equipa perguntou-se: “E se escrevêssemos o nosso próprio firmware?”

A resposta é sim. O firmware da Apple não é verificado pelo hardware — o CM3 executa o que lá estiver. Com recurso a engenharia reversa (via QEMU, single-stepping, e anos de trabalho de Jamie, R e Eileen), e mais recentemente com contribuições do novo developer sofus, a equipa conseguiu:

  • Escrever um firmware customizado que instala handlers de interrupção e aplica as configurações (tunables) específicas de cada variante do AVD.
  • Criar um driver V4L2 para o decoder de AVC (H.264) que já consegue descodificar vídeo 10-bit até 4K.

O firmware é propositadamente stateless: todo o parsing dos streams de vídeo e a programação do hardware são feitos pelo kernel e pelo userspace. Isto abre a porta a suporte futuro para VA-API e Vulkan Video.

Ainda falta implementar suporte para VP9, HEVC e AV1, e há quirks de hardware específicos para testar. Mas o caminho está traçado.


m1n1 1.6.0: GPU Init e Preparação para o Futuro

O relatório também anuncia o lançamento do m1n1 1.6.0, o bootloader de baixo nível do projeto. Esta versão é marcante por vários motivos:

  • Requer Rust para compilar o stage 2 (a partir de agora, o parsing da Apple Device Tree e a inicialização da GPU estão em Rust).
  • A inicialização da GPU foi movida para o m1n1, o que simplifica imenso o driver no kernel e remove a necessidade de lidar com números de vírgula flutuante nos bindings da Device Tree.
  • Suporte alargado para M3 (controlador SPMI e inicialização PCIe).
  • UART sobre DebugUSB via kisd, que permite funcionalidades semelhantes ao Central Scrutiniser sem hardware especial.
  • Já há trabalho preparatório para M4 e A18 Pro (MacBook Neo).

O Estado do Projeto e o Que Vem Aí

O Asahi Linux continua a ser um dos projetos de engenharia reversa mais ativos da atualidade. O que começou com o M1 está agora a estender-se a praticamente toda a linha Apple Silicon, e o relatório 7.1 mostra um projeto maduro, com contribuidores novos, processos de qualidade, e uma estratégia clara.

Os próximos passos incluem:

  • Completar o suporte para M3 no instalador.
  • Avançar com VP9, HEVC e AV1 no driver de vídeo.
  • Continuar o trabalho preparatório para M4 e A18 Pro.
  • Submeter o driver da GPU para inclusão no kernel mainline Linux.

Como diz a equipa: “Ainda há caminho pela frente, mas o progresso é rápido.”


O que eu acho disto

Para mim, o que mais conta no Asahi é a consistência. Anos de trabalho, relatório após relatório, sempre a entregar. Se usas Apple Silicon e queres Linux, não há outra opção — e a opção é cada vez melhor.

Se quiseres saber mais ou ajudar o projeto, passa pelos canais OFTC ou Matrix, ou contribui no GitHub.

Comentários (0)

Nenhum comentário ainda. Seja o primeiro!

Deixar comentário