Drion · Comparison

Drion vs Waydroid

Both run unmodified Android apps on Linux, on your own kernel rather than in a virtual machine. They differ in what sits under the app. Waydroid boots a complete Android system in a container and shows its apps on your desktop. Drion has no Android system underneath: each app runs as its own sandboxed Linux process.

Waydroid

A complete Android system in a Linux container. Your apps run inside it.

Drion

No Android system underneath. Each app is its own sandboxed Linux process.

BothYour Linux kernel, no virtual machine · unmodified APKs · Android’s own framework code
What runs

What runs underneath the app

Waydroid starts Android’s own init, system services, launcher and system apps in a container, then runs your apps inside it. Drion keeps the parts an app talks to, the runtime and Android’s framework, and replaces everything underneath with its own services.

Waydroid
Android app
Android framework
Android system services
Android OS: init, launcher, system apps
LXC container, binder in the host kernel
Linux host: Wayland desktop
Drion
Android app, unmodified
Android framework, real AOSP code
Drion system services
no Android OS underneath
no binder kernel module
Linux host: desktop, audio, GPU
Isolation

How apps are kept apart

Waydroid puts one boundary around the whole Android system, and Android’s own sandbox separates apps inside it. Drion puts a kernel boundary around every app and keeps its own services outside all of them.

Waydroid
Linux host
Container · one for all apps
Android system: init, system services, launcher, system apps
App A
App B
App C
Container serviceroot

Apps are kept apart by Android’s own user IDs and permissions, inside the shared container.

Drion
Linux host · your user account
Supervisor
System server
Display
sandbox
App A
sandbox
App B
sandbox
App C

The Linux kernel walls off each app’s processes and private files from the host, other apps and Drion’s own services. The network is shared with the host.

Side by side

The practical differences

Aspect
Waydroid
Drion
What runs
A complete Android 13 system, based on LineageOS, in an LXC container.
Each app as its own Linux process, served by Drion’s system services.
Isolation
One container for the whole system. Android’s own app sandbox separates apps inside it.
One kernel sandbox per app process. The system server stays outside every sandbox.
Root
Needed to set it up. The container service runs as root.
Runs entirely under your user account. On Ubuntu Touch it also installs without root.
Host kernel
Needs binder support, built in or as a module.
No Android-specific kernel features. Needs unprivileged user namespaces.
Starting the first app
Android boots first. Later apps start inside the running system.
No Android system to boot. An app starts like any other program.
Alongside your apps
The whole Android system, paused after a timeout once no app is active.
A few Drion services.
Windows
The full Android interface in one window by default, or one window per app in multi-window mode.
One window per app. Fullscreen in Gamescope on SteamOS, maximized on Ubuntu Touch.
Desktop integration
App menu entries, clipboard and audio. Notifications since version 1.6.
App menu, clipboard, audio and notifications on Linux desktops, partly on SteamOS and Ubuntu Touch. Camera and microphone are brokered by the system server.
Network
Its own virtual network bridge with NAT. Host firewalls may need rules for it.
Apps use the host’s network directly, including services that listen only on your machine.
Google Play
Optional image with Google apps.
Optional, installed in a couple of clicks from the store list in Drion’s launcher. Other app stores work too.
Arm-only apps on x86_64
Not in the official images. Added with third-party community scripts.
Drion comes with a Native Bridge translator.