Free & Open Source · MIT License · v0.2

The Wayland compositor
for every platform.

Wawona is a native, high-performance Wayland compositor for macOS, iOS, and Android. Built on a shared Rust core with direct Metal and Vulkan rendering — zero-copy, bare-metal speed, no VMs.

Build Bridges — Not Walls.

— Alex Spaulding, 2025

macOS
MetalAppKitObjC
iOS
MetalUIKitObjC
Android
VulkanJNIKotlin
KDE Plasma — Nested in Wawona
KDE
                        Plasma
                        nested in Wawona
XFCE
                        nested in
                        Wawona
COSMIC
                        nested in
                        Wawona
Wawona
                        native
                        compositing

Built Different.

Not a VM. Not a compatibility layer. A real compositor.

100% Free & Open Source

Wawona is and always will be free software under the MIT License. No paywalls, no telemetry, no vendor lock-in. Audit the code, fork it, contribute — it belongs to the community.

App Store Compliant

Designed from day one to meet Apple and Google app review guidelines. Available to everyone — download from the App Store or Play Store. No sideloading, no jailbreak required.

Extensible

Port any Linux application to macOS and utilize Wayland directly on the same computer. Wawona will support user plugins for extending functionality far beyond the barebones compositor.

CORE SYSTEMS

The Architecture

Deconstructing the next-generation compositor.

Shared Rust Core

Wawona relies on a unified, high-performance compositor core written in 100% safe, concurrent Rust. This monolithic library securely orchestrates input seat management and surface rendering identically across all host environments.

flowchart LR
    macOS["macOS\nAppKit + Metal"] -->|UniFFI| core
    iOS["iOS\nUIKit + Metal"] -->|UniFFI| core
    Android["Android\nVulkan + JNI"] -->|FFI/JNI| core
    core(["Wawona Core\nRust"])
    core -->|Wayland| linux["Linux\nWayland Clients"]

Native Window Promotion

Instead of drawing desktops into a single monolithic window, Wayland surfaces are mapped directly to native OS window primitives. A platform layer translates Wawona logical windows into real NSWindow or Activity objects.

// Wayland surface → native OS window
let surface = compositor.create_surface();
let window = platform.promote_to_native(surface);
window.activate_and_show();

Zero-Copy Pipelines

Client buffers (like IOSurface or dmabufs) are mapped directly to GPU textures in our native Metal and Vulkan rendering backends. Frame delivery achieves near-instant presentation with zero intermediate copies. We also include userland drivers such as kosmickrisp, moltenvk, angle, and the like for creating accelerated rendering.

USERLAND STACK
KosmicKrisp
MoltenVK
ANGLE

FFI & Remote Bridging

The Rust core connects to platform-native languages (Swift, Kotlin) via UniFFI and C bindings. Additionally, native Waypipe integration allows remote Linux X11/Wayland applications to seamlessly render locally.

// SSH into remote Linux host
waypipe ssh user@server
  firefox & // appears natively

Explore

The Frontier of Wayland.

Engineered by Alex Spaulding. Powered by the community. Join the evolution of the modular desktop. Your support is the catalyst for the next generation of native, high-performance compositing on every platform.