Linux-драйвер для GPU чипов Apple M1 прошёл 99% тестов совместимости с OpenGL ES 2

Разработчик открытого Linux-драйвера для GPU Apple AGX, используемого в чипах Apple M1, сообщил об успешном прохождении 99.3% тестов из набора dEQP-GLES2, проверяющего уровень поддержки спецификации OpenGL ES 2. В работе использованы два компонента: DRM-драйвер для ядра Linux, написанный на языке Rust, и драйвер для Mesa, написанный на языке Си.

Разработка драйвер усложнена тем, что в 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