Tiling Wayland Compositors Explained: niri vs Hyprland vs Sway
A traditional desktop lets windows overlap. You drag them, resize them, and alt-tab between them. A tiling compositor instead places windows for you, so that every open window is visible and the screen is fully used, and you move between them with the keyboard.
Tiling used to mean an X11 window manager like i3 or dwm. On Wayland, the display server and window manager are the same program, a compositor, and three have become the popular choices: niri, Hyprland, and Sway. Omarchy is built on Hyprland, and KaOS now ships niri. If Wayland compositors are new to you, start with Wayland vs X11.
Three tiling models
The biggest difference between them is not features or looks. It is what happens when you open a window.
Sway: manual tiling (i3 style)
Sway reproduces i3 on Wayland, including its config format. The screen is a tree of containers. Before opening a window, you choose whether the next split will be horizontal or vertical; the new window takes half of the focused container’s space.
It is precise and predictable, and it rewards learning: you build exactly the layout you want. The cost is that you manage the tree yourself, and deep nesting can get confusing.
Hyprland: dynamic tiling
Hyprland splits space automatically according to a layout. The default, dwindle, splits the focused window in half along its longer side, like a spiral. The master layout keeps one large window on one side and stacks the rest.
You do not plan splits, but every new window shrinks the existing ones. Open five windows on a laptop screen and each is small. Hyprland’s other identity is eye candy: smooth animations, rounded corners, blur, shadows, and a huge configuration surface. It uses its own rendering backend rather than wlroots.
niri: scrollable tiling
niri arranges windows in columns on an infinitely wide horizontal strip. Opening a window adds a new column to the right; it never resizes the windows you already have. The monitor is a viewport that scrolls left and right across the strip, and workspaces stack vertically.
This fixes the main frustration of other tiling models on small screens. Windows keep a sensible width, and you scroll to them instead of watching everything get cramped. Written in Rust, niri has become the quickest-growing of the three.
| Sway | Hyprland | niri | |
|---|---|---|---|
| Model | Manual tree (i3) | Automatic splitting | Scrollable columns |
| New window resizes others | Yes | Yes | No |
| Visual effects | Minimal | Extensive | Moderate |
| Config | i3-style text file | hyprland.conf | config.kdl |
| Language | C (wlroots) | C++ | Rust |
| Stability focus | Very high | Fast-moving | High |
Configuration
All three are configured with a text file, and reload it without logging out.
Sway, ~/.config/sway/config:
set $mod Mod4
bindsym $mod+Return exec foot
bindsym $mod+d exec fuzzel
bindsym $mod+h focus left
bindsym $mod+b splith
bindsym $mod+v splitv
output eDP-1 scale 1.5
Hyprland, ~/.config/hypr/hyprland.conf:
$mod = SUPER
bind = $mod, Return, exec, foot
bind = $mod, D, exec, fuzzel
bind = $mod, H, movefocus, l
monitor = eDP-1, preferred, auto, 1.5
general {
gaps_in = 4
gaps_out = 8
}
niri, ~/.config/niri/config.kdl:
binds {
Mod+Return { spawn "foot"; }
Mod+D { spawn "fuzzel"; }
Mod+H { focus-column-left; }
Mod+R { switch-preset-column-width; }
}
output "eDP-1" {
scale 1.5
}
niri validates its config and keeps the previous working one if you make a mistake, which saves a lot of broken sessions while learning.
A compositor is not a desktop
A compositor manages windows and nothing else. A full desktop environment like GNOME or KDE Plasma bundles a dozen other pieces, and with a tiling compositor you assemble them yourself:
| Piece | Common choices |
|---|---|
| Status bar | Waybar |
| App launcher | fuzzel, wofi, rofi |
| Notifications | mako, dunst, swaync |
| Screen locker | swaylock, hyprlock |
| Idle handling | swayidle, hypridle |
| Wallpaper | swaybg, hyprpaper, swww |
| Password prompts | a polkit agent (such as polkit-gnome) |
| Portals | the matching xdg-desktop-portal backend |
Portals are the piece most often forgotten. File pickers, screen sharing, and screenshots in sandboxed apps all go through xdg-desktop-portal. Sway uses xdg-desktop-portal-wlr, Hyprland has xdg-desktop-portal-hyprland, and niri works with xdg-desktop-portal-gnome. Without the right one, screen sharing in browsers silently fails. Our guide to Wayland screenshots and screen recording covers the tools that depend on them.
Assembling all of that is part of the appeal for some people and a chore for others. Preconfigured projects such as Omarchy (Hyprland), and desktop shells like Noctalia or DankMaterialShell built for niri and Hyprland, give you a finished setup to start from.
Picking one
Choose Sway if you already use i3, want maximum stability, or want something that changes slowly. It is the most conservative of the three.
Choose Hyprland if you want animations and visual polish and enjoy tuning a large configuration. It moves fast, which means new features and occasional config changes between releases.
Choose niri if you work on a laptop or a single monitor, dislike windows being resized behind your back, or are new to tiling. Many people who bounced off tiling before find scrollable tiling clicks immediately.
The honest advice is to try each for a day or two. They are all small packages, they can be installed side by side, and you pick one from your display manager at login. None of them removes your existing desktop.
# Arch
sudo pacman -S sway niri hyprland
# Fedora
sudo dnf install sway niri hyprland
Frequently Asked Questions
What is a tiling compositor?
A tiling compositor is a Wayland display server that arranges windows automatically so they fill the screen without overlapping, instead of letting you drag and resize floating windows. Most are driven mainly from the keyboard and configured through a text file.
What is the difference between niri and Hyprland?
niri uses scrollable tiling: windows sit in columns on an infinitely wide strip and opening a new one never resizes the others. Hyprland uses dynamic tiling, where opening a window splits the space and shrinks existing windows, and it emphasizes animations and visual effects.
Is Sway the same as i3?
Sway is a Wayland compositor designed as a drop-in replacement for the i3 window manager on X11. It reads an i3-compatible configuration file and uses the same manual tiling model with containers you split horizontally or vertically.
Do tiling compositors work with GNOME and KDE apps?
Yes. Any Wayland application runs normally, and X11 applications run through XWayland. You may need to install the right xdg-desktop-portal backend so file pickers, screen sharing and dark mode preferences work correctly.
What else do I need besides the compositor?
A compositor only manages windows. You usually add a status bar such as Waybar, an application launcher such as fuzzel, a notification daemon such as mako, a screen locker, a wallpaper tool, and a polkit agent for password prompts. Preconfigured setups like Omarchy bundle all of these.
Which tiling compositor should a beginner try?
niri is often the easiest to adjust to because windows never unexpectedly resize and the defaults are usable out of the box. Sway is the best choice if you already know i3. Hyprland suits people who want heavy visual customization and are comfortable tuning a config file.