Valve Open-Sources Lepton, the Android Container for Steam Frame VR Ports

Valve has published the SOURCE for Lepton, the Android CONTAINER that lets Android-exclusive VR games run on Linux through the Steam CLIENT. The code lives on Valve’s GitLab under frame-public/lepton. The README is blunt: Lepton is a TOOL for the Steam client, and MOST players should use the build Steam already ships — the public tree is for studios PORTING games, not for end users compiling a runtime.

Valve Steam Frame standalone VR headset product photo
Steam Frame is the PRIMARY TARGET for Lepton’s Android-on-Linux path. Image: Valve / Steam.

Mixed-News (September 20) and TechSpot (September 19) both walk the repository history. The first public commit is titled “Release Lepton v3.0.0,” dated September 11, with NO parent — a clean drop rather than a long public history. Tags follow at v3.0.1 (September 12) and v3.0.2 (September 17). As of this writing the GitLab tag list ALSO shows v3.0.3 (September 25), so the tree is still MOVING after the initial open-source cut.

A Container, Not an Emulator — and Not Quest Sideloading

Lepton is a PURPOSE-BUILT Android environment, not a Windows TRANSLATION layer like Proton. The repo splits in TWO: an image half that builds the Android ROOT filesystem games launch inside, and a compat_tool half that Steam INVOKES to start a title in that image. Valve’s own wording says Lepton “is NOT designed for general Android use,” keeps only the MINIMUM needed to launch into games, and DISABLES Android services that games do not need — a trade-off that can BREAK some applications.

Steam Frame developer menu showing host pairing for the headset
Valve’s Steamworks docs walk developers through Frame’s DEVELOPER menu and host PAIRING. Image: Valve via Mixed-News.

Design choices set it APART from broader Android-on-Linux projects. It runs as a NON-ROOT user with NO rootful setup. Every process inside shares that SAME user; there is NO enforced isolation between apps, so each title is expected to get its OWN container. Host libraries are MOUNTED in — graphics drivers such as Mesa and Zink, Steam and Steamworks, plus Vulkan layers Valve names as a FOVEATED rendering injector and a RENDERPASS optimizer. Debuggers and profilers are FIRST-CLASS: strace, gdb, lldb, RenderDoc, and Perfetto. The flatscreen window stays HIDDEN by DEFAULT and can be shown for DEVELOPMENT work.

IT-Connect (September 22) notes the published binaries still TARGET ARM64 — the architecture Steam Frame uses — so this is NOT yet a general x86 Linux desktop Android layer. Nothing in the README mentions the Meta Horizon Store, Quest PACKAGE sideloading, or Meta’s runtime. The SCOPE is Android VR games brought to Steam, aimed at studios shipping through Valve’s STORE.

Split Licence, Clear Intent

Licensing is SPLIT. The Android root filesystem ships under GPL-3.0 because it incorporates patches and components from Waydroid, Anbox, Halium, and Hybris. The compatibility TOOL itself is MIT. Mixed-News also flags housekeeping commits that switched submodules and Vulkan headers to PUBLIC trees before the merge — including messages that still point back to an internal project named deckard/lepton, Deckard being the long-running CODE name for the headset.

Illustration of Valve open-sourcing Lepton Android compatibility layer for Steam
Coverage of Valve’s Lepton open-source drop frames it as a DEVELOPER-facing Android COMPATIBILITY layer for Steam Frame. Image: TechSpot.

That is a DIFFERENT story from today’s Steam Frame beats on Metaverse Watcher — the native Half-Life: Alyx ARM64 rebuild, SteamOS 0.4.1, and the Linux SteamVR “start it by HAND” WORKAROUND. Lepton is the OTHER route: Android VR builds running INSIDE a trimmed container on SteamOS, with the source now READABLE so porting teams can see what Valve SUPPORTS and what it SWITCHES OFF.

Sources: Valve GitLab — frame-public/lepton; Mixed-News; TechSpot; IT-Connect.

Leave a Comment