Asahi Linux: OpenGL ES 2.0 на Apple silicon
Asahi accelerated with GPU.png
Проект Asahi Linux смог запустить Xonotic и Quake в разрешении 4K на максимальных настройках графики в сеансе Wayland Gnome/KDE, используя открытые драйвера mesa OpenGL ES 2.0 на чипах M1 и M2 от Apple. Проект продолжает совершенствоваться. Запланированные обновления включают в себя:
- продолжение улучшения поддержки OpenGL 2.0, включая шейдеры;
- работа по полной поддержке Vulkan внутри драйвера;
- упрощение сборки и установки драйверов для пользователей.
Проект Asahi linux уже 2 года работает над обратным инжинирингом GPU и разработкой графических драйверов для ARM-процессоров Apple. Для этого надо было разработать главные компоненты рабочих драйверов для GPU, userspace-драйверы (Mesa/OpenGL stack) и ядерные драйверы для macOS и Linux.
Алиса Розенцвейг (Alyssa Rosenzweig) и Дугалл Джонсон (Dougall Johnson) спустя несколько месяцев работы над проектом смогли разработать полностью открытый userspace-драйвер для macOS, способный отрисовывать glxgears и игру Neverball.
Затем, разработчик LinaAsahi, в апреле этого года взялся за ядерные драйвера, которые в будущем планируется включить в основное ядро Linux. Прототип кода был написан на Python и использовался для изучения всех тонкостей Apple Firmware. Спустя несколько месяцев началась разработка полноценного драйвера на языке C. Но столкнувшись с множеством проблем в управлении памятью, разработчик решил дождаться уже анонсированной реализации Rust в ядре Linux. После переписывания основы на Rust разработка многократно ускорилась.
С объединёнными наработками авторы выступили на XDC 2022 и провели всю конференцию, используя открытое ПО.
>>> Блог проекта Asahi linux с красиво собранной информацией со скриншотами на английском