Documentation
Wawona is a native Wayland compositor for macOS, Linux, Android, and the iOS family. Users run Machines. Contributors build the flake DAG.
User guide
Getting Started Install Wawona from Download, TestFlight, or Discord. Build from source if you need to. Machines Native, waypipe, terminal, VM, and container profiles. Start, Focus, minimize. Usage Nested Weston and Niri, bundled clients, Multi-Touch. VMs and containers Planned Machines kinds. Relay engine. Mode A StaticCpu on store iOS; Mode B may use Hypervisor.framework inside the UTM-era window. Mode A and Mode B Store Mode A vs TrollStore vs Sileo Mode B: Relay VMs, containers, Wasm, Desktop, Swinging Bridge. Settings Global prefs and per-machine overrides. Text Assist stays. Platforms Four gate states: available, planned, blocked, forbidden. Keyboard and IME Host keyboard and IME on every platform. No layout picker in Settings. macOS Never App Store feature-gated. Mode A in-window compositor. Classic Desktop Replacement on desktop-host. Planned Wawona Swinging Bridge. Report a bug TestFlight feedback, copied logs, and the GitHub bug form. Android Compose Machines, OpenSSH portable, planned Desktop Home + Wawona Swinging Bridge. Waypipe Remote Wayland over SSH with waypipe-rs 0.11.0. Machines GUI, not env vars. Graphics Driver picker, SHM vs GPU, userspace DRM/KMS/GBM, tvOS ANGLE/MoltenVK on Metal, watchOS SpriteKit present and blocked GL/VK. Desktop and LockScreen macOS Classic Take Over is implemented. iOS: TrollStore IOMFB in-app and Sileo tweaks. Android Home still planned. Not Wawona Swinging Bridge. Wawona Swinging Bridge Cocoa / Android / UIKit apps as Wayland clients over waypipe. Coming soon. Not Desktop or LockScreen. On-device shell Bundled zsh and Weston terminal. Not a VM or container. Packages Search and install extra software: App Store / Play wasm with wpm, Sileo debs on jailbroken iOS (rootless/rootful), Termux debs on sideloaded Android. Termux is not jailbreak. Two catalogs, never one list. WASM / WASI Drop a .wasm into Files and run it. The interpreter is in the app; Apple does not sign the module.
Contributor
Architecture Rust compositor, native hosts, userspace DRM. Not UniFFI-only. AI + MCP How contributors wire wwn-mcp and companion MCPs so AI agents stop guessing about Wawona. Repo DAG Acyclic L0-L4 flake inputs. Never invert. linux-dmabuf zero-copy zwp_linux_dmabuf_v1 matrix: modifiers, present sinks (CAMetalLayer, framebufferd, IOMFB, AHB), Mode A vs Mode B proofs. Nested compositors Weston and Niri stay real ports. Install as debs or wasm, not mandatory App Store in-app archives. iland Userspace DRM/KMS/GBM. Mode A in-window Metal. Mode B Classic fullscreen Metal. TrollStore IOMFB sink. Protocol Support Advertised Wayland globals from the live registry. Do not hand-edit this page. Compilation Flake product attributes, TEAM_ID, local proof before CI. Xcode script-phase notes. Nix Build System L0 substrate, L1 graphics, crate2nix, FlakeHub. Libs are not in this repo. Porting Substitute the platform under the client. Waypipe equivalence. Debugging agent-device for UI. Opt-in LLDB. No osascript or screencapture. Wasm host ABI Wawona Relay WASI P1 host imports: sockets, Wayland fd bridge, terminal. Rootshell-style reference. CI development vs master. Gate vs Ship. No secret procedures. Wayland wasm Write real Wayland clients for Wawona Runtime (WASI P1). wl_shm, xdg, host fd bridge. ArtCraft wasm packages Map ArtCraft Crafting Apps to Wawona /wasm/v1. Browser web is wrong ABI; no Craft packages published until Wayland. Prebuilt binary naming Canonical filenames for GitHub Releases, store uploads, and product-build artifacts.