Lançamento demonstrado do ambiente Linux com GNOME em dispositivos com chip Apple M1

A iniciativa de implementação do suporte Linux ao chip Apple M1, promovida pelos projetos Asahi Linux e Corellium, chegou ao ponto em que é possível rodar o desktop GNOME em um ambiente Linux rodando em um sistema com o chip Apple M1. A saída da tela é organizada usando um framebuffer e o suporte OpenGL é fornecido usando o rasterizador de software LLVMPipe. A próxima etapa será permitir que o coprocessador do monitor produza resolução de até 4K, cujos drivers já foram projetados de forma reversa.

O Projeto Asahi alcançou suporte inicial para componentes não-GPU do SoC M1 no kernel Linux principal. No ambiente Linux demonstrado, além dos recursos do kernel padrão, foram utilizados vários patches adicionais relacionados ao PCIe, ao driver pinctrl para o barramento interno e ao driver de vídeo. Essas adições tornaram possível fornecer saída de tela e obter funcionalidade USB e Ethernet. A aceleração gráfica ainda não é usada.

Curiosamente, para fazer engenharia reversa do SoC M1, o projeto Asahi, em vez de tentar desmontar os drivers do macOS, implementou um hipervisor que roda no nível entre o macOS e o chip M1 e intercepta e registra de forma transparente todas as operações no chip. Uma das características do SoC M1 que dificulta a implementação do suporte ao chip em sistemas operacionais de terceiros é a adição de um coprocessador ao controlador de vídeo (DCP). Metade da funcionalidade do driver de vídeo do macOS é transferida para o coprocessador especificado, que chama as funções prontas do coprocessador por meio de uma interface RPC especial.

Os entusiastas já analisaram chamadas suficientes para esta interface RPC para usar o coprocessador para saída de tela, bem como para controlar o cursor de hardware e realizar operações de composição e dimensionamento. O problema é que a interface RPC depende do firmware e muda com cada versão do macOS, então o Asahi Linux planeja oferecer suporte apenas a determinadas versões de firmware. Em primeiro lugar, será fornecido suporte para o firmware fornecido com o macOS 12 “Monterey”. Não é possível baixar a versão de firmware necessária, pois o firmware é instalado pelo iBoot na fase anterior à transferência do controle para o sistema operacional e com verificação por assinatura digital.

Lançamento demonstrado do ambiente Linux com GNOME em dispositivos com chip Apple M1
Lançamento demonstrado do ambiente Linux com GNOME em dispositivos com chip Apple M1


Fonte: opennet.ru

Adicionar um comentário