Разработчик на отворения Linux драйвер за GPU Apple AGX, използван в чиповете Apple M1, съобщи за успешно преминаване на 99.3% от тестовете на набора dEQP-GLES2, който проверява нивото на поддръжка на спецификацията OpenGL ES 2. В работата са използвани два компонента: DRM драйвер за ядрото на Linux, написан на Rust, и драйвер за Mesa, написан на C.
Разработката на драйвера е усложнена от факта, че в Apple M1 се използва собствен GPU, проектиран в Apple, който изпълнява затворена фърмуер и използва доста сложни споделени структури от данни. Техническата документация за GPU не е налична и при разработването на независими драйвери се прилага обратно инженерство на драйвери от macOS.
Развиван за Mesa, отвореният драйвер първоначално е тестван в среда macOS, докато не е подготовен необходимият DRM драйвер (Direct Rendering Manager) за ядрото на Linux, който е позволил използването на разработения за Mesa драйвер в Linux. Освен сегашните успехи в преминаването на тестовете dEQP-GLES2, в края на септември Linux драйверът за чиповете Apple M1 достигна ниво, подходящо за работа на сесия GNOME на базата на Wayland и стартиране на играта Neverball и браузъра Firefox с YouTube.
Източник: opennet.ru
