Aulinx Compositor Architecture

Full-product AI-native Wayland compositor built with Smithay

System Architecture

Data Flow
Python Agent (151 tools)
|
Unix Socket — JSON-RPC
/run/aulinx/ai.sock
|
IPC Server
windows.* / input.* / screen.*
Calloop UnixListener
AulinxState
Central hub
All Smithay delegates
Layout Engine
Hybrid tiling/floating
BSP tree + z-stack
XDG Shell
Windows
Layer Shell
AI Palette
XWayland
X11 Apps
Screencopy
Capture
Winit Backend
Development (nested in GNOME)
DRM/KMS + Udev Backend
Production (bare metal)
Glow/OpenGL Renderer — damage tracking, frame scheduling

Module Structure

compositor/src/
main.rs — entry point, backend selection, event loop
state.rs — AulinxState + all Smithay delegate impls
config.rs — socket path, default layout mode
window.rs — WindowElement enum (Wayland + X11)
workspace.rs — workspace management, Super+1..9
focus.rs — keyboard/pointer focus tracking
cursor.rs — cursor theme loading
xwayland.rs — X11 compatibility layer
backend/ — winit.rs (dev) + udev.rs (prod)
shell/ — xdg.rs + layer.rs + decoration.rs
layout/ — tiling.rs (BSP) + floating.rs
ipc/ — mod.rs (server) + protocol.rs + handlers.rs
input/ — mod.rs (physical) + injection.rs (AI virtual)
render/ — mod.rs + renderer.rs (Glow + damage)

IPC Commands

Window Control
windows.list
windows.focus(id)
windows.move(id, x, y, w, h)
windows.close(id)
windows.screenshot(id)
Input Injection
input.type(text)
input.key(combo)
input.mouse(x, y, btn, action)
Screen Capture
screen.capture(region?)