What Is labwc? The Beginner's Guide to the Openbox-Style Wayland Compositor

CodexFuse Team · 2026-11-04T13:59:28.342Z · 9 min read min read

What Is labwc? The Beginner's Guide to the Openbox-Style Wayland Compositor

If you have been Googling labwc and wondering what is labwc, exactly — this is labwc explained for beginners. labwc is a lightweight, wlroots-based window-stacking compositor for Wayland, inspired by Openbox: your windows float and overlap like cards instead of being forced into a tiled grid. It is written in C, configured with the familiar Openbox 3.6 specification, and it says no to animations by design. It became widely known when Raspberry Pi OS made it the default desktop compositor in October 2024. This guide covers what labwc is, how stacking differs from tiling, the Openbox connection, why the Raspberry Pi team chose it, how to configure it, and how to install it.

Unlike a full desktop environment, labwc does exactly one job — manage windows — and leaves panels, launchers, and wallpapers to separate programs you choose yourself. It is also the opposite design bet from Omarchy, the developer distro we covered previously: where that project ships Hyprland's keyboard-driven tiling, labwc deliberately stacks windows the way Openbox did on X11.

What Is labwc, Exactly?

labwc — short for "Lab Wayland Compositor" — is an open-source, wlroots-based window-stacking compositor for Wayland, written in C and inspired by Openbox. The project's official README defines it as "a wlroots-based window-stacking compositor for Wayland, inspired by Openbox," and adds that it takes "a no-bling/frills approach and says no to features such as animations."

The name itself explains the project: "lab" can mean lightweight-and-*box-inspired, a sense of experimentation and treading new ground, inspiration from BunsenLabs and ArchLabs — or, as the README jokes, "your favorite pet." As of November 4, 2026, the latest stable release is 0.20.3 (released October 30, 2026), and the GitHub repository labwc/labwc carries 2,886 stars under the GPL-2.0 license, with 3,668 commits across 31 releases.

Stacking vs Tiling: How Is labwc Different?

A stacking compositor lets windows float, overlap, and be dragged freely — the behavior you know from Windows or macOS. A tiling compositor arranges every window automatically in a non-overlapping grid, driven mostly by the keyboard. labwc is stacking, not tiling: that single choice is the whole point, and it is why labwc appeals to people who never liked being forced into grids.

labwcSwayHyprland
Window styleStacking (floating, overlapping)TilingTiling
Inspired byOpenboxi3Its own design
ConfigurationOpenbox 3.6 XML (rc.xml)i3-style plain-text configHyprland's own config format
AnimationsNone — refused by designMinimalHeavy, animated eye candy
Input styleMouse-friendly, keyboard optionalKeyboard-drivenKeyboard-driven
Best forOpenbox refugees, Raspberry Pi usersi3 users moving to WaylandTiling fans who like flair

Sway and Hyprland appear here as comparison points only — labwc fills the stacking lane they deliberately do not, which is exactly why all three can coexist without rivaling each other.

What Does "Openbox for Wayland" Mean?

It means labwc reuses Openbox's configuration and theme syntax instead of inventing a new one. The official labwc-config(5) man page states it plainly: "Labwc uses openbox-3.6 specification for configuration and theming, but does not support all options." This is why "labwc openbox wayland" has become such a common search: people want the classic Openbox feel on a modern Wayland session.

Your old Openbox rc.xml, menu.xml, and themes therefore mostly carry over. For themes, the README says to "search the internet for 'openbox themes' and place them in ~/.local/share/themes/." This does not make labwc an Openbox clone — as the README puts it, "configuration files will look and feel familiar," which is precisely the point: two decades of Openbox muscle memory transfers directly to Wayland.

Why Does Raspberry Pi OS Ship labwc?

Because the Raspberry Pi team benchmarked it against their own hardware and it won. When Raspberry Pi OS Bookworm arrived in 2023, it replaced mutter with Wayfire and made Wayland the default for the Pi 4 and 5 — but Wayfire proved a poor fit for the Pi's graphics hardware, so the team went looking for a replacement.

Simon Long's official post of October 28, 2024 tells the story: "This search eventually led us to a composer called Labwc. Our initial experiments were encouraging: we were able to use it in Raspberry Pi OS after only a few hours of work. A closer investigation revealed Labwc to be a much better fit for the Raspberry Pi graphics hardware than Wayfire." With the image released October 22, 2024, Raspberry Pi Desktop runs Wayland by default across all models, and the team wrote: "We recommend that most people switch to LabWC," since Wayfire would no longer receive updates.

The relationship has only deepened: the September 2026 Raspberry Pi OS update moved labwc and wlroots to the 0.20 series and removed Wayfire from the Control Centre entirely. If you own a Raspberry Pi, you have very likely been running labwc already — which is why "labwc raspberry pi os" is one of the most-searched pairings around this compositor.

How Do You Configure labwc?

With plain-text XML files in ${XDG_CONFIG_HOME:-$HOME/.config/labwc/} — and sensibly, you can start and run labwc with zero configuration files at all. The six files below are the entire labwc config surface; the six files form the whole system:

FileWhat it controls
rc.xmlMain configuration: keybindings, window behavior, theme
menu.xmlContents of the right-click desktop menu
autostartPrograms to launch when labwc starts
shutdownScripts to run when labwc exits
environmentEnvironment variables for the session
xinitrcX11-compatibility startup via XWayland
themerc-overridePer-theme setting overrides

Out of the box, the defaults cover the essentials: Alt-Tab cycles windows, Super-Return opens a terminal, Alt-F4 closes a window, Super-A toggles maximize, Super-D toggles show-desktop, Alt-Space opens the window menu, Super-plus-drag moves a window, Super-plus-right-drag resizes it, and labwc --reconfigure reloads your config without restarting. Keyboard remappers can layer their own shortcuts on top — our keyd guide covers system-wide key remapping on Linux.

