No description
  • Shell 78%
  • C 10.3%
  • Makefile 7.2%
  • Rust 2.6%
  • Python 1%
  • Other 0.9%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-09-17 11:42:43 +03:00
.ci_scripts Copy the LICENSES folder to the compat tool package. 2026-09-16 20:25:18 +03:00
.vscode Release Lepton v3.0.0 2026-09-11 11:23:35 -07:00
compat_tool Install lepton completions to the correct location. 2026-09-17 11:42:43 +03:00
image Remove recently replaced LineageOS TV package. 2026-09-16 21:01:52 +03:00
image-14 Use upstream repos where possible. 2026-09-16 21:01:52 +03:00
LICENSES Move licenses to LICENSES/ in second attempt to defeat gitlab 2026-09-15 20:49:40 -07:00
tests Release Lepton v3.0.0 2026-09-11 11:23:35 -07:00
.gitignore Release Lepton v3.0.0 2026-09-11 11:23:35 -07:00
.gitlab-ci.yml Use non heavy workers for test-job. 2026-09-15 18:08:15 +03:00
.gitmodules Change submodules to public repos. 2026-09-16 21:01:52 +03:00
LICENSE.md Move licenses to LICENSES/ in second attempt to defeat gitlab 2026-09-15 20:49:40 -07:00
README.md Update readme with attributions also. 2026-09-15 20:06:19 +03:00

Introduction

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. Most users should use Lepton provided by the Steam Client itself.

Lepton has made some design decisions that set it apart from other Android containerization projects:

  • Lepton runs as a non-root user without requiring any rootful setup or helpers.
  • Every process inside Lepton is running as the same non-root user. There is no enforced isolation between apps, each app instead should run within its own Android container.
  • Lepton disables various Android services that are not required to run games possibly breaking compatibility with some applications.
  • Lepton is not designed for general Android use, instead opting to keep the bare minimum functionality required to launch into games.
  • Lepton caches various pieces of state to accelerate Android userspace boot time.
  • Lepton is intended to help game developers bring their VR Android games to the Steam Frame. Other usecases are possible, but were not the focus of development and may lack polish.

Lepton also includes a variety of features designed to help game developers bring their VR Android games to Steam:

  • Lepton mounts various libraries from the host OS:
    • Graphics drivers (mesa, zink, etc...)
    • Steam/Steamworks libraries
    • Vulkan layers (foveated rendering injector, renderpass optimizer)
  • Lepton supports integration with various debuggers (strace, gdb, lldb, renderdoc, etc...) and profilers (perfetto).
  • Lepton hides the flatscreen window by default, but can show it if necessary for development

Lepton incorporates patches and components from the Waydroid, Anbox, Halium and Hybris projects in the building of the Android container root filesystem. The Android root filesystem is therefore released under a GPL-3.0 license (see LICENSE.AOSP.image, while the compatibility tool itself is released under the MIT license, (see LICENSE.lepton).

Repository layout

This repository is split between two pieces:

  • image: This builds an Android root filesystem. This root filesystem is the container image within which games are launched.

  • compat_tool: This is the containerization tool that Steam invokes to launch a game within the image built previously. You can find more information about it in it's readme