Podroid documentation
Podroid runs real Linux - Podman, Docker, LXC, and a Linux desktop - on an Android phone, with no root and no custom recovery. It boots an Alpine Linux VM with a custom Linux 7.0.5 kernel inside the app.
There are two ways the VM runs. By default it uses QEMU with software CPU emulation (TCG), which works on any ARM64 Android 9+ device. On recent Pixel devices that ship pKVM, Podroid can instead use the Android Virtualization Framework (AVF) for near-native speed. Either way you get the same Alpine guest, the same terminal, and the same in-app X11 viewer for GUI apps.
Everything here works on a stock, unrooted phone. The only optional setup that needs a computer is enabling the AVF backend, which uses two one-time adb permission grants (or Shizuku). The default QEMU path needs nothing.
What you can do with it
- Run containers - rootless Podman is wired up out of the box; Docker and LXC are pre-installed. Self-host Pi-hole, Gitea, code-server, Vaultwarden and more.
- A real Linux shell - a full Alpine system with
apkpackage management that persists across reboots. SSH in from your laptop on the same Wi-Fi. - GUI Linux apps - install a desktop or single X11 apps and view them in the app, with touch, trackpad, external keyboard and mouse, and audio.
- Learn Linux & containers - cgroups, namespaces, overlayfs, netfilter, OpenRC services - all on a device you already own.
How these docs are organized
Getting started covers installing the app, the first boot, and a tour of how the whole thing fits together. Going deeper explains performance (and honestly, why some things are slow), the two backends and how to enable AVF, networking and port forwarding, Alpine package management, the desktop/X11 viewer, and every in-app setting. Reference is the complete limitations + troubleshooting list and a set of grounded use cases.
The honest summary
Podroid is a real VM, not a translation layer, so it is far more capable than userspace tricks - but on the default QEMU path the CPU is emulated in software, so CPU-heavy work (compiling, npm install, JVM apps) is slow. The Performance page explains exactly why, and how AVF and a few settings help. The Limitations & troubleshooting page is the place to look when something behaves unexpectedly.
Start with Getting started, then skim How it works. If you have a Pixel 8/9/10, the Backends page shows how to switch on AVF for a big speed jump.
Podroid is free software (GPL). Docs for v1.2.1. Found something inaccurate? Open an issue.