Valve не выпустила официальный анонс. Об этом стало известно благодаря Liam Squires-Hand, который кратко рассказал о проекте вчера. Игровой гигант открыл исходный код слоя совместимости с Android, созданного для недавно представленной Steam Frame.

Lepton позволяет запускать на Linux игры, эксклюзивные для Android, внутри контейнера. По словам Valve, большинство пользователей не будут взаимодействовать с Lepton напрямую, поскольку этим занимается сам клиент Steam.

Проект ориентирован на разработчиков игр, которые хотят перенести Android-игры для VR на Steam Frame, хотя в репозитории отмечают, что возможны и другие сценарии.

Две лицензии, одна кодовая база

фрагмент скриншота репозитория Lepton на GitLab
фрагмент скриншота репозитория Lepton на GitLab

Слой совместимости выпущен не под единой лицензией: файл LICENSE.md в репозитории делит проект на две части, каждая из которых регулируется отдельно.

Сам инструмент совместимости, та часть, которую Steam вызывает для запуска игры внутри контейнера, распространяется по лицензии MIT. Корневая файловая система Android, которая собирается и запускается внутри этого контейнера, устроена иначе. Поскольку она включает код нескольких сторонних проектов, для неё действует лицензия GPL-3.0.

Что входит в состав?

Образ Android в Lepton не собирается с нуля. Он опирается на несколько существующих открытых проектов, каждый из которых отвечает за свою часть.

Waydroid выполняет основную работу. Он уже запускает полноценную систему Android внутри контейнера Linux с использованием пространств имён, а Lepton напрямую заимствует его патчи и компоненты во время сборки.

LineageOS предоставляет сам образ системы Android, который дорабатывают Waydroid и, соответственно, Lepton. Среда выполнения Waydroid поставляется с минимальным образом на базе LineageOS.

AOSP, проект Android Open Source Project, лежит в основе всего перечисленного. Это базовое дерево исходников, на котором строятся LineageOS, Waydroid и, в свою очередь, Lepton, а условия его лицензии распространяются на весь стек.

Boringdroid упоминается в том же файле лицензий наряду с другими, хотя Valve не уточняет, какой именно вклад он вносит. Ответ можно найти, изучив его репозиторий.

Не спешите закрывать

Этот проект не претендует на роль универсального способа запуска Android на Linux. Его намеренно урезали.

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

Это не все детали. Подробности можно найти в репозитории.

Отрадно, что поставки Steam Frame ещё не начались, а части программного стека Steam Frame уже открывают. Lepton присоединяется к FEX, слою трансляции x86 в ARM, который Valve использует для той же гарнитуры. Теперь у разработчиков есть части стека, которые можно читать, изучать и использовать для сборки.