Pesquisadores do Linux conseguem fazer engenharia reversa dos chips da Apple

pesquisadores-do-linux-conseguem-fazer-engenharia-reversa-dos-chips-da-apple

A Apple lançou seus chips M1 há cerca de dois anos. Agora, um grupo de cientistas da computação Linux conseguiram fazer a engenharia reversa dos chips M1 dos Macs da Apple. A atualização mais recente do kernel do Linux, denominada Linux 6.2, anunciou oficialmente o suporte para os chips M1 Pro, Max e Ultra.

Esse suporte foi possível devido a uma equipe que trabalhou principalmente com doações do Patreon e do GitHub, que assumiu uma das tarefas mais difíceis em software, que é a engenharia reversa, executando essa engenharia nos chips Apple M1.

Engenharia reversa em chips M1 da Apple traz suporte para o Linux

Enquanto concorrentes como Intel e AMD fornecem documentação abrangente sobre como seus chips são projetados, a Apple não o fez para seus chips personalizados. Isso ocorreu principalmente porque os chips M1 não eram vendidos separadamente e sempre vinham junto com MacBooks rodando MacOS.

Linus Torvalds, o criador do Linux liderou os esforços para trazer o Linux para o M1. No final de 2022, relatórios diziam que ele estava usando um MacBook M2 diariamente. Também no passado, Torvalds expressou seus sentimentos em relação aos novos MacBooks durante seu lançamento em 2020, afirmando:

Há muito tempo estou esperando por um laptop ARM que possa executar o Linux. O novo Air seria quase perfeito, exceto pelo sistema operacional. E não tenho tempo para mexer nisso, nem vontade de lutar contra empresas que não querem ajudar.

Parece que o sentimento mudou em algum momento, já que a versão 5.19 do Linux foi lançada do novo MacBook M2 de Linus. Nas notas de lançamento desta versão, Linus revelou que estava rodando Linux em seu Mac M2 com ARM, tudo graças a uma pequena equipe de desenvolvedores de um projeto comunitário chamado Asahi.

pesquisadores-do-linux-conseguem-fazer-engenharia-reversa-dos-chips-da-apple

Além dos esforços de desenvolvimento do driver e da engenharia reversa do chip, o projeto Asahi Linux também tem uma equipe de desenvolvedores dedicados trabalhando nos componentes discretos dos chips da Apple.

Infelizmente, ainda há uma longa lista de recursos que não funcionam no Asahi Linux, principalmente o Neural Engine, a Touch Bar e o Thunderbolt, pois esses produtos exigem engenharia reversa própria para serem decifrados. No entanto, este é um dos melhores esforços da comunidade Linux para trazer o sistema operacional para mais uma linha de produtos.

Transformar dispositivos Apple em servidores domésticos é apenas um dos vários aplicativos que o suporte Linux abre. Quando a Apple inevitavelmente parar de oferecer suporte aos Macs M1 em algum momento no futuro, aqueles com o conhecimento técnico podem dar aos dispositivos ainda capazes uma segunda vida com uma instalação do Linux. Além do mais, os drivers de GPU também permitem que os usuários executem jogos em uma GPU da série M — algo considerado impossível a menos que o jogo tenha sido desenvolvido especificamente para isso.

Entrando no mundo Apple

Embora a portabilidade do Linux para dispositivos ARM tenha sido um trabalho em andamento nos últimos 20 anos, essa parte da comunidade Linux percorreu um longo caminho desde então. No entanto, o lançamento dos chips M1 da Apple apresentou um novo desafio para os mantenedores do kernel do Linux. Embora os chips tenham sido construídos no IP da ARM, que foi bem documentado no Linux, a arquitetura que a Apple construiu em cima dele era amplamente desconhecida.

Para permitir que o kernel do Linux suportasse dispositivos M1, os pesquisadores da Asahi primeiro precisavam saber como o sistema operacional interagia com os componentes discretos do processador M1. Uma das partes mais importantes do processo de desenvolvimento foi a criação de um hipervisor denominado m1n1, que permitiu aos pesquisadores vasculhar um software próximo ao ‘bare-metal’ do M1, permitindo-lhes mapear o processador. Os passos seguintes foram demorados e cheios de desafio, mas com uma excelente equipe, conseguiu-se fazer a engenharia reversa do chip.

Os programadores conseguiram preservar a prodigiosa duração da bateria do Mac M1, com testes revelando que seu driver poderia rodar um jogo 3D em 1080p por mais de oito horas. Trazer o Linux para o Mac, como acontece com qualquer outra atualização baseada em Linux, foi um esforço de equipe de um grupo de pessoas, incluindo, entre outros, Alyssa Rosenzwig, Ella Stanforth, Dougall Johnson, Asahi Lina, Sven Peter, Mark Kittens e Heitor Martins. Para um seleto grupo de pessoas, esses nomes serão imortalizados como aqueles que derrubaram grande parte do jardim murado da Apple.