Ferese
Ferese is an experimental Wayland tiling compositor written in Rust with Smithay. The nested M0–M3 path is complete, including tiling, workspaces, and timestamp-driven animated geometry. Development now targets the M4 early hardware-session milestone in the window-manager specification.
Development
Install the native dependencies required by Smithay's winit and GLES backends, then run:
cargo run -p ferese
Pass a client and its arguments after -- to launch it inside Ferese:
cargo run -p ferese -- foot
Set RUST_LOG=ferese=debug for detailed compositor logging.
Direct DRM session
Run the hardware backend from a spare TTY, outside another graphical session:
RUST_LOG=ferese=debug cargo run -p ferese -- --backend=drm -- foot
Do not run that command from a terminal inside the active desktop: the direct backend requests control of the seat and primary DRM device. Use Ctrl+Alt+F1–F12 to switch virtual terminals.
M4 validation requires the direct session to:
- start
footand render the same animated tiling workload as the nested path; - retain keyboard and pointer input;
- pause when switching away and redraw after switching back; and
- log page-flip timing and any missed presentation deadlines on the reference integrated GPU.
The direct path currently targets one connected output. Multi-output hotplug is part of M5.