niri README

The project's README from github.com/niri-wm/niri. As one markdown file: README.md.

niri

A scrollable-tiling Wayland compositor.

Matrix GitHub License GitHub Release

Getting Started | Configuration | Setup Showcase

niri with a few windows open

About

Windows are arranged in columns on an infinite strip going to the right. Opening a new window never causes existing windows to resize.

Every monitor has its own separate window strip. Windows can never "overflow" onto an adjacent monitor.

Workspaces are dynamic and arranged vertically. Every monitor has an independent set of workspaces, and there's always one empty workspace present all the way down.

The workspace arrangement is preserved across disconnecting and connecting monitors where it makes sense. When a monitor disconnects, its workspaces will move to another monitor, but upon reconnection they will move back to the original monitor.

Features

Video Demo

https://github.com/niri-wm/niri/assets/1794388/bce834b0-f205-434e-a027-b373495f9729

Also check out these videos that showcase a lot of the niri functionality:

Status

Niri is stable for day-to-day use and does most things expected of a Wayland compositor. Many people are daily-driving niri, and are happy to help in our Matrix channel.

Give it a try! Follow the instructions on the Getting Started page. Grab a desktop shell like DankMaterialShell or Noctalia (or build a more traditional setup): niri by itself is not a complete desktop environment. Also check out awesome-niri, a list of niri-related links and projects.

Here are some points you may have questions about:

Media

niri: Making a Wayland compositor in Rust · December 2024

My talk from the 2024 Moscow RustCon about niri, and how I do randomized property testing and profiling, and measure input latency. The talk is in Russian, but I prepared full English subtitles that you can find in YouTube's subtitle language selector.

An interview with Ivan, the developer behind Niri · June 2025

An interview by a German tech podcast Das Triumvirat (in English). We talk about niri development and history, and my experience building and maintaining niri.

A tour of the niri scrolling-tiling Wayland compositor · July 2025

An LWN article with a nice overview and introduction to niri.

Contributing

If you'd like to help with niri, there are plenty of both coding- and non-coding-related ways to do so. See CONTRIBUTING.md for an overview.

Inspiration

Niri is heavily inspired by PaperWM which implements scrollable tiling on top of GNOME Shell.

One of the reasons that prompted me to try writing my own compositor is being able to properly separate the monitors. Being a GNOME Shell extension, PaperWM has to work against Shell's global window coordinate space to prevent windows from overflowing.

Tile Scrollably Elsewhere

Here are some other projects which implement a similar workflow:

Contact

Our main communication channel is a Matrix chat, feel free to join and ask a question: https://matrix.to/#/#niri:matrix.org

We also have a community Discord server: https://discord.gg/vT8Sfjy7sx

niri (niri-wm/niri)

animations
Searching Database…

28.5K ·GitHub
What is this?niri is a scrollable-tiling Wayland compositor for Linux, written in Rust on top of Smithay. Its signature idea: windows sit in columns on an infinite strip that scrolls to the right.
How is scrollable tiling different from a regular tiling compositor?Opening a new window never resizes the existing ones — it just adds a column to the endless strip. Every monitor has its own separate strip, so windows never overflow onto a neighbor, and workspaces are dynamic and stacked vertically.
How do I get it running?The README points to the Getting Started page for install instructions. niri is a compositor, so it replaces your desktop session on Linux rather than installing as an app inside one.
Do I need anything else on top of it?Yes — niri by itself is not a complete desktop environment. The README suggests grabbing a desktop shell like DankMaterialShell or Noctalia, or building a more traditional setup yourself.
Is it stable enough to daily-drive?The README says niri is stable for day-to-day use and many people already daily-drive it. Rough edges are small: there are touchpad gestures but no touchscreen gestures yet.
Will it run on my hardware, like an NVIDIA card?NVIDIA reportedly works fine, multi-monitor with mixed DPI and fractional scaling are first-class, and it is light on resources — someone runs it on an Eee PC 900 from 2008.
What does it ship with out of the box?An Overview that zooms out your workspaces, a built-in screenshot UI, screencasting where you can hide sensitive windows, tabbed windows, background blur, animations with custom shaders, and a live-reloading config.
Why build a whole new compositor instead of using PaperWM?niri is heavily inspired by PaperWM, but PaperWM is a GNOME Shell extension that has to fight Shell's global window coordinate space to keep windows from overflowing. Writing his own compositor let the author separate monitors properly from the start.
What about floating windows?Supported — floating windows have been available since niri 25.01, alongside the scrollable columns.
Does it support drawing tablets?Yes — niri supports tablets, touchpads, and touchscreens. You can map a tablet to a specific monitor or use OpenTabletDriver.
Creator
niri-wm
Size
12.5 MB
Stars
28.5K
Age
3y
Commits · 90 Days