Why OpenRiot Chose Its Desktop Stack (i3 + Xenocara)

One tiling setup. Every common question answered. Zero compromises on OpenBSD.

“I just want my desktop to feel modern and polished without fighting the OS or patching everything into oblivion.”


𝕆𝕡𝕖𝕟ℝ𝕚𝕠𝕥

OpenRiot is deliberately built on i3 (X11) + OpenBSD’s Xenocara because that combination delivers the best possible balance of:

  • Rock-solid OpenBSD security and simplicity
  • Mature, scriptable tiling that actually works
  • Modern conveniences (one-click screen recording, dynamic Polybar, seamless audio with sndio, etc.)
  • Zero Wayland drama on OpenBSD (for now)
  • No “you must patch everything yourself” religion

This document exists because we get the same questions over and over:

“Why not DWM?” “Why not Sway?” “Why not Hyprland?” “Why not bspwm / AwesomeWM / [your favorite]?”

Here are the honest answers — once and for all.

This is not a purity contest. It is a curated environment that respects OpenBSD’s strengths while adding the workflow polish users actually need.

Built with the same principles as ArchRiot — but evolved with a full year of hard lessons about what actually matters when you move from Linux to OpenBSD.


The Usual Suspects: Why Not [WM]?

DWM — Legendary Minimalism, Missing Mechanisms

DWM is legendary for its minimalism. We love the philosophy.

But it simply does not have the mechanisms required for the experience OpenRiot promises:

  • No native, easy way to add dynamic top-menu items or one-click actions (screen recording with audio toggle, for example)
  • Status bar integration is primitive compared to Polybar
  • Dynamic sound monitoring (sndio) + visual feedback requires heavy external tooling or patches
  • Event model and IPC are too limited for the kind of “it just works” UX we ship

After building ArchRiot on Wayland + Hyprland, we learned exactly which abstractions we needed. Re-implementing all of them on top of DWM would have taken months of forking and maintenance — time better spent making OpenRiot actually usable on day one.

DWM is perfect for people who enjoy patching their WM for six months. OpenRiot is for people who want to get shit done today.


Wayland + Sway (and Friends)

Sway is an excellent Wayland compositor. We respect it.

However, on OpenBSD right now it comes with real trade-offs:

  • Wayland support on OpenBSD is still maturing. Many applications, screen recording tools, and input methods that “just work” on Linux require workarounds or are missing entirely.
  • Xenocara’s security model (pledge/unveil, privilege separation, aggressive sandboxing) is one of OpenBSD’s crown jewels. Moving the entire desktop to Wayland means giving that up for compositors that haven’t received the same level of OpenBSD-specific hardening.
  • Our killer features (one-click screen recording with proper sndio audio monitoring, dynamic Polybar modules, seamless menu integration) were far easier and more reliable to implement on the mature X11 + i3 stack.
  • Performance & stability on OpenBSD 7.9 currently favors the X11 path for daily driver use.

Sway is fantastic on Linux. On OpenBSD today it would force us to either accept missing features or spend significant time fighting the OS instead of enhancing it.

We are not anti-Wayland. We are pro-OpenBSD security model and shipping working software first.


Hyprland (The ArchRiot Nostalgia Pick)

Hyprland was the star of ArchRiot — beautiful animations, excellent IPC, modern Wayland features. We loved it.

But:

  • It is a Linux-first, bleeding-edge compositor. OpenBSD support is experimental at best.
  • The entire animation/plugin ecosystem and many quality-of-life features we relied on simply don’t exist or are broken on OpenBSD.
  • Re-creating the same polished experience we had on ArchRiot would have required massive forking and maintenance — exactly the kind of Linux-style “paper over problems with hacks” we are trying to escape.

Hyprland was the right tool on Linux. On OpenBSD, i3 + Xenocara is the right tool.


bspwm

bspwm is clean, scriptable, and minimal. We like it.

However:

  • It is essentially a window manager only — it relies heavily on external tools (sxhkd, polybar, etc.) for everything else.
  • The event model and scripting surface are smaller than i3’s excellent IPC.
  • We would have ended up re-implementing large parts of the “modern desktop” experience that i3 already gives us out of the box.

i3 simply offered a better starting point for the level of integration we wanted with Polybar, rofi, dunst, and our custom modules.


AwesomeWM, Qtile, and Other “Feature-Rich” Options

These are powerful and highly configurable.

But they come with:

  • Larger codebases and more moving parts
  • Higher maintenance burden
  • A different philosophy (more “desktop environment” than pure tiling WM)

