Demonstrirano lansiranje Linux okruženja sa GNOME-om na uređajima sa Apple M1 čipom

Inicijativa za implementaciju Linux podrške za Apple M1 čip, promovisana projektima Asahi Linux i Corellium, dostigla je tačku u kojoj je moguće pokrenuti GNOME desktop u Linux okruženju koje radi na sistemu sa Apple M1 čipom. Izlaz na ekranu je organizovan pomoću framebuffera, a podrška za OpenGL je obezbeđena pomoću LLVMPipe softverskog rasterizatora. Sljedeći korak će biti omogućavanje koprocesora ekrana da emituje do 4K rezolucije, za koje su upravljački programi već napravljeni obrnutim inženjeringom.

Project Asahi je postigao početnu podršku za ne-GPU komponente M1 SoC-a u glavnom Linux kernelu. U demonstriranom Linux okruženju, pored mogućnosti standardnog kernela, korišćeno je nekoliko dodatnih zakrpa vezanih za PCIe, pinctrl drajver za internu magistralu i drajver ekrana. Ovi dodaci su omogućili da se obezbedi izlaz na ekranu i postigne USB i Ethernet funkcionalnost. Grafičko ubrzanje se još ne koristi.

Zanimljivo je da je za obrnuti inženjering M1 SoC-a, Asahi projekat, umjesto da pokuša da rastavi macOS drajvere, implementirao je hipervizor koji radi na nivou između macOS-a i M1 čipa i transparentno presreće i evidentira sve operacije na čipu. Jedna od karakteristika SoC M1 koja otežava implementaciju podrške za čip u operativnim sistemima treće strane je dodavanje koprocesora kontroleru ekrana (DCP). Polovina funkcionalnosti macOS drajvera zaslona prenosi se na stranu navedenog koprocesora, koji poziva gotove funkcije koprocesora preko posebnog RPC sučelja.

Entuzijasti su već analizirali dovoljno poziva ovom RPC interfejsu da koriste koprocesor za izlaz na ekranu, kao i da kontrolišu hardverski kursor i izvode operacije sastavljanja i skaliranja. Problem je u tome što RPC interfejs zavisi od firmvera i menja se sa svakom verzijom macOS-a, tako da Asahi Linux planira da podržava samo određene verzije firmvera. Pre svega, biće obezbeđena podrška za firmver koji se isporučuje sa macOS 12 “Monterey”. Nije moguće preuzeti potrebnu verziju firmvera, jer firmver instalira iBoot u fazi prije prenosa kontrole na operativni sistem i uz verifikaciju pomoću digitalnog potpisa.

Demonstrirano lansiranje Linux okruženja sa GNOME-om na uređajima sa Apple M1 čipom
Demonstrirano lansiranje Linux okruženja sa GNOME-om na uređajima sa Apple M1 čipom


izvor: opennet.ru

Dodajte komentar