Демонстрирано стартиране на Linux среда с GNOME на устройства с Apple M1 чип

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

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

Интересното е, че за обратно инженерство на M1 SoC, проектът 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

Добавяне на нов коментар