Lansarea demonstrată a mediului Linux cu GNOME pe dispozitive cu cip Apple M1

Inițiativa de implementare a suportului Linux pentru cipul Apple M1, promovată de proiectele Asahi Linux și Corellium, a atins punctul în care este posibilă rularea desktopului GNOME într-un mediu Linux care rulează pe un sistem cu cipul Apple M1. Ieșirea ecranului este organizată folosind un framebuffer, iar suportul OpenGL este oferit folosind rasterizatorul software LLVMPipe. Următorul pas va fi acela de a permite coprocesorului de afișare să producă o rezoluție de până la 4K, driverele pentru care au fost deja proiectate invers.

Proiectul Asahi a obținut suport inițial pentru componentele non-GPU ale SoC M1 în kernel-ul principal Linux. În mediul Linux demonstrat, pe lângă capacitățile nucleului standard, au fost folosite câteva corecții suplimentare legate de PCIe, driverul pinctrl pentru magistrala internă și driverul de afișare. Aceste adăugiri au făcut posibilă furnizarea de ieșire a ecranului și realizarea funcționalității USB și Ethernet. Accelerația grafică nu este încă utilizată.

Interesant este că pentru a face ingineria inversă a SoC-ului M1, proiectul Asahi, în loc să încerce să demonteze driverele macOS, a implementat un hypervisor care rulează la nivelul dintre macOS și cipul M1 și interceptează și înregistrează în mod transparent toate operațiunile de pe cip. Una dintre caracteristicile SoC M1 care face dificilă implementarea suportului pentru cip în sistemele de operare terțe este adăugarea unui coprocesor la controlerul de afișare (DCP). Jumătate din funcționalitatea driverului de afișare macOS este transferată pe partea coprocesorului specificat, care apelează funcțiile gata făcute ale coprocesorului printr-o interfață specială RPC.

Entuziaștii au analizat deja suficiente apeluri către această interfață RPC pentru a utiliza coprocesorul pentru ieșirea ecranului, precum și pentru a controla cursorul hardware și a efectua operațiuni de compunere și scalare. Problema este că interfața RPC este dependentă de firmware și se modifică cu fiecare versiune de macOS, așa că Asahi Linux plănuiește să accepte doar anumite versiuni de firmware. În primul rând, va fi furnizat suport pentru firmware-ul livrat cu macOS 12 „Monterey”. Nu este posibil să descărcați versiunea de firmware necesară, deoarece firmware-ul este instalat de iBoot în etapa înainte de transferul controlului către sistemul de operare și cu verificarea folosind o semnătură digitală.

Lansarea demonstrată a mediului Linux cu GNOME pe dispozitive cu cip Apple M1
Lansarea demonstrată a mediului Linux cu GNOME pe dispozitive cu cip Apple M1


Sursa: opennet.ru

Adauga un comentariu