Компания Valve выложила в открытый доступ исходный код инструментария Lepton, предназначенного для запуска игр с Android на платформе Linux. Проект ориентирован на прямую интеграцию с клиентом Steam и создан специально для работы мобильных VR-приложений на новом автономном шлеме Steam Frame, который функционирует под управлением Linux. Инструментарий позволяет исполнять мобильные приложения в изолированных контейнерах без необходимости настраивать сторонние громоздкие эмуляторы.
Архитектура и лицензии
В основе Lepton лежат наработки открытых проектов Waydroid, Anbox, Halium и libhybris, объединённые со специально подготовленным системным образом Android. Исходные материалы для сборки базового образа распространяются под свободной лицензией GPLv3, а сам инструментарий запуска и интеграции со Steam — под разрешительной лицензией MIT.
В отличие от универсальных решений для запуска мобильного софта, разработка Valve оптимизирована исключительно под игры: из окружения удалены неиспользуемые системные службы, внедрено кэширование состояния компонентов для ускорения загрузки и полностью исключены права суперпользователя root — каждый процесс запускается в собственном изолированном контейнере от лица обычного пользователя.
Создатели инструмента прямо обозначили границы его применимости. В сопроводительной документации репозитория разработчики Valve подчёркивают, что Lepton призван помочь авторам игр перенести свои VR-проекты с Android на Steam Frame. Иные сценарии использования возможны, но не являлись приоритетом разработки и могут быть лишены должной полировки.
Для достижения максимальной кадровой частоты в ресурсоёмких сценах виртуальной реальности Lepton задействует глубокую интеграцию с основной операционной системой, пробрасывая графические драйверы Mesa и Zink напрямую внутрь гостевого контейнера. Разработчики также внедрили поддержку специфических слоёв графического API Vulkan, отвечающих за фовеальный рендеринг со снижением детализации по краям поля зрения шлема, и оптимизацию проходов отрисовки. Кроме того, окружение поддерживает библиотеки Steamworks и комплексные средства профилирования и отладки вроде RenderDoc, Perfetto и strace, что позволяет создателям мобильных игр тестировать сборки без подключения физических мобильных устройств.

Комментарии
Оставляйте комментарии, отвечайте другим пользователям, ставьте плюсы и минусы и добавляйте быстрые реакции.
Войдите в аккаунт, чтобы оставлять комментарии, отвечать другим пользователям и ставить реакции.