Iglia проделал большую работу над графическим драйвером для графического процессора VideoCore VI, используемого в Raspberry Pi 4 и другом оборудовании на базе Broadcom BCM2711 с совместимостью с Vulkan 1.2, а Роман Стратиенко (Roman Stratiienko) добавил ускорение 3D-графики Vulkan в Android или, точнее, в LineageOS.
Raspberry Pi и Iglia сотрудничают с момента запуска Raspberry Pi 4 SBC для разработки графического драйвера Mesa 3D, совместимого с Khronos, для платы, и это долгосрочный проект, который продолжается более двух лет и еще не полностью завершен. Вот неполный график проекта на данный момент:
- Февраль 2020 г. — драйвер Raspberry Pi 4 V3DV получает совместимость с OpenGL ES 3.1, работа над Vulkan начинается с демонстрации базовой версии triangle.
- Июнь 2020 г. — выпущен исходный код драйвера Vulkan со многими демонстрационными версиями, работающими на Raspberry Pi 4
- Октябрь 2020 г. – Iglia представляет презентацию статуса обновления проекта Raspberry Pi 4 Vulkan на Open Source Summit Europe 2020.
- Ноябрь 2020 г. — драйвер Raspberry Pi 4 V3DV соответствует требованиям Vulkan 1.0 .
- Октябрь 2021 г. — соответствие Vulkan 1.1 плюс значительное повышение производительности.
- Июль 2022 г. (августовское объявление) — соответствие Vulkan 1.2
- Будущее обновление — соответствие Vulkan 1.3 иногда в 2023 году
Работа над графическими драйверами требует много времени, так же было и с драйвером Panfrost с открытым исходным кодом для графических процессоров Mali, который мы впервые рассмотрели в 2019 году, хотя он и немного отличается, поскольку проект обновляется по мере выпуска новых архитектур графических процессоров Mali.
Яго Торал (Iago Toral) из Igalia говорит, что все изменения, необходимые для функциональности ядра Vulkan 1.2 для Raspberry Pi 4, были объединены с вышестоящим драйвером V3DV Mesa и в конечном итоге будут доступны в будущих обновлениях ОС Raspberry Pi, и начата работа над другими расширениями, в том числе Vulkan 1.3. Таким образом, потребуется некоторое время, прежде чем поддержка Vulkan 1.2 станет доступна в ОС Raspberry Pi, поскольку Mesa 22.2 должна быть сначала выпущена, а затем загружена в репозиторий пакетов Debian. Но если вы скомпилируете основной драйвер Mesa самостоятельно, вы сможете ознакомиться с играми или демо-версиями, такими как сэмпл “The Deferred Shadows” от Саши Виллемса.
Отдельно Роман Стратиенко (Roman Stratiienko) добавил поддержку OpenGL и Vulkan в Android 11 в LineageOS 18.1 на базе Android 11 для Raspberry Pi 4 и другое подобное оборудование, такое как Raspberry Pi 400 и Compute Module 4 с оперативной памятью не менее 2 ГБ. Эбен Аптон ( Eben Upton) говорит: «Сегодня лучшими примерами приложений «реального мира» для Vulkan на Raspberry Pi являются игры, работающие на Android/Lineage», включая такие игры, как Real Racing.
В то время как поддержка Android на Raspberry Pi 4 прошла долгий путь и большинство функций работают, LineageOS по-прежнему предназначена для продвинутых пользователей и по-прежнему не хватает аппаратного декодирования и кодирования видео (программное декодирование / кодирование в порядке), а приложение для стоковой камеры не работает (сторонние, похоже, в порядке). Безопасность также может быть не оптимальной, поскольку SELinux находится в разрешающем режиме.
Выражаем свою благодарность источнику из которого взята и переведена статья, сайту cnx-software.com.
Оригинал статьи вы можете прочитать здесь.