Valve no se molestó en publicar un anuncio propio. It's FOSS se enteró gracias a Liam Squires-Hand, que lo cubrió de forma breve el jueves. La compañía liberó el código de la capa de compatibilidad de Android que construyó para el Steam Frame, su visor recién lanzado.

Lepton permite jugar en Linux títulos exclusivos de Android levantándolos dentro de un contenedor. Valve dice que la mayoría de los usuarios nunca va a interactuar con Lepton de manera directa, porque de esa tarea se encarga el propio cliente de Steam.

El proyecto apunta a los desarrolladores de juegos que quieran llevar al Steam Frame títulos de Android pensados para realidad virtual, aunque el repositorio deja constancia de que hay otros usos posibles.

Dos licencias en un solo repositorio

Captura recortada del repositorio de Lepton en GitLab

La capa de compatibilidad no salió bajo una licencia única. El archivo LICENSE.md del repositorio parte el proyecto en dos piezas, cada una con su propio gobierno.

La herramienta de compatibilidad, que es la parte que Steam invoca para lanzar un juego dentro del contenedor, quedó bajo la licencia MIT. El sistema de archivos raíz de Android que se construye y se ejecuta dentro de ese contenedor corre otra suerte. Como incorpora código de varios proyectos externos, lleva una licencia GPL-3.0.

¿Qué proyectos hay dentro de Lepton?

La imagen de Android de Lepton no se armó desde cero. Se apoya en un puñado de proyectos de código abierto ya existentes, cada uno cubriendo una pieza distinta del rompecabezas.

Waydroid hace el trabajo pesado. Ya corre un sistema Android completo dentro de un contenedor de Linux usando espacios de nombres, y Lepton toma sus parches y componentes de manera directa durante la compilación.

LineageOS aporta la imagen de sistema Android propiamente tal, la que Waydroid, y por extensión Lepton, personaliza. El entorno de ejecución de Waydroid incluye una imagen mínima basada en LineageOS.

AOSP, el Android Open Source Project, está debajo de todo. Es el árbol de código base sobre el que construyen LineageOS, Waydroid y, en consecuencia, Lepton, y sus términos de licencia atraviesan toda la pila.

Boringdroid recibe un crédito menor en el mismo archivo de licencias, junto a los demás, aunque Valve no detalla qué aporta exactamente. Queda revisar su repositorio para hacerse una idea fundada.

Los límites que Valve le puso a propósito

Este proyecto no busca ser una vía de propósito general para correr Android sobre Linux. Fue recortado a conciencia.

Cada aplicación dentro de Lepton corre con el mismo usuario, sin murallas levantadas entre ellas. Lo que sí está previsto es que cada juego reciba su propio contenedor separado, y que al lanzarlos Lepton apague los servicios de Android que no necesita.

Hay bastante más de lo que cabe en un resumen, así que conviene recorrer el repositorio para el detalle fino.

El Steam Frame todavía no empieza a despacharse y partes de su pila de software ya están con el código abierto. Lepton se suma a FEX, la capa de traducción de x86 a ARM en la que Valve se apoya para ese mismo visor, como piezas de una pila que los desarrolladores ya pueden leer, inspeccionar y usar como base. Ars Technica publicó además un repaso de las distintas capas de compatibilidad que conviven hoy en SteamOS.