Ukážkové spustenie prostredia Linux s GNOME na zariadeniach s čipom Apple M1

Iniciatíva implementácie podpory Linuxu pre čip Apple M1, ktorú presadzujú projekty Asahi Linux a Corellium, dospela do bodu, kedy je možné prevádzkovať desktop GNOME v prostredí Linuxu bežiaceho na systéme s čipom Apple M1. Výstup obrazovky je organizovaný pomocou framebufferu a podpora OpenGL je poskytovaná pomocou softvérového rasterizátora LLVMPipe. Ďalším krokom bude umožniť koprocesoru displeja, aby poskytoval výstup v rozlíšení až 4K, pričom ovládače už boli reverzne skonštruované.

Projekt Asahi dosiahol počiatočnú podporu pre komponenty bez GPU M1 SoC v hlavnom linuxovom jadre. V demonštrovanom linuxovom prostredí bolo okrem možností štandardného jadra použitých niekoľko dodatočných záplat súvisiacich s PCIe, pinctrl ovládač pre internú zbernicu a ovládač displeja. Tieto doplnky umožnili poskytnúť výstup na obrazovku a dosiahnuť funkčnosť USB a Ethernet. Grafická akcelerácia sa zatiaľ nepoužíva.

Zaujímavé je, že na spätné inžinierstvo M1 SoC projekt Asahi namiesto pokusu o rozobratie ovládačov macOS implementoval hypervízor, ktorý beží na úrovni medzi macOS a čipom M1 a transparentne zachytáva a zaznamenáva všetky operácie na čipe. Jednou z vlastností SoC M1, ktorá sťažuje implementáciu podpory pre čip v operačných systémoch tretích strán, je pridanie koprocesora do radiča displeja (DCP). Polovica funkcionality ovládača displeja macOS sa prenáša na stranu zadaného koprocesora, ktorý cez špeciálne RPC rozhranie volá hotové funkcie koprocesora.

Nadšenci už analyzovali dostatok volaní tohto rozhrania RPC na použitie koprocesora na výstup na obrazovku, ako aj na ovládanie hardvérového kurzora a vykonávanie operácií skladania a škálovania. Problém je v tom, že rozhranie RPC je závislé od firmvéru a mení sa s každou verziou macOS, takže Asahi Linux plánuje podporovať iba určité verzie firmvéru. V prvom rade bude poskytnutá podpora pre firmvér dodávaný s macOS 12 „Monterey“. Požadovanú verziu firmvéru nie je možné stiahnuť, pretože firmvér iBoot inštaluje vo fáze pred prenosom kontroly do operačného systému a s overením pomocou digitálneho podpisu.

Ukážkové spustenie prostredia Linux s GNOME na zariadeniach s čipom Apple M1
Ukážkové spustenie prostredia Linux s GNOME na zariadeniach s čipom Apple M1


Zdroj: opennet.ru

Pridať komentár