Nothing runs as root
Android runs as you, inside Linux namespaces of its own. No root daemon, no setuid helper, no container runtime.
Each app in its own window, launched from your app menu like any other. No root, no container, no virtual machine.
Sarab
by the numbers
0
Processes run as root
1.5 s
To boot Android
0 %
CPU while no app is open
13 ms
To wake from a pause
Typical figures; the first boot after setup takes longer. How it works
What it does
Sarab boots an unmodified Android 13 as ordinary processes under your user, then connects it to your desktop: windows, clipboard, notifications, launcher entries and dark mode.
Android runs as you, inside Linux namespaces of its own. No root daemon, no setuid helper, no container runtime.
The apps you install join your app launcher. Open one and it gets its own phone-sized window, floating on Hyprland and sway.
A minute after the last app window closes, Android is frozen: no CPU, no wakeups. Open an app and it thaws in 13 ms.
Copy in Android and paste on your desktop, or the other way round. Android’s notifications arrive as your desktop’s, and Android follows your dark mode setting.
Sarab boots LineageOS 20 as published, unchanged, and checks the download before using it. Everything is one command, sarab, shaped like docker or podman.
Get started
Sarab builds from source with Rust 1.88 or newer and installs into your home directory. Nothing is written outside the prefix you give it.
git clone https://github.com/SL0wZEr/sarab && cd sarab
packaging/install.sh --prefix ~/.localThe first start checks your system, says exactly what to fix if anything is missing, and asks before it downloads Android: 1.4 GB, about 5 GB on disk.
sarab startGive it an .apk, or an .apks or .xapk bundle, or double-click the file. The app appears in your launcher like any other.
sarab install app.apkNeeds x86_64 Linux with a Wayland desktop. Full requirements
Before you try it
Built and used daily on Arch Linux with Hyprland and an AMD GPU, and tested on Ubuntu 24.04 with GNOME. Other setups are untested, so please report what you find.
All limitationsApps built only for ARM phones will not install. There is no translation layer yet.
Android’s media decoders do not work here yet. A fix is being worked on.
Each app has its own window, but only one of them is shown at a time.
Android is walled off with namespaces but can reach your display and audio. Install apps you trust.
AMD, Intel, or NVIDIA with nouveau. NVIDIA’s proprietary driver does not work.
Move a window with Super+drag and close it with Alt+F4. KDE is untested.