OpenRiot deliberately stays in the minimal-but-extensible sweet spot. i3 + carefully chosen external tools gives us that without the bloat or complexity of a full DE.


Native OpenBSD Options (cwm, fvwm, etc.)

OpenBSD ships with excellent native window managers (cwm is particularly nice).

We chose i3 because:

  • It has a much larger ecosystem of tools, documentation, and user knowledge
  • The tiling model and keybinding philosophy are extremely well understood
  • It scales better to the kind of multi-monitor, dynamic workflow we ship

We respect the native options — they just didn’t give us the exact balance of power and familiarity we were targeting.


Why i3 (X11) + Xenocara Wins on OpenBSD

i3 — The Right Tool for the Job on OpenBSD

  • Mature & stable on OpenBSD’s X server (Xenocara)
  • Excellent IPC and scripting (i3-msg, i3-save-tree, etc.)
  • Battle-tested tiling model that millions already understand
  • Easy to extend with Polybar, rofi, dunst, and our custom modules
  • No experimental Wayland compositor bugs on OpenBSD 7.9

We chose the best tool that actually exists today on OpenBSD, not the one that “should” exist in an ideal world.

Xenocara — OpenBSD’s Hardened X11

This is not stock Xorg. Xenocara is OpenBSD’s heavily patched, security-hardened X server:

  • Privilege separation by design
  • pledge(2) and unveil(2) sandboxing on the server and many clients
  • Aggressive dropping of unnecessary privileges
  • Fewer extensions enabled by default
  • Audited for local attack surface

It is one of the most secure X11 implementations available anywhere. Moving to Wayland on OpenBSD right now would mean giving up this hardening for experimental compositors that aren’t yet ready for prime time.

We are not anti-Wayland. We are pro-OpenBSD security model first.


The Lessons from ArchRiot

ArchRiot proved that a clean, minimal, ridiculously polished desktop was possible on Linux with Wayland + Hyprland.

But Linux lets you cheat. You can paper over problems with 47 different daemons, random patches, and “it works on my machine” configs.

OpenBSD does not forgive laziness.

So we took every hard-won lesson:

  • One-command install that actually works
  • Dark theme that looks good at 3 a.m. and 3 p.m.
  • Dynamic, useful status bar (Polybar + custom modules)
  • One-click screen recording with proper audio (no terminal, no sndio hacks)
  • Proper Monero integration
  • WireGuard, Proton Drive, Transmission, all just working

… and rebuilt it correctly for OpenBSD’s constraints and strengths.


Curated to be Correct

Choice Why OpenRiot Chose It What We Rejected
i3 (X11) Mature, scriptable, reliable on Xenocara DWM (too minimal), bspwm (less IPC)
Xenocara OpenBSD’s hardened, pledge/unveil X server Stock Xorg or experimental Wayland
Polybar + custom modules Beautiful, dynamic, easy to extend i3bar, dzen2, or built-in bars
sndio + our recorder Native, secure, one-click with audio feedback PulseAudio hacks or ALSA wrappers
Helix + fish Modern, fast, consistent developer experience Vim + bash “because tradition”
Sway / Hyprland (Wayland) Excellent on Linux — not ready for prime time on OpenBSD Current Wayland stack on OpenBSD 7.9

This is not “the most minimal.” This is the most correct for users who want OpenBSD without the 100-hour config tax.


Philosophy

“Linux has never been about quality. There are so many parts of the system that are just these cheap little hacks, and it happens to run.” — Theo de Raadt

OpenRiot refuses to bring Linux-style hacks to OpenBSD.

We choose tools that:

  • Respect the OS’s security model
  • Require minimal maintenance
  • Deliver real usability on day one
  • Look and feel intentional

Every decision — from i3 over DWM, Xenocara over Wayland, Polybar over built-in bars — was made with that filter.


The Bottom Line

We didn’t choose i3 + Xenocara because it was trendy. We chose it because, after a year of real-world use and hard lessons from ArchRiot, it is the combination that lets us ship:

One command. Complete OpenBSD desktop. Zero compromises.

If someone asks “Why not DWM?” or “Why not Sway?” or “Why not Hyprland?” or “Why not bspwm?” or “Why not [your favorite WM]?” — the answer is the same:

Time, skill, preference, and the specific aesthetic + environment we wanted to curate.

We are not building the WM for everyone. We are building the desktop we actually want to use every single day on the most secure operating system available.

And we’re sharing it because we think you might want it too.


Start a Riot. Use OpenBSD correctly.

Back to OpenRiot.orgGitHubOriginal X thread


This document is part of the OpenRiot philosophy series. More “Why OpenRiot Chose…” posts coming as the project evolves.