ScriptsMay 28, 2026·3 min read

Waydroid — Run a Full Android System on Linux via Containers

Container-based Android runtime for Linux that boots a full AOSP system inside an LXC container, providing near-native performance for Android apps on Wayland desktops.

Agent ready

Review-first install path

This asset needs a review step. The copied prompt tells the agent to dry-run, show the writes, then proceed only after confirmation.

Needs Confirmation · 64/100Policy: confirm
Agent surface
Any MCP/CLI agent
Kind
Skill
Install
Single
Trust
Trust: Established
Entrypoint
Waydroid Overview
Review-first command
npx -y tokrepo@latest install edd68779-5ab0-11f1-9bc6-00163e2b0d79 --target codex

Dry-run first, confirm the writes, then run this command.

Introduction

Waydroid uses a container-based approach to boot a complete Android system on GNU/Linux. Unlike emulation, it runs Android natively on the Linux kernel using LXC, achieving near-native performance. It integrates with Wayland compositors so Android windows appear alongside regular Linux applications.

What Waydroid Does

  • Boots a full Android Open Source Project (AOSP) image inside an LXC container
  • Renders Android UI directly through Wayland for seamless desktop integration
  • Shares the host Linux kernel, so no hardware emulation overhead is needed
  • Supports multi-window mode where Android apps appear as regular desktop windows
  • Provides clipboard sharing, file access, and input device passthrough between host and guest

Architecture Overview

Waydroid leverages Linux kernel namespaces and LXC to isolate a complete Android user space. The Android system runs the same kernel as the host, so CPU-intensive apps execute at native speed. GPU rendering passes through Mesa drivers via a custom Gralloc HAL and uses the host's Wayland compositor for display output. A Python-based session manager orchestrates container lifecycle, networking, and property bridging.

Self-Hosting & Configuration

  • Install from your distribution's package manager or the official Waydroid repo
  • Run waydroid init to download and set up the Android system image
  • Requires a Wayland-based compositor (GNOME on Wayland, Sway, KDE Plasma Wayland)
  • Configure properties via waydroid prop set for display density, navigation bar, etc.
  • Install Android apps by sideloading APKs with waydroid app install <file.apk>

Key Features

  • Near-native CPU performance since Android runs on the host Linux kernel directly
  • Multi-window integration with Wayland compositors for a seamless desktop experience
  • Support for ARM translation (libhoudini or libndk) to run ARM-only apps on x86 hosts
  • Shared clipboard and file exchange between Linux host and Android guest
  • OTA-style system image updates through the Waydroid tooling

Comparison with Similar Tools

  • Anbox — earlier Android-on-Linux project that used Snap; now discontinued in favor of Waydroid
  • Android-x86 — boots Android as a standalone OS; no Linux desktop integration
  • Genymotion — commercial Android emulator aimed at developers; uses QEMU, heavier than Waydroid
  • Windows Subsystem for Android — Microsoft's approach for Windows 11; similar concept, different host OS

FAQ

Q: Does Waydroid work with X11? A: Waydroid requires Wayland. On X11 desktops, you can use a nested Wayland compositor like Weston to run it.

Q: Can I run Google Play Store apps? A: Waydroid ships with AOSP by default (no Play Store). Community scripts can install GApps or microG for Play Store access.

Q: What about GPU acceleration? A: Waydroid uses the host GPU via Mesa drivers. Intel and AMD GPUs work well; NVIDIA support depends on driver and compositor.

Q: Can I use it for Android development testing? A: Yes, you can connect to Waydroid via ADB for app debugging, though dedicated emulators offer more device simulation options.

Sources

Discussion

Sign in to join the discussion.
No comments yet. Be the first to share your thoughts.

Related Assets