The official getting-started guide shows how small a first config is. This verbatim example adds two launcher keybinds (the W- prefix means the Super key):

<?xml version="1.0" ?>
<labwc_config>
  <keyboard>
    <default />
    <!-- The W- prefix refers to the Super key -->
    <keybind key="W-d">
      <action name="Execute" command="sakura" />
    </keybind>
    <keybind key="W-z">
      <action name="Execute" command="wofi --show drun" />
    </keybind>
  </keyboard>
</labwc_config>

What Is the Philosophy Behind labwc?

Predictability over novelty. The official philosophy(7) document says: "Where other compositors may optimise for animation, workflow re-invention or novel UX, we generally prefer predictability, muscle memory, configuration-file-driven behaviour and Openbox parity."

In their own summary: "Wayland, but without philosophical re-education." The project wants labwc "small, calm, predictable and narrowly focused," and it has been deliberately conservative with new features since the beginning of 2026: "We would rather see labwc remain a small, focused and dependable compositor than gradually accumulate features that do not clearly belong." A compositor, in the labwc view, "should be boring in order to do its job well."

How Do You Install labwc and Try It?

With your distro's package manager — five steps from zero to a running session:

  1. Install. sudo dnf install labwc (Fedora), sudo pacman -S labwc (Arch), apk add labwc labwc-doc (Alpine), or sudo apt install labwc on Raspberry Pi OS and Ubuntu. Packaged versions vary by distro; the commands above were verified per-distro.
  2. Launch. Type labwc at a terminal, or pick labwc in your display manager — SDDM and GDM both list it.
  3. Move windows. Hold Super and drag to move; Super plus right-drag resizes. Click the desktop for the root menu.
  4. Configure. Copy the sample rc.xml from the labwc/labwc repository's docs/ folder into ~/.config/labwc/, edit it, and run labwc --reconfigure.
  5. Complete the desktop. labwc ships no panel or launcher by design — add waybar and fuzzel (or wofi) to autostart for a full desktop.

From source, the build is two commands: meson setup build/ then meson compile -C build/, with runtime dependencies on wlroots, wayland, libinput, xkbcommon, libxml2, cairo, pango, glib-2.0, and libpng. If your Linux lives on a remote machine rather than a desk, our VPS hosting guide covers the server side of a Linux setup.

labwc vs Hyprland: Which Should You Pick?

Pick labwc if you want a calm, familiar, mouse-friendly desktop that stays out of your way — especially on modest hardware like a Raspberry Pi. Pick Hyprland if you want a keyboard-driven tiling workflow with animated eye candy. They are different answers to different tastes, and this guide covers the stacking side of that choice in one place rather than splitting it across pages.

Sources

Every fact in this article was verified from a source fetched on November 4, 2026:

  • labwc project README (github.com/labwc/labwc) — self-definition, name origins, license, build instructions
  • labwc-config(5) man page (labwc.github.io) — Openbox 3.6 specification, config files
  • labwc-philosophy(7) (labwc.github.io) — no-animation philosophy, 2026 conservatism note
  • labwc getting-started guide (labwc.github.io) — rc.xml keybind example, launch instructions
  • labwc NEWS.md (github.com/labwc/labwc) — 0.20.3, 0.20.x, and 0.9.x release history
  • labwc GitHub repository page — stars, forks, commits, releases as of November 4, 2026
  • Simon Long, "A new release of Raspberry Pi OS" (raspberrypi.com, October 28, 2024) — the labwc default switch
  • Wikipedia — Raspberry Pi OS (default UI, Trixie release)
  • linuxiac — "Labwc 0.20.3 Wayland Compositor Adds Custom Pointer Acceleration"
  • FreshPorts — x11-wm/labwc (FreeBSD packaging)
  • Alpine Linux wiki — LabWC installation
  • Gentoo wiki — Labwc
  • techrefreshing — SparkyLinux 2026.09 review (labwc 0.20.2 MinimalGUI edition)

Frequently Asked Questions

Is labwc a tiling window manager?

No. labwc is strictly a stacking (floating) compositor — windows overlap and you drag them freely, exactly like Openbox on X11. If you want tiling on Wayland, Sway and Hyprland are the established choices; labwc exists precisely for people who do not want that.

Does labwc support animations?

No, and that is deliberate. The official README takes "a no-bling/frills approach and says no to features such as animations," and the philosophy document prefers "predictability, muscle memory, configuration-file-driven behaviour and Openbox parity" over animated eye candy.

Can I use my Openbox themes and rc.xml with labwc?

Mostly yes. labwc implements the Openbox 3.6 configuration and theming specification, so existing Openbox themes and config files will look and feel familiar — the man page notes that not every option is supported, and themes go in ~/.local/share/themes/.

Is labwc really the default on Raspberry Pi OS?

Yes — since the October 2024 release (image 2024-10-22), when it replaced Wayfire as the default Wayland compositor. Raspberry Pi Desktop now runs Wayland with labwc by default across all models, and the September 2026 update moved labwc and wlroots to the 0.20 series.

What is the current version of labwc?

As of November 4, 2026, the latest stable release is 0.20.3, released October 30, 2026. Version numbers now track the bundled wlroots minor release (0.20.x pairs with wlroots 0.20.x), while the 0.9.x line remains a maintenance branch for wlroots 0.19.

Featured on Twelve Tools Hunt for Tools Featured on LaunchBuff Launch Llama Tools Launch your MCP Top Web Development Companies in the US - OnToplist.com Designer Listings Listed on SeeWhatNewAI