noctalia-dev/umbriel

Productivity & Utilities

A Wayland compositor for daily desktop use with tiling and scrolling layouts, window rules, visual effects, and gaming display options.

1,360
104
C++
MIT
3 months old

What it is

Umbriel is a Wayland compositor built for everyday desktop use rather than as a minimal reference implementation. It ships scrolling, dwindle, master, and stacking layouts per workspace, tab groups, scratchpads, independent workspaces per output, window and layer rules, optional title bars, an animated overview, and mouse-driven resizing and reordering. Visuals include blur, shadows, rounded corners, double borders, animations, and GLSL effect presets. Display and gaming options cover opt-in HDR, variable refresh rate, tearing, direct scanout, and explicit sync where hardware and clients support them. Input handling covers keyboard, touchpad gestures, touch, tablets, input methods, and pointer locking and confinement. Integration includes on-demand Xwayland, sandboxed connections, layer shell, session lock, and screen sharing through xdg-desktop-portal-umbriel.

It is written in C++23 on top of wlroots, with umbrielfx, an in-tree hard fork of SceneFX, providing the scene graph and renderer. It runs independently and pairs with Noctalia for a desktop shell. The README frames it as one desktop for both productivity and gaming: flexible layouts and tab groups for organizing work, alongside HDR, VRR, and configurable fullscreen presentation for games project rationale.

Quick start

  1. Install from a distribution package, Nix, or a source build following the installation guide.
  2. Start a session either by selecting Umbriel in your display manager or by running start-umbriel from a TTY.
  3. Check that the session is usable: mod+Return opens kitty, and mod alone opens the Noctalia launcher by default default keybinds.
  4. Configure it by copying examples/config.toml to ~/.config/umbriel/config.toml. The configuration is TOML with includes and diagnostics, and changes apply live configuration.
  5. For the full option reference, use the online documentation.

The README does not list dependency packages or per-distribution package names; the installation guide is the authoritative source for those.

Constraints and caveats

The project describes itself as young and actively evolving: configuration keys, keybinds, and behavior may change between releases, and rough edges remain. Current defaults are opinions, not stability promises README. HDR, variable refresh rate, tearing, direct scanout, and explicit sync are opt-in and depend on hardware and client support. Screen sharing requires the separate xdg-desktop-portal-umbriel portal. Licensing is MIT LICENSE.

HotRepo's take

On the 2026-11-01 daily C++ ranking, Umbriel recorded 1,354 stars and 103 forks, gaining 29 stars that day and reaching 12th place on that language list. That is the only snapshot available, so it supports a single-day observation, not a growth trend: the repository is new, and its first recorded appearance already places it in the top ranks of the C++ daily list. The more meaningful read is the project's positioning: a compositor that combines tiling layouts and heavy visual effects with gaming-oriented display features targets a niche that usually forces users to choose between those two worlds. That combination, more than the day's rank, is what makes it worth watching for Wayland desktop users already comfortable with a config-file-driven workflow.

Written by AI from the project's README, updated . The project's own docs are the source of truth.