|
Компания Valve развивает инструментарий Lepton, позволяющий запускать в Linux игры, поставляемые для платформы Android.
Проект рассчитан на интеграцию со Steam Client и создан для предоставления возможности запуска Android-игр с поддержкой устройств виртуальной реальности на VR-шлеме Steam Frame, поставляемом с Linux.
Lepton формирует изолированный контейнер с системным образом платформы Android, включающий всё необходимое для запуска Android-игр. Начинка сформирована c использованием патчей и компонентов от проектов Waydroid, Anbox, Halium и Hybris. Наработки для сборки образа с Android, применяемого для исполнения игр в Linux, распространяются под лицензией GPLv3, а инструментарий для организации процесса запуска игр с использованием подготовленного образа - под лицензией MIT.
В Lepton также включены дополнительные возможности, помогающие разработчикам игр перенести свои Android-игры в Steam. В формируемое Android-окружение пробрасываются используемые в хостовой ОС библиотеки
Steam/Steamworks, графические драйверы (mesa, zink) и Vulkan-прослойки
для оптимизации рендеринга и снижения детализации по краям экрана. Поддерживается интеграция с различными отладчиками (strace, gdb, lldb, renderdoc) и профилировщиками (perfetto).
Отличия Lepton от существующих проектов, реализующих окружения для запуска Android-приложений в Linux:
- Запуск под непривилегированным пользователем и отсутствие настроек и действий для которых нужны права root.
- Все процессы в Lepton запускаются под одним непривилегированным пользователем. Отсутствует изоляция между играми, запускаемыми в Android-окружении - предполагается, что каждая Android-игра запускается в отдельном Android-контейнере.
- Lepton не рассчитан на универсальное применение и содержит только минимальную функциональность, необходимую для запуска игр. Отключены многие Android-сервисы, не применяемые в играх.
- Кэширование состояния различных компонентов для ускорения запуска Android-окружений.
|