Skip to content
TESSA

Wayland, composed

A quiet desktop
with sharp edges.

Tessa is a tiling Wayland compositor and shell written in Zig. Layouts that flow, a panel that belongs, and a stable extension surface for the rest.

wlroots 0.20 · Zig 0.17 · 78 headless tests

MOSAIC · 1920×1080
Tessa running a mosaic layout with terminal windows
live session · eDP-1

59.7fps

single animated surface

2.4ms

compositor per frame

120MiB

idle session RAM

78tests

headless scripts

What is inside

Small surface. Deep control.

Everything you need for a daily desktop is in the repository — no bar, launcher, or notification daemon required.

01

Layouts

Tiling that flows

Master, mosaic, grid, equal columns, Niri-style scrolling, monocle, and stacking. Reorder by drag, keyboard, or IPC.

02

Shell

A shell, not an add-on

Wallpaper, floating bar, searchable launcher, notifications, tray, media, audio, compositor-aware bar modules, external widget popovers, and hot-reloading theme packages in one panel.

03

Extensions

A contract you can build on

Supervised processes with rotating tokens, explicit scopes, ready timeouts, lifecycle events, and a frozen v1 API.

04

Effects

Ink that moves

scenefx rounding and blur, per-window tint, custom curves, and close snapshots — on by default, with a plain no-scenefx build and reduced-motion support.

05

Japanese

Japanese input, first class

Fcitx5 and Mozc through text-input-v3 and input-method-v2, with IME popups and XWayland clients.

06

Performance

Measured, not guessed

Frame-time budgets, scanout and tearing counters, effect cache stats, and reproducible benchmarks in the docs.

One compositor, many shapes

Find your flow.

Switch layouts per workspace or per output. Drag a tiled window to reorder it; scroll or stack when the screen gets full.

  • Master
  • Mosaic
  • Grid
  • Columns
  • Scrolling
  • Monocle

Use ← → to switch layouts

HEADLESS-1 · 1920×1080 master

In use

Quietly opinionated.

Vermilion Ink is the reference look: deep navy, warm paper, a five-petal mark, and just enough motion.

Tessa mosaic layout with terminal windows
MosaicTessa Panel
Tessa launcher overlay
LauncherTessa Panel
Tessa bar with extension status entries
ExtensionsTessa Panel
Two Tessa outputs with independent bars
Two outputsTessa Panel

Measured on real hardware

Small on idle. Steady under load.

Three native runs with wayland-compositor-bench on an i5-6300U at 1920×1080. No score — just the axes that matter.

Read the benchmark
Single surface 59.7 fps
Six extra windows 53.3 fps
Compositor ms/frame 2.4 / 4.6 ms
Idle compositor CPU 0.21 %

wayland-compositor-bench 0.6.1 · i5-6300U · Intel HD 520 · 1920×1080@59.93 Hz

Get Tessa

Start in a few minutes.

Packages track the 0.2.4 release; the current 0.2.5 tree builds from source with Zig 0.17, wlroots 0.20, and scenefx 0.5.

Read the full install guide
Arch Linux
git clone https://github.com/Keychrom/Tessa.git
cd Tessa/packaging/arch
makepkg -si

Official zig, wlroots0.20, and scenefx packages. Rounded corners and blur are enabled by default.