Valve open-sources Lepton, the container that runs Android VR games on Steam Frame

Valve open-sources Lepton, the container that runs Android VR games on Steam Frame

Valve has published the source code for Lepton, the Android container that lets Android-only games run on Steam Frame. Valve's README says Lepton "is a tool for use with the Steam client which allows games which are exclusive to Android to run on the Linux operating system".

Steam Frame settings menu inside the headset with the Developer section and the Pair new host button highlighted

Valve's Steamworks documentation walks developers through the Frame's developer menu, where the devkit pairing lives. Image: Valve

The frame-public/lepton repository sits on Valve's own GitLab, and its history starts from nothing: the first commit, "Release Lepton v3.0.0", was made by a Valve engineer on September 11 and has no parent. Two release tags follow in the commit log, v3.0.1 dated September 12 and v3.0.2 dated September 17.

Lepton is a container, not an emulator

The repository splits in two. The image half builds an Android root filesystem, which is the container that games launch inside, and the compat_tool half is the piece Steam invokes to start a game in that image.

Valve lists the design decisions that separate Lepton from other Android containerisation projects. It runs as a non-root user "without requiring any rootful setup or helpers", every process inside runs as that same user with no enforced isolation between apps, and it "disables various Android services that are not required to run games possibly breaking compatibility with some applications".

It is deliberately incomplete, and Valve says so. Lepton "is not designed for general Android use, instead opting to keep the bare minimum functionality required to launch into games", and it caches pieces of state to speed up the Android userspace boot.

The developer tooling points straight at foveated rendering

Lepton mounts host libraries into the container, including graphics drivers such as mesa and zink, the Steam and Steamworks libraries, and Vulkan layers that Valve names as a "foveated rendering injector" and a "renderpass optimizer". Those two layers are the ones a porting team will care about, because foveated rendering is how a standalone headset buys back the performance it does not have.

The container hooks into strace, gdb, lldb, renderdoc and perfetto, and it hides the flatscreen window by default while letting a developer show it during work. Valve states the purpose in one line: Lepton "is intended to help game developers bring their VR Android games to the Steam Frame".

The licence is split down the middle

The Android root filesystem ships under GPL-3.0, because it incorporates patches and components from the Waydroid, Anbox, Halium and Hybris projects. The compatibility tool itself is MIT, in a separate licence file.

The commit log also shows the housekeeping that came before the code went public. Valve engineers switched the project's submodules to public repositories and moved to public Vulkan headers in commits dated September 15 and 16, merged on September 17, and spent those two days rearranging licence files, including a commit titled "Try renaming LICENSE.AOSP.image to defeat gitlab license detection". The merge requests quoted in those messages point back to an internal project called deckard/lepton, Deckard being the codename the headset carried in code and leaks for years.

Nothing here says Quest games will run on Steam Frame

The README's scope is Android VR games brought to Steam. It makes no mention of the Meta Horizon Store, of sideloading Quest packages, or of Meta's runtime, and every feature it lists is aimed at a studio shipping a build through Valve's store.

Valve also points most people away from the code. "Most users should use Lepton provided by the Steam Client itself," the README says, so the version in the repository is for people building games rather than playing them.

What the code does explain is how the Android-only VR games already on the store get onto the headset. Steam now sells VR games that will not run on a PC at all, while Valve's own standalone Half-Life: Alyx port took the other route and was rebuilt natively for ARM.

Lepton is the machinery under the first of those two routes, and the tag list shows it is still moving. Anyone can now read exactly what it supports, and, more usefully for developers, what it switches off.

Leave a Comment

Your email address will not be published. Required fields are marked *