Ukázka spuštění linuxového prostředí s GNOME na zařízeních s čipem Apple M1

Iniciativa implementace linuxové podpory pro čip Apple M1, kterou prosazovaly projekty Asahi Linux a Corellium, dospěla do bodu, kdy je možné provozovat desktop GNOME v linuxovém prostředí běžícím na systému s čipem Apple M1. Výstup obrazovky je organizován pomocí framebufferu a podpora OpenGL je poskytována pomocí softwarového rasterizéru LLVMPipe. Dalším krokem bude umožnit koprocesoru displeje poskytovat výstup až do rozlišení 4K, jehož ovladače již byly reverzně navrženy.

Projekt Asahi dosáhl počáteční podpory pro ne-GPU komponenty M1 SoC v hlavním linuxovém jádře. V demonstrovaném linuxovém prostředí bylo kromě schopností standardního jádra použito několik dalších záplat souvisejících s PCIe, ovladačem pinctrl pro interní sběrnici a ovladačem displeje. Tyto doplňky umožnily poskytnout výstup na obrazovku a dosáhnout funkčnosti USB a Ethernet. Grafická akcelerace se zatím nepoužívá.

Zajímavé je, že pro reverzní inženýrství M1 SoC projekt Asahi namísto pokusu o rozebrání ovladačů macOS implementoval hypervizor, který běží na úrovni mezi macOS a čipem M1 a transparentně zachycuje a zaznamenává všechny operace na čipu. Jednou z funkcí SoC M1, která ztěžuje implementaci podpory pro čip v operačních systémech třetích stran, je přidání koprocesoru k řadiči displeje (DCP). Polovina funkčnosti ovladače displeje macOS je přenesena na stranu zadaného koprocesoru, který prostřednictvím speciálního RPC rozhraní volá hotové funkce koprocesoru.

Nadšenci již analyzovali dostatek volání tohoto rozhraní RPC k použití koprocesoru pro výstup na obrazovku, stejně jako k ovládání hardwarového kurzoru a provádění operací skládání a škálování. Problém je v tom, že rozhraní RPC je závislé na firmwaru a mění se s každou verzí macOS, takže Asahi Linux plánuje podporovat pouze určité verze firmwaru. Nejprve bude poskytována podpora pro firmware dodávaný s macOS 12 „Monterey“. Není možné stáhnout požadovanou verzi firmwaru, protože firmware je instalován iBootem ve fázi před přenesením řízení do operačního systému a s ověřením pomocí digitálního podpisu.

Ukázka spuštění linuxového prostředí s GNOME na zařízeních s čipem Apple M1
Ukázka spuštění linuxového prostředí s GNOME na zařízeních s čipem Apple M1


Zdroj: opennet.ru

Přidat komentář