Показан е старта на Linux среда с GNOME на устройства с чип Apple M1

Инициативата за реализиране на поддръжка на чипа Apple M1 в Linux, проектирана от Asahi Linux и Corellium, достигна ниво, при което стартирането на работния плот GNOME в Linux-среда на система с чипа Apple M1 стана възможно. Изходът на екрана е организиран с помощта на framebuffer, а поддръжката на OpenGL е осигурена чрез софтуерния растеризатор LLVMPipe. Следващата стъпка ще бъде активирането на дисплейния сопроцесор за изход с резолюция до 4K, обратното инженерство на драйверите за който вече е проведено.

Проектът Asahi постигна включването на начална поддръжка на компонентите SoC M1, несвързани с GPU, в основния състав на ядрото на Linux. В демонстрираната Linux-среда, освен възможностите на стандартното ядро, са използвани няколко допълнителни патча, свързани с PCIe, драйвера pinctrl за вътрешната шина и дисплейния драйвер. Указаните добавления позволиха осигуряване на изход на екрана и функциониране на USB и Ethernet. Ускорението на графиката все още не се използва.

Интересно е, че за обратното инженерство на SoC M1, проектът Asahi вместо опити за дизасемблиране на драйверите на macOS, реализира хипервизор, който работи на ниво между macOS и чипа M1, прозрачно перехваща и журналира всички операции с чипа. Сред особеностите на SoC M1, които затрудняват реализирането на поддръжка за чипа в различни ОС, се посочва добавянето на сопроцесор в дисплейния контролер (DCP). Половината от функционалността на дисплейния драйвер на macOS е прехвърлена на страната на този сопроцесор, който извиква готови функции чрез специален RPC интерфейс.

Ентусиастите вече разгледаха достатъчно повиквания на този RPC интерфейс, за да активират сопроцесора за изход на екрана, както и за управление на хардуерния курсор и извършване на операции по композиране и мащабиране. Проблемът е, че RPC интерфейсът зависи от фърмуера и се променя с всяка версия на macOS, затова в Asahi Linux се планира поддръжката само на определени версии на фърмуера. Първо ще бъде осигурена поддръжка на фърмуера, доставен с macOS 12 „Monterey“. Невъзможно е да се изтегли необходимата версия на фърмуера, тъй като той се инсталира от iBoot на етапа преди предаването на управлението на операционната система и с верификация чрез цифров подпис.

Показан е старта на Linux среда с GNOME на устройства с чип Apple M1
Показан е старта на Linux среда с GNOME на устройства с чип Apple M1


Източник: opennet.ru
Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри 🔥 Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри | ProHoster