Lancio dimostrato dell'ambiente Linux con GNOME su dispositivi con chip Apple M1

L'iniziativa per implementare il supporto Linux per il chip Apple M1, promossa dai progetti Asahi Linux e Corellium, è arrivata al punto in cui è possibile eseguire il desktop GNOME in un ambiente Linux su un sistema con il chip Apple M1. L'output dello schermo è organizzato utilizzando un framebuffer e il supporto OpenGL viene fornito utilizzando il rasterizzatore software LLVMPipe. Il prossimo passo sarà consentire al coprocessore del display di produrre una risoluzione fino a 4K, i cui driver sono già stati sottoposti a reverse engineering.

Il progetto Asahi ha ottenuto il supporto iniziale per i componenti non GPU del SoC M1 nel kernel Linux principale. Nell'ambiente Linux dimostrato, oltre alle funzionalità del kernel standard, sono state utilizzate diverse patch aggiuntive relative a PCIe, al driver pinctrl per il bus interno e al driver del display. Queste aggiunte hanno reso possibile fornire output su schermo e ottenere funzionalità USB ed Ethernet. L'accelerazione grafica non è ancora utilizzata.

È interessante notare che, per decodificare il SoC M1, il progetto Asahi, invece di provare a disassemblare i driver di macOS, ha implementato un hypervisor che funziona a livello tra macOS e il chip M1 e intercetta e registra in modo trasparente tutte le operazioni sul chip. Una delle caratteristiche del SoC M1 che rende difficile l'implementazione del supporto per il chip nei sistemi operativi di terze parti è l'aggiunta di un coprocessore al controller del display (DCP). La metà della funzionalità del driver video di macOS viene trasferita sul lato del coprocessore specificato, che richiama le funzioni già pronte del coprocessore tramite una speciale interfaccia RPC.

Gli appassionati hanno già analizzato un numero sufficiente di chiamate a questa interfaccia RPC per utilizzare il coprocessore per l'output sullo schermo, nonché per controllare il cursore hardware ed eseguire operazioni di compositing e ridimensionamento. Il problema è che l'interfaccia RPC dipende dal firmware e cambia con ogni versione di macOS, quindi Asahi Linux prevede di supportare solo determinate versioni del firmware. Innanzitutto verrà fornito il supporto per il firmware fornito con macOS 12 “Monterey”. Non è possibile scaricare la versione firmware richiesta, poiché il firmware viene installato da iBoot nella fase prima del trasferimento del controllo al sistema operativo e con verifica tramite firma digitale.

Lancio dimostrato dell'ambiente Linux con GNOME su dispositivi con chip Apple M1
Lancio dimostrato dell'ambiente Linux con GNOME su dispositivi con chip Apple M1


Fonte: opennet.ru

Aggiungi un commento