Zaprezentowano uruchomienie środowiska Linux z GNOME na urządzeniach z chipem Apple M1

Inicjatywa wdrażania wsparcia dla chipu Apple M1 w systemie Linux, promowana przez projekty Asahi Linux i Corellium, osiągnęła poziom, na którym możliwe stało się uruchomienie środowiska GNOME w systemie Linux działającym na systemie z chipem Apple M1. Wyjście na ekran zostało zorganizowane za pomocą framebuffer, a wsparcie OpenGL zapewniono przez programowy rastrekator LLVMPipe. Następnym krokiem będzie zaangażowanie procesora pomocniczego do wyjścia o rozdzielczości do 4K, dla którego już przeprowadzono inżynierię wsteczną sterowników.

Projekt Asahi uzyskał włączenie do głównej gałęzi jądra Linux podstawowego wsparcia dla komponentów SoC M1, niezwiązanych z GPU. W zaprezentowanym środowisku Linux oprócz możliwości standardowego jądra wykorzystano kilka dodatkowych łat, związanych z PCIe, sterownikiem pinctrl dla wewnętrznej szyny i sterownikiem wyświetlacza. Wskazane dodatki umożliwiły wyjście na ekran oraz zapewniły działanie USB i Ethernet. Przyspieszenie grafiki na razie nie jest wykorzystywane.

Interesujące jest to, że dla inżynierii wstecznej SoC M1 projekt Asahi zamiast prób desasemblacji sterowników macOS wdrożył hipernadzorcę, działającego na poziomie między macOS a chipem M1, który w trybie przezroczystym przechwytuje i rejestruje wszystkie operacje związane z chipem. Wśród cech SoC M1, które utrudniają realizację wsparcia chipu w zewnętrznych systemach operacyjnych, wymienia się dodanie procesora pomocniczego do kontrolera wyświetlacza (DCP). Na stronę tego procesora przeniesiono połowę funkcjonalności sterownika wyświetlacza macOS, który wywołuje gotowe funkcje procesora pomocniczego przez specjalny interfejs RPC.

Entuzjaści już rozebrali wystarczającą liczbę wywołań tego interfejsu RPC, aby wykorzystać procesor pomocniczy do wyjścia na ekran, a także do zarządzania sprzętowym wskaźnikiem oraz wykonywania operacji kompozycji i skalowania. Problem polega na tym, że interfejs RPC jest zależny od oprogramowania układowego i zmienia się w każdej wersji macOS, dlatego w Asahi Linux planowane jest wprowadzenie wsparcia tylko dla określonych wersji oprogramowania układowego. W pierwszej kolejności zapewniona zostanie obsługa oprogramowania układowego dostarczanego w macOS 12 „Monterey”. Nie jest możliwe pobranie potrzebnej wersji oprogramowania układowego, ponieważ oprogramowanie układowe instalowane jest przez iBoot na etapie przed przekazaniem kontroli systemowi operacyjnemu, z weryfikacją za pomocą podpisu cyfrowego.

Zaprezentowano uruchomienie środowiska Linux z GNOME na urządzeniach z chipem Apple M1
Zaprezentowano uruchomienie środowiska Linux z GNOME na urządzeniach z chipem Apple M1


Źródło: opennet.ru
Kup niezawodny hosting stron z ochroną DDoS, serwery VPS VDS 🔥 Kup niezawodny hosting stron z ochroną DDoS, serwery VPS VDS - ProHoster