A Wayland compositor designed for daily use, with scrolling, dwindle, master, and stacking layouts, per-output workspaces, window rules, blur, shadows, and fluid animations.
It runs independently and pairs with Noctalia, which provides a first-class desktop shell on top. Under the hood: C++23, wlroots, and umbrielfx, an in-tree hard fork of SceneFX.
Important
The project is young and actively evolving. It is usable today, but configuration keys, keybinds, and behavior may change between releases, and rough edges remain. Current defaults are opinions, not stability promises.
There is no single killer feature: we were disappointed with the choices available, so we built the compositor we wanted to live in. That is how Noctalia came to life, and this is its compositor side.
We want one desktop for productivity and gaming: flexible layouts, tab groups, and scratchpads for organizing work, alongside HDR, variable refresh rate, and configurable fullscreen presentation for games.
To understand the values and philosophy guiding the project, read our ethos.
- Layouts: scrolling, dwindle, master, and stacking per workspace, with tab groups, scratchpads, and mouse-driven resizing and reordering
- Workspaces and outputs: independent workspaces per output, hotplug restoration, fractional scaling, and virtual outputs for game streaming
- Windows: window rules, layer rules, optional title bars, stacking drop zones, and an animated overview
- Visuals: blur, shadows, rounded corners, double borders, animations, and GLSL effect presets
- Gaming and display: opt-in HDR, variable refresh rate, tearing, direct scanout, and explicit sync, where hardware and clients support them
- Input: keyboard, touchpad gestures, touch, tablets, input methods, and pointer locking and confinement
- Integration: on-demand Xwayland, sandboxed connections, layer shell, session lock, and screen sharing through xdg-desktop-portal-umbriel
- Configuration: live-reloaded TOML with includes and diagnostics, plus IPC and runtime inspection
See the installation guide for distribution packages, Nix, and source builds, then pick Umbriel in your display manager or run start-umbriel from a TTY. The default keybinds open kitty with mod+Return and the Noctalia launcher with mod alone.
Copy examples/config.toml to ~/.config/umbriel/config.toml to start; changes apply live. The online documentation is the full reference.
See CONTRIBUTING.md for development builds, code style, and checks, and SCOPE.md for what the project takes on and declines; please skim it before opening a feature request. Bug reports are always welcome, and help and design discussion happen on Discord.
Umbriel would not exist without the work of these projects, and we are grateful to everyone who builds and maintains them:
- wlroots: the compositor library Umbriel is built on.
- SceneFX:
umbrielfx, Umbriel's scene graph and renderer, is a hard fork of SceneFX (MIT). Thank you for the foundation. - niri: its scrolling layout and animations inspired ours. Thank you for showing how good they can feel.
- Hyprland: its visual effects inspired ours. Thank you for raising the bar.
Thank you to all their authors and contributors.
MIT License. See LICENSE for details.