Deweloper otwartego sterownika Linux dla GPU Apple AGX, używanego w chipach Apple M1, poinformował o pomyślnym przejściu 99,3% testów z zestawu dEQP-GLES2, sprawdzającego poziom wsparcia dla specyfikacji OpenGL ES 2. W pracy wykorzystano dwa komponenty: sterownik DRM dla jądra Linux, napisany w języku Rust, oraz sterownik dla Mesa, napisany w języku C.
Opracowanie sterownika jest utrudnione przez to, że w Apple M1 zastosowano własny GPU, zaprojektowany w Apple, wykonujący zamknięte oprogramowanie układowe i używający dość skomplikowanych wspólnych struktur danych. Dokumentacja techniczna dotycząca GPU jest niedostępna, a podczas opracowywania niezależnych sterowników stosuje się inżynierię wsteczną sterowników z macOS.
Rozwijany dla Mesa otwarty sterownik początkowo testowany był w środowisku macOS, zanim przygotowano odpowiedni sterownik DRM (Direct Rendering Manager) dla jądra Linux, co pozwoliło na użycie opracowanego dla Mesa sterownika w Linuxie. Oprócz obecnych sukcesów w przechodzeniu testów dEQP-GLES2, pod koniec września sterownik Linux dla chipów Apple M1 osiągnął poziom, który umożliwia działanie sesji GNOME opartej na Waylandzie oraz uruchomienie w nim gry Neverball i przeglądarki Firefox z YouTube.
Źródło: opennet.ru
