Valve Quietly Open-Sources Its Android Compatibility Layer

Yeah, Valve has not bothered putting out a proper announcement for this. I got to know about this thanks to Liam Squires-Hand, who covered it briefly yesterday. The gaming giant has open-sourced the Android compatibility layer it built for the recently launched Steam Frame.
Lepton lets users play games exclusive to Android on Linux by launching them inside a container. Valve says most users will not interact with Lepton directly since the Steam client itself handles that job.
The project is aimed at game developers who want to bring VR-focused Android titles over to Steam Frame, though the repository does note other use cases are possible.
Two licenses, one codebase

The compatibility layer is not released under a single license, as the repository’s LICENSE.md file splits the project into two pieces, each governed separately.
The compat tool itself, the part Steam invokes to actually launch a game inside the container, is released under the MIT license. The Android root filesystem that gets built and run inside that container is a different matter. Because it incorporates code from several outside projects, it carries a GPL-3.0 license instead.
What’s included?
Lepton’s Android image is not built from scratch. It leans on a handful of existing open source projects, each covering a different piece of the puzzle.
Waydroid is the one doing most of the heavy lifting. It already runs a full Android system inside a Linux container using namespaces, and Lepton borrows patches and components from it directly during the build.
LineageOS supplies the actual Android system image that Waydroid, and by extension Lepton, customizes. Waydroid’s runtime ships a minimal image based on LineageOS.
AOSP, the Android Open Source Project, sits underneath all of it. It’s the base source tree that LineageOS, Waydroid, and, in turn, Lepton all build on top of, and its license terms carry throughout the whole stack.
Boringdroid gets a smaller credit in the same license file, alongside the others, though Valve does not go into detail on what it specifically contributes. You can go through its repo to make an educated guess.
Don’t click away yet
This project is not trying to be a general-purpose way to run Android on Linux. It has been trimmed down on purpose.
Every app inside Lepton runs as the same user, with no walls built between them. Each game is instead meant to get its own separate container, and when launching them, Lepton switches off the Android services it does not need.
There’s more to it than what I have discussed, so go through the repo if you would like to learn more.
It’s good to see that while the Steam Frame has not started shipping yet, parts of its software stack are already being open-sourced. Lepton joins FEX, the x86-to-ARM translation layer Valve relies on for the same headset, as pieces of a stack that developers can now read, inspect, and build against.
Suggested Read 📖: The various compatibility layers in SteamOS.
![]()
