Domicile: new Rust Wayland compositor renders entire Linux desktop through patched Chromium
Domicile is a Rust-based Wayland compositor that embeds native application windows as elements inside a Chromium-rendered web page, using CSS for window management and npm-distributed shells for customization.
Summary
Domicile introduces a novel Linux desktop architecture where a patched build of Chromium serves as the rendering foundation for an entire Wayland compositor. Native applications continue to execute as standard processes, but their windows are captured by the compositor and displayed as elements within a single web page that constitutes the desktop shell. This design unifies web content and native applications in the same visual hierarchy, with CSS controlling layout behaviors such as tiling, floating, and multi-monitor spanning.
The project ships with Manganese, a ready-made tiling shell that provides Sway-like keybindings on the Super key, ten workspaces, tabs, stacks, splits, and a scratchpad. Domicile omits Xwayland entirely, restricting compatibility to applications with native Wayland support. It is distributed under the MIT license with modified Chromium files retaining their original licenses, and packages are available for Fedora, openSUSE, Debian, Ubuntu, Arch Linux, and NixOS via flake, though only x86_64 builds are offered.
Architecture and rendering model
- Chromium-based compositor core: Domicile is written in Rust and uses a patched Chromium build to render the complete desktop as a web page, with native Wayland windows composited into that page as individual elements rather than drawn through traditional GPU scene graph approaches.
- Shell-as-web-page design: The compositor delegates all chrome, window layout, and visual styling to a user-provided or third-party shell implemented as a web page, enabling shell swaps without window closure since only shell-local state resets.
- CSS-driven window management: Window positioning behaviors including tiling, floating, and stacking are controlled through CSS styling applied to the container elements holding native app windows and web views.
- Wayland-only with no Xwayland: The compositor requires native Wayland support from applications; Electron, SDL, and Qt applications launch in Wayland mode automatically, but X11-only applications are unsupported due to the deliberate omission of Xwayland.
- npm package ecosystem for shells: Shell components, complete desktops, bars, and launchers are distributed as npm packages, with the built-in browser supporting Manifest V3 Chrome extensions though with some behavioral deviations from standard Chrome.
Why it matters
Domicile represents an experimental fusion of web rendering infrastructure with native Linux desktop composition that could attract developers already invested in web technologies, while its Chromium dependency and AI-assisted development may deter portions of the traditional open-source desktop community. The lack of ARM builds and Xwayland support significantly limits hardware compatibility and legacy application coverage, positioning it as a niche exploration rather than a general-purpose replacement for established compositors like Sway, Hyprland, or Mutter.
Original reference: feed.itsfoss.com →