
Valve открыла исходный код Lepton, слоя совместимости с Android для VR-шлема Steam Frame. Проект поможет разработчикам переносить существующие Android-игры на устройство без полной переработки под другую платформу. Код опубликован в репозитории Valve на GitLab.
Lepton появился после запуска Steam Frame и продолжает работу, о которой Valve объявила в марте вместе с требованиями сертификации Steam Frame Verified. По назначению проект напоминает Proton, который запускает игры для Windows в SteamOS и Linux. Технически Lepton устроен иначе: он создаёт специально настроенную среду Android для игр, а не переводит интерфейсы Windows.
Valve ограничила возможности слоя. Lepton не превращает Steam Frame в универсальное Android-устройство и не рассчитан на поддержку всех приложений этой платформы. Для снижения накладных расходов он отключает Android-сервисы, которые не нужны играм, поэтому приложения, зависящие от таких компонентов, могут работать с ограничениями.
Lepton тесно связан с основной системой SteamOS. Среда получает доступ к библиотекам хост-системы для графических драйверов, Steam и Steamworks, а также к слоям Vulkan. Valve заявила поддержку графических стеков Mesa и Zink. В проекте есть инструменты Vulkan для фовеированного рендеринга и оптимизации проходов отрисовки.
Для переноса и отладки игр Valve добавила поддержку strace, GDB, LLDB и RenderDoc. За профилирование производительности отвечает Perfetto. Окно приложения в плоском режиме по умолчанию скрыто, но разработчики могут включить его для тестирования и поиска проблем.
Lepton работает без root-доступа и инструментов для настройки прав суперпользователя. Все процессы внутри экземпляра запускаются от имени одного пользователя без root-привилегий. Документация проекта уточняет, что между приложениями внутри одного экземпляра нет принудительной изоляции, поэтому каждое приложение предполагается запускать в собственном Android-контейнере.
В Lepton Valve адаптирует Android для игр в SteamOS с помощью библиотек графики хост-системы, слоёв Vulkan и сокращённого набора Android-компонентов. Linux-разработчики также смогут экспериментировать с кодом в других сценариях, но Valve указывает, что они не относятся к основной задаче Lepton.
Ранее Valve вместе с Collabora уже работала над ARM-версией SteamOS для Steam Frame и выложила исходники Holo Core. Lepton продолжает эту работу, но отвечает уже за совместимость шлема с Android-играми.