Android 17 on Omarchy: Why We Built omawaydroid
Android 17, with the October 2026 security patch, now runs on a stock Omarchy desktop. One command installs it, and SuperTuxKart runs at 60 frames a second, even as an ARM build through translation.
Install it with one command, from GreyforgeLabs/omawaydroid on GitHub:
bash <(curl -fsSL https://raw.githubusercontent.com/GreyforgeLabs/omawaydroid/main/omawaydroid.sh) install --android 17
Why we built it
On September 5, DHH asked the Omarchy community for help getting Android apps running on Omarchy. The parts already existed. Waydroid runs a full Android system in a container on Linux. WayDroid-ATV, built by SupeChicken666, makes Android 16 and 17 images for it. Omarchy's 7.2.8 kernel ships the binder driver that Android needs. The work left was fitting them together on a real Omarchy install, so that someone who wants Android gets it from one command instead of from the fourteen troubleshooting sections on the Arch Wiki's Waydroid page.
We measured before rewriting
Our first question was whether Waydroid itself needed replacing. Its host tool is about 5,100 lines of Python, and a Rust rewrite was the obvious idea. So we installed it on an Omarchy machine and measured. While Android ran, the two Python daemons used about 30 MB of memory each and 0.1% of a CPU. Rendering, input and audio never pass through them at all: those paths live inside the Android image, in C and C++. A rewrite would have bought nothing a user could feel, so omawaydroid uses the stock Waydroid package from Arch and changes nothing inside it.
What omawaydroid adds
- Networking behind ufw. Omarchy's firewall denies routed traffic by default, and that also stopped Waydroid's DHCP, so Android started without a network address. omawaydroid adds only the
waydroid0rules that are missing, leaves rules you made alone, and removes only its own on uninstall. - Fast, verified downloads. Waydroid downloads from whichever SourceForge mirror it is handed. On our test machine that was 220 KB/s, while other mirrors served 6 to 9 MB/s. omawaydroid picks a fast mirror, resumes interrupted downloads and checks every image's SHA-256 before passing it to the stock
waydroid init. A full Android 13 install took 2 minutes 28 seconds. - Android 16 and 17 that behave like Android 13. It installs WayDroid-ATV's fixed August 3 build of Android 16, starts Android at the home screen, and adds a small launcher wrapper so apps opened from the Omarchy app menu appear in the Android window.
- A doctor.
omawaydroid.sh doctorchecks for the problems that come up most in Arch and Omarchy reports: a kernel without binder, a leftover binder DKMS module that conflicts with Omarchy's built-in driver, python-gbinder broken by a Python upgrade, and a session without Wayland.
What it runs
We measured on Omarchy with kernel 7.2.8, Hyprland and an AMD Radeon (Navi 32):
- Android 17 carries the October 1, 2026 security patch, Mesa 26.2.5 and WebView 155, and cold-starts in 19 seconds.
- Android 16 carries the August 1, 2026 security patch.
- An app opened from the Omarchy menu is in front 18 to 19 seconds after a cold start.
- SuperTuxKart runs at about 60 frames a second, the monitor's refresh rate, as a native x86_64 build and as an ARM build through translation.
Back upstream
The firewall fix belongs in Waydroid itself, so we sent it there as waydroid/waydroid#2458. On nftables systems, the patch makes Waydroid open the same INPUT and FORWARD rules its iptables path already does, which gives Android a network behind ufw and Docker on any distribution. What we learned testing Android 16 and 17 went to WayDroid-ATV in issue #49.
omawaydroid is MIT licensed and on GitHub at GreyforgeLabs/omawaydroid. Use --android 16 for Android 16, or leave the option out for Android 13.