Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
mirada
A sovereign Wayland compositor + tiling window manager, in Rust, on Llimphi.
mirada (Spanish look, gaze) is the display stack: a tiling Wayland compositor, an XDG desktop portal (generic file pickers / screenshare), a PAM login greeter, and the control CLI. The architecture splits cleanly in two:
- Cuerpo (
mirada-body+mirada-compositor) — the Wayland surface oversmithay. Manages outputs and surfaces, translates commands into backend operations. DRM/KMS native, or nested inside a host Wayland for development. - Cerebro (
mirada-brain) — the desktop orchestrator: virtual desktops, windows, focus, tiling. ConsumesBodyEvent, emitsBrainCommand. Agnostic of smithay and of any toolkit — it can drive a remote Cuerpo overmirada-link.
All UI (greeter, portal dialogs, menus) renders on Llimphi-HAL, so the same scene tree runs on Wayland and on Wawa bare-metal.
one compositor, every desktop — the same layout across XP · macOS · KDE · Hyprland · CDE (stylized concept render, not a live capture)
Run
cargo run --release -p mirada-compositor # the compositor (nested in a host Wayland for dev)
cargo run --release -p mirada-greeter # PAM login greeter (real backend + mock)
cargo run --release -p mirada-ctl -- ... # control the running compositor (swaymsg/hyprctl style)
DRM/KMS needs seat permissions — launch from a greeter/seat, not a plain user terminal. Nested mode (inside an existing Wayland session) is the friendly dev path.
Features
- Tiling WM (Hyprland-like): directional navigation, multi-monitor, workspace move/swap-master, configurable borders, hot-reload of
config.ron. - Multi-monitor, multi-DPI: per-output wallpaper / order / scale / fit; logical layout across mixed 1×/2× outputs; hotplug.
- Openbox-style root menu with nested submenus; autohide bottom bar.
- Greeter MVP: remembers last user/desktop,
↑/↓switch desktops, configurable Matrix-rain background, real PAM backend + mock. - Robust VT switching (
Ctrl+Alt+F1…F12) with libseat pause/resume, keymap-independent. - Complete XDG portal: any app gets file pickers via the portal with no app-specific code.
Scope of this repository
This is the lean build of mirada — the compositor, WM, greeter, portal and CLI. The AI desktop assistant (mirada-asistente, which pulls an LLM stack) and the experimental WebAssembly status bar (mirada-bar-web) are not included here; the compositor does not depend on them.
Caveats (honest state)
- Not a
sway/westonreplacement in stability — yet. It replaces them in Llimphi-HAL compatibility. - DRM/KMS path validated on Intel only. NVIDIA proprietary and multi-GPU/Optimus are untested.
- Production DRM/KMS hardening beyond the MVP is ongoing.
License
MIT. Builds on Llimphi (pulled as a git dependency).