категории | RSS

Asahi выпустил первый совместимый с OpenGL ES 3.1 драйвер для Apple M1/M2

Проект Asahi по внедрению Linux в Apple Silicon добавил первый драйвер графического процессора для семейства чипов. Драйвер AGX Gallium3D теперь формально совместим с OpenGL ES 3.1.

Проект Asahi Linux для Mac впервые объявил о планах по выпуску специального драйвера графического процессора для Apple Silicon под управлением Linux ещё в 2022 году. Тогда же был проведён реверс-инжиниринг прототипа, который был «достаточно хорош для запуска реальных графических приложений и тестов».

После этого потребовались тысячи тестов, чтобы убедиться, что драйвер стабилен. Затем он прошёл 30-дневный период проверки, контролируемый органом по стандартизации Khronos. Проблем обнаружено не было.

Теперь драйверы доступны для процессоров M1, M1 Pro, M1 Max, M1 Ultra, а также чипов M2, M2 Pro, M2 Max и M2 Ultra. 

OpenGL ES 3.1 позволяет приложениям записывать данные в конкретное изображение, отображаемое на экране, что позволяет алгоритмам выполнять гибкую обработку. Также в ES 3.1 добавлены вычислительные шейдеры, обычно используемые для ускорения общих вычислений в графических приложениях. Например, 3D-игра может запускать физическое моделирование в вычислительном шейдере. Результаты моделирования затем можно использовать для рендеринга, устраняя задержки. Это позволяет игре работать быстрее.

Как отмечают в проекте Asahi, собственные драйверы Apple для Apple Silicon не соответствуют ни одному стандартному графическому API. В этом случае нет гарантии, что любое приложение, использующее доступные стандарты, такие как OpenGL ES, OpenGL или Vulkan, будет работать на компьютере с процессором M1 или M2.

Разработчики приводят реальный сценарий: «Сторонний MoltenVK накладывает подмножество Vulkan поверх проприетарных драйверов. Однако этим драйверам не хватает ключевой функциональности, что нарушает работоспособность приложений Vulkan».

Пользователи Asahi Linux на версиях Arch Linux или Fedora Linux могут обновить свои системы, чтобы получить соответствующую поддержку. Код AGX Gallium3D находится в исходной версии в Mesa, но драйвер ядра Apple DRM, написанный на Rust, продолжает работать вне дерева. Вероятно, пройдёт ещё некоторое время, прежде чем появится драйвер, соответствующий OpenGL 4.6 и Vulkan.

Новость опубликовала разработчик Алисса Розенцвейг. Она уже некоторое время работает над реверс-инжинирингом драйверов для графического процессора чипа M1. Розенцвейг ранее опубликовала на GitHub первые наработки по этому проекту. Она также известна тем, что возглавляет разработку свободного драйвера Panfrost и имеет большой опыт реверс-инжиниринга оригинальных драйверов от компании ARM, включая графические драйверы для Midgard (Mali-T6xx, Mali-T7xx, Mali-T8xx) и Bifrost (Mali G3x, G5x, G7x). Ранее Розенцвейг начала помогать Valve в разработке кода графических драйверов, чтобы улучшить адаптацию игр в Linux.

Между тем Linux 5.19, который выпустили в августе 2022 года, создали на MacBook Air с M2. Линус Торвальдс тогда упомянул, что использовал для формирования релиза ноутбук Apple на базе архитектуры ARM64 с Linux-окружением на базе дистрибутива Asahi Linux.



Источник новости: habr.com

DimonVideo
2023-08-23T08:50:06Z

Здесь находятся
всего 0. За сутки здесь было 0 человек
Яндекс.Метрика