Niri Compositor

Howdy, all! I’ve been daily driving the Niri compositor with Noctalia shell on my main linux computer for a little while now, and it’s been incredibly useful. Using my pocket reform, I can’t help but think that the scrolling would make for a much better experience on the small screen while not having a hugely increased performance overhead, but while arch arm64 has a version in its packages, unfortunately it isn’t packaged for debian just yet. Has anyone had any success getting it running from source, or another similar solution?

1 Like

I am interested in tiling solutions for gnome and niri is inspired by the gnome shell extension paperwm for which there exists an ITP in Debian:

Creating a Debian package for niri will be more challenging since quite a few of its Rust dependencies are missing:

 🔴 niri v25.11.0 (/tmp/niri)
 🔴 ├── smithay-drm-extras v0.1.0 (git+https://github.com/Smithay/smithay.git#d743e1a317fa0f01d1c4cadd96d277a1ec7b59d9)
    │   ├── drm v0.14.1 (in debian)
    │   └── libdisplay-info v0.3.0 (in debian)
 🔴 ├── smithay v0.7.0 (git+https://github.com/Smithay/smithay.git#d743e1a317fa0f01d1c4cadd96d277a1ec7b59d9)
    │   ├── aliasable v0.1.3 (in debian)
    │   ├── appendlist v1.4.0 (in debian)
    │   ├── atomic_float v1.1.0 (in debian)
    │   ├── bitflags v2.9.4 (in debian)
 ⌛ │   ├── calloop v0.14.3 (outdated, 0.13.0 in debian)
    │   │   ├── async-task v4.7.1 (in debian)
    │   │   ├── bitflags v2.9.4 (in debian)
    │   │   ├── futures-io v0.3.31 (in debian)
    │   │   ├── nix v0.30.1 (in debian)
    │   │   ├── polling v3.11.0 (3.10.0 in debian)
    │   │   ├── rustix v1.1.2 (in debian)
    │   │   ├── slab v0.4.11 (0.4.9 in debian)
    │   │   └── tracing v0.1.41 (in debian)
    │   ├── cgmath v0.18.0 (in debian)
    │   ├── cursor-icon v1.2.0 (1.1.0 in debian)
    │   ├── downcast-rs v1.2.1 (1.2.0 in debian)
    │   ├── drm-ffi v0.9.0 (in debian)
    │   ├── drm-fourcc v2.2.0 (in debian)
    │   ├── drm v0.14.1 (in debian)
    │   ├── errno v0.3.14 (0.3.13 in debian)
    │   ├── gbm v0.18.0 (in debian)
    │   ├── indexmap v2.11.4 (in debian)
    │   ├── input v0.9.1 (0.9.0 in debian)
    │   ├── libc v0.2.176 (0.2.175 in debian)
    │   ├── libloading v0.8.9 (0.8.5 in debian)
 🔴 │   ├── libseat v0.2.3
    │   │   ├── errno v0.3.14 (0.3.13 in debian)
    │   │   ├── libseat-sys v0.1.9 (in debian)
    │   │   └── log v0.4.28 (in debian)
    │   ├── pixman v0.2.1 (in debian)
    │   ├── profiling v1.0.17 (1.0.16 in debian)
 ⌛ │   ├── rand v0.9.2 (outdated, 0.8.5 in debian)
 ⌛ │   │   ├── rand_chacha v0.9.0 (outdated, 0.3.1 in debian)
    │   │   │   ├── ppv-lite86 v0.2.21 (in debian)
 ⌛ │   │   │   └── rand_core v0.9.3 (outdated, 0.6.4 in debian)
 ⌛ │   │   │       └── getrandom v0.3.3 (outdated, 0.2.15 in debian)
    │   │   │           ├── cfg-if v1.0.3 (in debian)
    │   │   │           └── libc v0.2.176 (0.2.175 in debian)
 ⌛ │   │   └── rand_core v0.9.3 (outdated, 0.6.4 in debian)
 ⌛ │   │       └── getrandom v0.3.3 (outdated, 0.2.15 in debian)
    │   │           ├── cfg-if v1.0.3 (in debian)
    │   │           └── libc v0.2.176 (0.2.175 in debian)
    │   ├── rustix v1.1.2 (in debian)
    │   ├── sha2 v0.10.9 (in debian)
    │   ├── smallvec v1.15.1 (in debian)
    │   ├── tempfile v3.23.0 (in debian)
    │   ├── thiserror v2.0.17 (in debian)
    │   ├── tracing v0.1.41 (in debian)
    │   ├── udev v0.9.3 (0.9.1 in debian)
    │   ├── wayland-backend v0.3.11 (in debian)
    │   ├── wayland-client v0.31.11 (in debian)
    │   ├── wayland-cursor v0.31.11 (in debian)
    │   ├── wayland-egl v0.32.8 (in debian)
    │   ├── wayland-protocols-misc v0.3.9 (in debian)
    │   ├── wayland-protocols-wlr v0.3.9 (0.3.6 in debian)
    │   ├── wayland-protocols v0.32.9 (0.32.6 in debian)
    │   ├── wayland-server v0.31.10 (in debian)
    │   ├── wayland-sys v0.31.7 (in debian)
    │   ├── winit v0.30.12 (0.30.9 in debian)
 ⌛ │   └── xkbcommon v0.9.0 (outdated, 0.8.0 in debian)
    │       ├── libc v0.2.176 (0.2.175 in debian)
    │       ├── memmap2 v0.9.8 (in debian)
    │       └── xkeysym v0.2.1 (in debian)
    │   [build-dependencies]
    │   ├── cc v1.2.39 (1.2.34 in debian)
    │   ├── gl_generator v0.14.0 (in debian)
    │   └── pkg-config v0.3.32 (in debian)
 🔴 ├── niri-config v25.11.0 (/tmp/niri/niri-config)
 🔴 │   ├── smithay v0.7.0 (git+https://github.com/Smithay/smithay.git#d743e1a317fa0f01d1c4cadd96d277a1ec7b59d9)
    │   │   ├── aliasable v0.1.3 (in debian)
    │   │   ├── appendlist v1.4.0 (in debian)
    │   │   ├── atomic_float v1.1.0 (in debian)
    │   │   ├── bitflags v2.9.4 (in debian)
 ⌛ │   │   ├── calloop v0.14.3 (outdated, 0.13.0 in debian)
 🔴 │   │   ├── libseat v0.2.3
    │   │   │   ├── errno v0.3.14 (0.3.13 in debian)
    │   │   │   ├── libseat-sys v0.1.9 (in debian)
    │   │   │   └── log v0.4.28 (in debian)
    │   │   ├── pixman v0.2.1 (in debian)
    │   │   ├── profiling v1.0.17 (1.0.16 in debian)
 ⌛ │   │   ├── rand v0.9.2 (outdated, 0.8.5 in debian)
 ⌛ │   │   │   ├── rand_chacha v0.9.0 (outdated, 0.3.1 in debian)
    │   │   │   │   ├── ppv-lite86 v0.2.21 (in debian)
 ⌛ │   │   │   │   └── rand_core v0.9.3 (outdated, 0.6.4 in debian)
 ⌛ │   │   │   │       └── getrandom v0.3.3 (outdated, 0.2.15 in debian)
    │   │   │   │           ├── cfg-if v1.0.3 (in debian)
    │   │   │   │           └── libc v0.2.176 (0.2.175 in debian)
 ⌛ │   │   │   └── rand_core v0.9.3 (outdated, 0.6.4 in debian)
 ⌛ │   │   │       └── getrandom v0.3.3 (outdated, 0.2.15 in debian)
    │   │   │           ├── cfg-if v1.0.3 (in debian)
    │   │   │           └── libc v0.2.176 (0.2.175 in debian)
    │   │   ├── rustix v1.1.2 (in debian)
    │   │   ├── sha2 v0.10.9 (in debian)
    │   │   ├── smallvec v1.15.1 (in debian)
    │   │   ├── tempfile v3.23.0 (in debian)
    │   │   ├── thiserror v2.0.17 (in debian)
    │   │   ├── tracing v0.1.41 (in debian)
    │   │   ├── udev v0.9.3 (0.9.1 in debian)
    │   │   ├── wayland-backend v0.3.11 (in debian)
    │   │   ├── wayland-client v0.31.11 (in debian)
    │   │   ├── wayland-cursor v0.31.11 (in debian)
    │   │   ├── wayland-egl v0.32.8 (in debian)
    │   │   ├── wayland-protocols-misc v0.3.9 (in debian)
    │   │   ├── wayland-protocols-wlr v0.3.9 (0.3.6 in debian)
    │   │   ├── wayland-protocols v0.32.9 (0.32.6 in debian)
    │   │   ├── wayland-server v0.31.10 (in debian)
    │   │   ├── wayland-sys v0.31.7 (in debian)
    │   │   ├── winit v0.30.12 (0.30.9 in debian)
 ⌛ │   │   └── xkbcommon v0.9.0 (outdated, 0.8.0 in debian)
    │   │       ├── libc v0.2.176 (0.2.175 in debian)
    │   │       ├── memmap2 v0.9.8 (in debian)
    │   │       └── xkeysym v0.2.1 (in debian)
    │   │   [build-dependencies]
    │   │   ├── cc v1.2.39 (1.2.34 in debian)
    │   │   ├── gl_generator v0.14.0 (in debian)
    │   │   └── pkg-config v0.3.32 (in debian)
    │   ├── niri-ipc v25.11.0 (25.8.0 in debian) (/tmp/niri/niri-ipc)
    │   ├── bitflags v2.9.4 (in debian)
 ⌛ │   ├── csscolorparser v0.7.2 (outdated, 0.8.1 in debian)
    │   │   └── phf v0.11.3 (in debian)
    │   ├── knuffel v3.2.0 (in debian)
 ⌛ │   ├── miette v5.10.0 (outdated, 7.6.0 in debian)
    │   │   ├── is-terminal v0.4.16 (0.4.13 in debian)
 ⌛ │   │   ├── miette-derive v5.10.0 (outdated, 7.6.0 in debian)
    │   │   │   ├── proc-macro2 v1.0.101 (in debian)
    │   │   │   ├── quote v1.0.41 (1.0.40 in debian)
    │   │   │   └── syn v2.0.106 (2.0.105 in debian)
    │   │   ├── once_cell v1.21.3 (in debian)
 ⌛ │   │   ├── owo-colors v3.5.0 (outdated, 4.2.3 in debian)
 ⌛ │   │   ├── supports-color v2.1.0 (outdated, 3.0.2 in debian)
    │   │   │   ├── is-terminal v0.4.16 (0.4.13 in debian)
    │   │   │   └── is_ci v1.2.0 (1.1.1 in debian)
 ⌛ │   │   ├── supports-hyperlinks v2.1.0 (outdated, 3.1.0 in debian)
    │   │   │   └── is-terminal v0.4.16 (0.4.13 in debian)
 ⌛ │   │   ├── supports-unicode v2.1.0 (outdated, 3.0.0 in debian)
    │   │   │   └── is-terminal v0.4.16 (0.4.13 in debian)
 ⌛ │   │   ├── terminal_size v0.1.17 (outdated, 0.4.2 in debian)
    │   │   │   └── libc v0.2.176 (0.2.175 in debian)
 ⌛ │   │   ├── textwrap v0.15.2 (outdated, 0.16.2 in debian)
    │   │   │   ├── smawk v0.3.2 (in debian)
    │   │   │   ├── unicode-linebreak v0.1.5 (in debian)
    │   │   │   └── unicode-width v0.1.14 (in debian)
    │   │   ├── thiserror v1.0.69 (in debian)
    │   │   └── unicode-width v0.1.14 (in debian)
    │   ├── regex v1.11.3 (in debian)
    │   ├── tracing v0.1.41 (in debian)
 🔴 │   └── tracy-client v0.18.3
    │       ├── once_cell v1.21.3 (in debian)
 🔴 │       └── tracy-client-sys v0.27.0
    │           [build-dependencies]
    │           └── cc v1.2.39 (1.2.34 in debian)
    │   [dev-dependencies]
    │   ├── diff v0.1.13 (in debian)
    │   ├── insta v1.43.2 (in debian)
    │   └── pretty_assertions v1.4.1 (in debian)
    ├── niri-ipc v25.11.0 (25.8.0 in debian) (/tmp/niri/niri-ipc)
 🔴 ├── accesskit v0.21.0
 🔴 ├── accesskit_unix v0.17.0
 🔴 │   ├── accesskit v0.21.0
 🔴 │   ├── accesskit_atspi_common v0.14.0
 🔴 │   │   ├── accesskit v0.21.0
 🔴 │   │   ├── accesskit_consumer v0.30.0
 🔴 │   │   │   ├── accesskit v0.21.0
 ⌛ │   │   │   └── hashbrown v0.15.5 (outdated, 0.16.1 in debian)
 ⌛ │   │   │       └── foldhash v0.1.5 (outdated, 0.2.0 in debian)
 ⌛ │   │   ├── atspi-common v0.9.0 (outdated, 0.13.0 in debian)
    │   │   │   ├── enumflags2 v0.7.12 (0.7.10 in debian)
    │   │   │   ├── serde v1.0.228 (in debian)
    │   │   │   ├── static_assertions v1.1.0 (in debian)
 🔴 │   │   │   ├── zbus-lockstep-macros v0.5.1
    │   │   │   │   ├── proc-macro2 v1.0.101 (in debian)
    │   │   │   │   ├── quote v1.0.41 (1.0.40 in debian)
    │   │   │   │   ├── syn v2.0.106 (2.0.105 in debian)
 🔴 │   │   │   │   ├── zbus-lockstep v0.5.1
 ✨ │   │   │   │   │   ├── zbus_xml v5.0.2 (in debian NEW queue)
    │   │   │   │   │   └── zvariant v5.7.0 (in debian)
 ✨ │   │   │   │   ├── zbus_xml v5.0.2 (in debian NEW queue)
    │   │   │   │   └── zvariant v5.7.0 (in debian)
 🔴 │   │   │   ├── zbus-lockstep v0.5.1
 ✨ │   │   │   │   ├── zbus_xml v5.0.2 (in debian NEW queue)
    │   │   │   │   └── zvariant v5.7.0 (in debian)
    │   │   │   ├── zbus v5.11.0 (in debian)
    │   │   │   ├── zbus_names v4.2.0 (in debian)
    │   │   │   └── zvariant v5.7.0 (in debian)
    │   │   ├── serde v1.0.228 (in debian)
    │   │   ├── thiserror v1.0.69 (in debian)
    │   │   └── zvariant v5.7.0 (in debian)
    │   ├── async-channel v2.5.0 (in debian)
    │   ├── async-executor v1.13.3 (in debian)
    │   ├── async-task v4.7.1 (in debian)
 ⌛ │   ├── atspi v0.25.0 (outdated, 0.29.0 in debian)
 ⌛ │   │   ├── atspi-common v0.9.0 (outdated, 0.13.0 in debian)
    │   │   │   ├── enumflags2 v0.7.12 (0.7.10 in debian)
    │   │   │   ├── serde v1.0.228 (in debian)
    │   │   │   ├── static_assertions v1.1.0 (in debian)
 🔴 │   │   │   ├── zbus-lockstep-macros v0.5.1
    │   │   │   │   ├── proc-macro2 v1.0.101 (in debian)
    │   │   │   │   ├── quote v1.0.41 (1.0.40 in debian)
    │   │   │   │   ├── syn v2.0.106 (2.0.105 in debian)
 🔴 │   │   │   │   ├── zbus-lockstep v0.5.1
 ✨ │   │   │   │   │   ├── zbus_xml v5.0.2 (in debian NEW queue)
    │   │   │   │   │   └── zvariant v5.7.0 (in debian)
 ✨ │   │   │   │   ├── zbus_xml v5.0.2 (in debian NEW queue)
    │   │   │   │   └── zvariant v5.7.0 (in debian)
 🔴 │   │   │   ├── zbus-lockstep v0.5.1
 ✨ │   │   │   │   ├── zbus_xml v5.0.2 (in debian NEW queue)
    │   │   │   │   └── zvariant v5.7.0 (in debian)
    │   │   │   ├── zbus v5.11.0 (in debian)
    │   │   │   ├── zbus_names v4.2.0 (in debian)
    │   │   │   └── zvariant v5.7.0 (in debian)
 ⌛ │   │   ├── atspi-connection v0.9.0 (outdated, 0.13.0 in debian)
 ⌛ │   │   │   ├── atspi-common v0.9.0 (outdated, 0.13.0 in debian)
    │   │   │   │   ├── enumflags2 v0.7.12 (0.7.10 in debian)
    │   │   │   │   ├── serde v1.0.228 (in debian)
    │   │   │   │   ├── static_assertions v1.1.0 (in debian)
 🔴 │   │   │   │   ├── zbus-lockstep-macros v0.5.1
    │   │   │   │   │   ├── proc-macro2 v1.0.101 (in debian)
    │   │   │   │   │   ├── quote v1.0.41 (1.0.40 in debian)
    │   │   │   │   │   ├── syn v2.0.106 (2.0.105 in debian)
 🔴 │   │   │   │   │   ├── zbus-lockstep v0.5.1
 ✨ │   │   │   │   │   │   ├── zbus_xml v5.0.2 (in debian NEW queue)
    │   │   │   │   │   │   └── zvariant v5.7.0 (in debian)
 ✨ │   │   │   │   │   ├── zbus_xml v5.0.2 (in debian NEW queue)
    │   │   │   │   │   └── zvariant v5.7.0 (in debian)
 🔴 │   │   │   │   ├── zbus-lockstep v0.5.1
 ✨ │   │   │   │   │   ├── zbus_xml v5.0.2 (in debian NEW queue)
    │   │   │   │   │   └── zvariant v5.7.0 (in debian)
    │   │   │   │   ├── zbus v5.11.0 (in debian)
    │   │   │   │   ├── zbus_names v4.2.0 (in debian)
    │   │   │   │   └── zvariant v5.7.0 (in debian)
 ⌛ │   │   │   ├── atspi-proxies v0.9.0 (outdated, 0.13.0 in debian)
 ⌛ │   │   │   │   ├── atspi-common v0.9.0 (outdated, 0.13.0 in debian)
    │   │   │   │   │   ├── enumflags2 v0.7.12 (0.7.10 in debian)
    │   │   │   │   │   ├── serde v1.0.228 (in debian)
    │   │   │   │   │   ├── static_assertions v1.1.0 (in debian)
 🔴 │   │   │   │   │   ├── zbus-lockstep-macros v0.5.1
    │   │   │   │   │   │   ├── proc-macro2 v1.0.101 (in debian)
    │   │   │   │   │   │   ├── quote v1.0.41 (1.0.40 in debian)
    │   │   │   │   │   │   ├── syn v2.0.106 (2.0.105 in debian)
 🔴 │   │   │   │   │   │   ├── zbus-lockstep v0.5.1
 ✨ │   │   │   │   │   │   │   ├── zbus_xml v5.0.2 (in debian NEW queue)
    │   │   │   │   │   │   │   └── zvariant v5.7.0 (in debian)
 ✨ │   │   │   │   │   │   ├── zbus_xml v5.0.2 (in debian NEW queue)
    │   │   │   │   │   │   └── zvariant v5.7.0 (in debian)
 🔴 │   │   │   │   │   ├── zbus-lockstep v0.5.1
 ✨ │   │   │   │   │   │   ├── zbus_xml v5.0.2 (in debian NEW queue)
    │   │   │   │   │   │   └── zvariant v5.7.0 (in debian)
    │   │   │   │   │   ├── zbus v5.11.0 (in debian)
    │   │   │   │   │   ├── zbus_names v4.2.0 (in debian)
    │   │   │   │   │   └── zvariant v5.7.0 (in debian)
    │   │   │   │   ├── serde v1.0.228 (in debian)
    │   │   │   │   └── zbus v5.11.0 (in debian)
    │   │   │   ├── futures-lite v2.6.1 (in debian)
    │   │   │   └── zbus v5.11.0 (in debian)
 ⌛ │   │   └── atspi-proxies v0.9.0 (outdated, 0.13.0 in debian)
 ⌛ │   │       ├── atspi-common v0.9.0 (outdated, 0.13.0 in debian)
    │   │       │   ├── enumflags2 v0.7.12 (0.7.10 in debian)
    │   │       │   ├── serde v1.0.228 (in debian)
    │   │       │   ├── static_assertions v1.1.0 (in debian)
 🔴 │   │       │   ├── zbus-lockstep-macros v0.5.1
    │   │       │   │   ├── proc-macro2 v1.0.101 (in debian)
    │   │       │   │   ├── quote v1.0.41 (1.0.40 in debian)
    │   │       │   │   ├── syn v2.0.106 (2.0.105 in debian)
 🔴 │   │       │   │   ├── zbus-lockstep v0.5.1
 ✨ │   │       │   │   │   ├── zbus_xml v5.0.2 (in debian NEW queue)
    │   │       │   │   │   └── zvariant v5.7.0 (in debian)
 ✨ │   │       │   │   ├── zbus_xml v5.0.2 (in debian NEW queue)
    │   │       │   │   └── zvariant v5.7.0 (in debian)
 🔴 │   │       │   ├── zbus-lockstep v0.5.1
 ✨ │   │       │   │   ├── zbus_xml v5.0.2 (in debian NEW queue)
    │   │       │   │   └── zvariant v5.7.0 (in debian)
    │   │       │   ├── zbus v5.11.0 (in debian)
    │   │       │   ├── zbus_names v4.2.0 (in debian)
    │   │       │   └── zvariant v5.7.0 (in debian)
    │   │       ├── serde v1.0.228 (in debian)
    │   │       └── zbus v5.11.0 (in debian)
    │   ├── futures-lite v2.6.1 (in debian)
    │   ├── futures-util v0.3.31 (in debian)
    │   ├── serde v1.0.228 (in debian)
    │   └── zbus v5.11.0 (in debian)
    ├── anyhow v1.0.100 (in debian)
    ├── arrayvec v0.7.6 (in debian)
    ├── async-channel v2.5.0 (in debian)
    ├── async-io v2.6.0 (2.5.0 in debian)
    ├── atomic v0.6.1 (in debian)
    ├── bitflags v2.9.4 (in debian)
    ├── bytemuck v1.23.2 (in debian)
 ⌛ ├── calloop v0.14.3 (outdated, 0.13.0 in debian)
    │   ├── async-task v4.7.1 (in debian)
    │   ├── bitflags v2.9.4 (in debian)
    │   ├── futures-io v0.3.31 (in debian)
    │   ├── nix v0.30.1 (in debian)
    │   ├── polling v3.11.0 (3.10.0 in debian)
    │   ├── rustix v1.1.2 (in debian)
    │   ├── slab v0.4.11 (0.4.9 in debian)
    │   └── tracing v0.1.41 (in debian)
    ├── clap v4.5.48 (in debian)
    ├── clap_complete v4.5.58 (in debian)
    ├── clap_complete_nushell v4.5.8 (in debian)
 ⌛ ├── directories v6.0.0 (outdated, 5.0.1 in debian)
 ⌛ │   └── dirs-sys v0.5.0 (outdated, 0.4.1 in debian)
    │       ├── libc v0.2.176 (0.2.175 in debian)
    │       └── option-ext v0.2.0 (in debian)
    ├── drm-ffi v0.9.0 (in debian)
    ├── fastrand v2.3.0 (in debian)
    ├── futures-util v0.3.31 (in debian)
 🔴 ├── git-version v0.3.9
 🔴 │   └── git-version-macro v0.3.9
    │       ├── proc-macro2 v1.0.101 (in debian)
    │       ├── quote v1.0.41 (1.0.40 in debian)
    │       └── syn v2.0.106 (2.0.105 in debian)
 ✨ ├── glam v0.30.8 (0.30.1 in debian NEW queue)
    ├── input v0.9.1 (0.9.0 in debian)
    ├── keyframe v1.1.1 (in debian)
    ├── libc v0.2.176 (0.2.175 in debian)
    ├── libdisplay-info v0.3.0 (in debian)
    ├── log v0.4.28 (in debian)
 ⌛ ├── ordered-float v5.1.0 (outdated, 4.6.0 in debian)
    │   └── num-traits v0.2.19 (in debian)
 ⌛ ├── pango v0.20.12 (outdated, 0.21.3 in debian)
 ⌛ │   ├── gio v0.20.12 (outdated, 0.21.4 in debian)
    │   │   ├── futures-channel v0.3.31 (in debian)
    │   │   ├── futures-core v0.3.31 (in debian)
    │   │   ├── futures-io v0.3.31 (in debian)
    │   │   ├── futures-util v0.3.31 (in debian)
 ⌛ │   │   ├── gio-sys v0.20.10 (outdated, 0.21.2 in debian)
 ⌛ │   │   │   ├── glib-sys v0.20.10 (outdated, 0.21.2 in debian)
    │   │   │   │   └── libc v0.2.176 (0.2.175 in debian)
    │   │   │   │   [build-dependencies]
    │   │   │   │   └── system-deps v7.0.5 (in debian)
 ⌛ │   │   │   ├── gobject-sys v0.20.10 (outdated, 0.21.2 in debian)
 ⌛ │   │   │   │   ├── glib-sys v0.20.10 (outdated, 0.21.2 in debian)
    │   │   │   │   │   └── libc v0.2.176 (0.2.175 in debian)
    │   │   │   │   │   [build-dependencies]
    │   │   │   │   │   └── system-deps v7.0.5 (in debian)
    │   │   │   │   └── libc v0.2.176 (0.2.175 in debian)
    │   │   │   │   [build-dependencies]
    │   │   │   │   └── system-deps v7.0.5 (in debian)
    │   │   │   └── libc v0.2.176 (0.2.175 in debian)
    │   │   │   [build-dependencies]
    │   │   │   └── system-deps v7.0.5 (in debian)
 ⌛ │   │   ├── glib v0.20.12 (outdated, 0.21.4 in debian)
    │   │   │   ├── bitflags v2.9.4 (in debian)
    │   │   │   ├── futures-channel v0.3.31 (in debian)
    │   │   │   ├── futures-core v0.3.31 (in debian)
    │   │   │   ├── futures-executor v0.3.31 (in debian)
    │   │   │   ├── futures-task v0.3.31 (in debian)
    │   │   │   ├── futures-util v0.3.31 (in debian)
 ⌛ │   │   │   ├── gio-sys v0.20.10 (outdated, 0.21.2 in debian)
 ⌛ │   │   │   │   ├── glib-sys v0.20.10 (outdated, 0.21.2 in debian)
    │   │   │   │   │   └── libc v0.2.176 (0.2.175 in debian)
    │   │   │   │   │   [build-dependencies]
    │   │   │   │   │   └── system-deps v7.0.5 (in debian)
 ⌛ │   │   │   │   ├── gobject-sys v0.20.10 (outdated, 0.21.2 in debian)
 ⌛ │   │   │   │   │   ├── glib-sys v0.20.10 (outdated, 0.21.2 in debian)
    │   │   │   │   │   │   └── libc v0.2.176 (0.2.175 in debian)
    │   │   │   │   │   │   [build-dependencies]
    │   │   │   │   │   │   └── system-deps v7.0.5 (in debian)
    │   │   │   │   │   └── libc v0.2.176 (0.2.175 in debian)
    │   │   │   │   │   [build-dependencies]
    │   │   │   │   │   └── system-deps v7.0.5 (in debian)
    │   │   │   │   └── libc v0.2.176 (0.2.175 in debian)
    │   │   │   │   [build-dependencies]
    │   │   │   │   └── system-deps v7.0.5 (in debian)
 ⌛ │   │   │   ├── glib-macros v0.20.12 (outdated, 0.21.4 in debian)
    │   │   │   │   ├── heck v0.5.0 (in debian)
    │   │   │   │   ├── proc-macro-crate v3.4.0 (3.2.0 in debian)
    │   │   │   │   ├── proc-macro2 v1.0.101 (in debian)
    │   │   │   │   ├── quote v1.0.41 (1.0.40 in debian)
    │   │   │   │   └── syn v2.0.106 (2.0.105 in debian)
 ⌛ │   │   │   ├── glib-sys v0.20.10 (outdated, 0.21.2 in debian)
    │   │   │   │   └── libc v0.2.176 (0.2.175 in debian)
    │   │   │   │   [build-dependencies]
    │   │   │   │   └── system-deps v7.0.5 (in debian)
 ⌛ │   │   │   ├── gobject-sys v0.20.10 (outdated, 0.21.2 in debian)
 ⌛ │   │   │   │   ├── glib-sys v0.20.10 (outdated, 0.21.2 in debian)
    │   │   │   │   │   └── libc v0.2.176 (0.2.175 in debian)
    │   │   │   │   │   [build-dependencies]
    │   │   │   │   │   └── system-deps v7.0.5 (in debian)
    │   │   │   │   └── libc v0.2.176 (0.2.175 in debian)
    │   │   │   │   [build-dependencies]
    │   │   │   │   └── system-deps v7.0.5 (in debian)
    │   │   │   ├── libc v0.2.176 (0.2.175 in debian)
    │   │   │   ├── memchr v2.7.6 (in debian)
    │   │   │   └── smallvec v1.15.1 (in debian)
    │   │   ├── libc v0.2.176 (0.2.175 in debian)
    │   │   ├── pin-project-lite v0.2.16 (in debian)
    │   │   └── smallvec v1.15.1 (in debian)
 ⌛ │   ├── glib v0.20.12 (outdated, 0.21.4 in debian)
 ⌛ │   │   ├── gio-sys v0.20.10 (outdated, 0.21.2 in debian)
 ⌛ │   │   │   ├── glib-sys v0.20.10 (outdated, 0.21.2 in debian)
    │   │   │   │   └── libc v0.2.176 (0.2.175 in debian)
    │   │   │   │   [build-dependencies]
    │   │   │   │   └── system-deps v7.0.5 (in debian)
 ⌛ │   │   │   ├── gobject-sys v0.20.10 (outdated, 0.21.2 in debian)
 ⌛ │   │   │   │   ├── glib-sys v0.20.10 (outdated, 0.21.2 in debian)
    │   │   │   │   │   └── libc v0.2.176 (0.2.175 in debian)
    │   │   │   │   │   [build-dependencies]
    │   │   │   │   │   └── system-deps v7.0.5 (in debian)
    │   │   │   │   └── libc v0.2.176 (0.2.175 in debian)
    │   │   │   │   [build-dependencies]
    │   │   │   │   └── system-deps v7.0.5 (in debian)
    │   │   │   └── libc v0.2.176 (0.2.175 in debian)
    │   │   │   [build-dependencies]
    │   │   │   └── system-deps v7.0.5 (in debian)
 ⌛ │   │   ├── glib-macros v0.20.12 (outdated, 0.21.4 in debian)
    │   │   │   ├── heck v0.5.0 (in debian)
    │   │   │   ├── proc-macro-crate v3.4.0 (3.2.0 in debian)
    │   │   │   ├── proc-macro2 v1.0.101 (in debian)
    │   │   │   ├── quote v1.0.41 (1.0.40 in debian)
    │   │   │   └── syn v2.0.106 (2.0.105 in debian)
 ⌛ │   │   ├── glib-sys v0.20.10 (outdated, 0.21.2 in debian)
    │   │   │   └── libc v0.2.176 (0.2.175 in debian)
    │   │   │   [build-dependencies]
    │   │   │   └── system-deps v7.0.5 (in debian)
 ⌛ │   │   ├── gobject-sys v0.20.10 (outdated, 0.21.2 in debian)
 ⌛ │   │   │   ├── glib-sys v0.20.10 (outdated, 0.21.2 in debian)
 ⌛ │   └── pango-sys v0.20.10 (outdated, 0.21.2 in debian)
 ⌛ │       ├── glib-sys v0.20.10 (outdated, 0.21.2 in debian)
    │       │   └── libc v0.2.176 (0.2.175 in debian)
    │       │   [build-dependencies]
    │       │   └── system-deps v7.0.5 (in debian)
 ⌛ │       ├── gobject-sys v0.20.10 (outdated, 0.21.2 in debian)
 ⌛ │       │   ├── glib-sys v0.20.10 (outdated, 0.21.2 in debian)
    │       │   │   └── libc v0.2.176 (0.2.175 in debian)
    │       │   │   [build-dependencies]
    │       │   │   └── system-deps v7.0.5 (in debian)
    │       │   └── libc v0.2.176 (0.2.175 in debian)
    │       │   [build-dependencies]
    │       │   └── system-deps v7.0.5 (in debian)
    │       └── libc v0.2.176 (0.2.175 in debian)
    │       [build-dependencies]
    │       └── system-deps v7.0.5 (in debian)
 ⌛ ├── pangocairo v0.20.10 (outdated, 0.21.2 in debian)
 ⌛ │   ├── cairo-rs v0.20.12 (outdated, 0.21.2 in debian)
    │   │   ├── bitflags v2.9.4 (in debian)
 ⌛ │   │   ├── cairo-sys-rs v0.20.10 (outdated, 0.21.2 in debian)
 ⌛ │   │   │   ├── glib-sys v0.20.10 (outdated, 0.21.2 in debian)
    │   │   │   │   └── libc v0.2.176 (0.2.175 in debian)
    │   │   │   │   [build-dependencies]
    │   │   │   │   └── system-deps v7.0.5 (in debian)
    │   │   │   └── libc v0.2.176 (0.2.175 in debian)
    │   │   │   [build-dependencies]
    │   │   │   └── system-deps v7.0.5 (in debian)
 ⌛ │   │   ├── glib v0.20.12 (outdated, 0.21.4 in debian)
    │   │   │   ├── bitflags v2.9.4 (in debian)
    │   │   │   ├── futures-channel v0.3.31 (in debian)
    │   │   │   ├── futures-core v0.3.31 (in debian)
    │   │   │   ├── futures-executor v0.3.31 (in debian)
    │   │   │   ├── futures-task v0.3.31 (in debian)
    │   │   │   ├── futures-util v0.3.31 (in debian)
 ⌛ │   │   │   ├── gio-sys v0.20.10 (outdated, 0.21.2 in debian)
 ⌛ │   │   │   │   ├── glib-sys v0.20.10 (outdated, 0.21.2 in debian)
    │   │   │   │   │   └── libc v0.2.176 (0.2.175 in debian)
    │   │   │   │   │   [build-dependencies]
    │   │   │   │   │   └── system-deps v7.0.5 (in debian)
 ⌛ │   │   │   │   ├── gobject-sys v0.20.10 (outdated, 0.21.2 in debian)
 ⌛ │   │   │   │   │   ├── glib-sys v0.20.10 (outdated, 0.21.2 in debian)
 ⌛ │   ├── pango v0.20.12 (outdated, 0.21.3 in debian)
 ⌛ │   │   ├── gio v0.20.12 (outdated, 0.21.4 in debian)
    │   │   │   ├── futures-channel v0.3.31 (in debian)
    │   │   │   ├── futures-core v0.3.31 (in debian)
    │   │   │   ├── futures-io v0.3.31 (in debian)
    │   │   │   ├── futures-util v0.3.31 (in debian)
 ⌛ │   │   │   ├── gio-sys v0.20.10 (outdated, 0.21.2 in debian)
 ⌛ │   │   │   │   ├── glib-sys v0.20.10 (outdated, 0.21.2 in debian)
    │   │   │   │   │   └── libc v0.2.176 (0.2.175 in debian)
    │   │   │   │   │   [build-dependencies]
    │   │   │   │   │   └── system-deps v7.0.5 (in debian)
 ⌛ │   │   │   │   ├── gobject-sys v0.20.10 (outdated, 0.21.2 in debian)
 ⌛ │   │   │   │   │   ├── glib-sys v0.20.10 (outdated, 0.21.2 in debian)
 ⌛ │   │   │   ├── glib v0.20.12 (outdated, 0.21.4 in debian)
 ⌛ │   │   │   │   ├── gio-sys v0.20.10 (outdated, 0.21.2 in debian)
 ⌛ │   │   │   │   │   ├── glib-sys v0.20.10 (outdated, 0.21.2 in debian)
    │   │   │   │   │   │   └── libc v0.2.176 (0.2.175 in debian)
    │   │   │   │   │   │   [build-dependencies]
    │   │   │   │   │   │   └── system-deps v7.0.5 (in debian)
 ⌛ │   │   │   │   │   ├── gobject-sys v0.20.10 (outdated, 0.21.2 in debian)
 ⌛ │   │   │   │   │   │   ├── glib-sys v0.20.10 (outdated, 0.21.2 in debian)
 ⌛ │   │   │   │   ├── glib-macros v0.20.12 (outdated, 0.21.4 in debian)
    │   │   │   │   │   ├── heck v0.5.0 (in debian)
    │   │   │   │   │   ├── proc-macro-crate v3.4.0 (3.2.0 in debian)
    │   │   │   │   │   ├── proc-macro2 v1.0.101 (in debian)
    │   │   │   │   │   ├── quote v1.0.41 (1.0.40 in debian)
    │   │   │   │   │   └── syn v2.0.106 (2.0.105 in debian)
 ⌛ │   │   │   │   ├── glib-sys v0.20.10 (outdated, 0.21.2 in debian)
    │   │   │   │   │   └── libc v0.2.176 (0.2.175 in debian)
    │   │   │   │   │   [build-dependencies]
    │   │   │   │   │   └── system-deps v7.0.5 (in debian)
 ⌛ │   │   │   │   ├── gobject-sys v0.20.10 (outdated, 0.21.2 in debian)
 ⌛ │   │   │   │   │   ├── glib-sys v0.20.10 (outdated, 0.21.2 in debian)
 ⌛ │   │   ├── glib v0.20.12 (outdated, 0.21.4 in debian)
    │   │   │   ├── bitflags v2.9.4 (in debian)
    │   │   │   ├── futures-channel v0.3.31 (in debian)
    │   │   │   ├── futures-core v0.3.31 (in debian)
    │   │   │   ├── futures-executor v0.3.31 (in debian)
    │   │   │   ├── futures-task v0.3.31 (in debian)
    │   │   │   ├── futures-util v0.3.31 (in debian)
 ⌛ │   │   │   ├── gio-sys v0.20.10 (outdated, 0.21.2 in debian)
 ⌛ │   │   │   │   ├── glib-sys v0.20.10 (outdated, 0.21.2 in debian)
    │   │   │   │   │   └── libc v0.2.176 (0.2.175 in debian)
    │   │   │   │   │   [build-dependencies]
    │   │   │   │   │   └── system-deps v7.0.5 (in debian)
 ⌛ │   │   │   │   ├── gobject-sys v0.20.10 (outdated, 0.21.2 in debian)
 ⌛ │   │   │   │   │   ├── glib-sys v0.20.10 (outdated, 0.21.2 in debian)
 ⌛ │   │   │   ├── glib-macros v0.20.12 (outdated, 0.21.4 in debian)
 ⌛ │   │   │   ├── glib-sys v0.20.10 (outdated, 0.21.2 in debian)
    │   │   │   │   └── libc v0.2.176 (0.2.175 in debian)
    │   │   │   │   [build-dependencies]
    │   │   │   │   └── system-deps v7.0.5 (in debian)
 ⌛ │   │   │   ├── gobject-sys v0.20.10 (outdated, 0.21.2 in debian)
 ⌛ │   │   │   │   ├── glib-sys v0.20.10 (outdated, 0.21.2 in debian)
 ⌛ │   │   └── pango-sys v0.20.10 (outdated, 0.21.2 in debian)
 ⌛ │   │       ├── glib-sys v0.20.10 (outdated, 0.21.2 in debian)
    │   │       │   └── libc v0.2.176 (0.2.175 in debian)
    │   │       │   [build-dependencies]
    │   │       │   └── system-deps v7.0.5 (in debian)
 ⌛ │   │       ├── gobject-sys v0.20.10 (outdated, 0.21.2 in debian)
 ⌛ │   │       │   ├── glib-sys v0.20.10 (outdated, 0.21.2 in debian)
    │   │       │   │   └── libc v0.2.176 (0.2.175 in debian)
    │   │       │   │   [build-dependencies]
    │   │       │   │   └── system-deps v7.0.5 (in debian)
    │   │       │   └── libc v0.2.176 (0.2.175 in debian)
    │   │       │   [build-dependencies]
    │   │       │   └── system-deps v7.0.5 (in debian)
    │   │       └── libc v0.2.176 (0.2.175 in debian)
    │   │       [build-dependencies]
    │   │       └── system-deps v7.0.5 (in debian)
 ⌛ │   └── pangocairo-sys v0.20.10 (outdated, 0.21.2 in debian)
 ⌛ │       ├── cairo-sys-rs v0.20.10 (outdated, 0.21.2 in debian)
 ⌛ │       │   ├── glib-sys v0.20.10 (outdated, 0.21.2 in debian)
    │       │   │   └── libc v0.2.176 (0.2.175 in debian)
    │       │   │   [build-dependencies]
    │       │   │   └── system-deps v7.0.5 (in debian)
    │       │   └── libc v0.2.176 (0.2.175 in debian)
    │       │   [build-dependencies]
    │       │   └── system-deps v7.0.5 (in debian)
 ⌛ │       ├── glib-sys v0.20.10 (outdated, 0.21.2 in debian)
    │       │   └── libc v0.2.176 (0.2.175 in debian)
    │       │   [build-dependencies]
    │       │   └── system-deps v7.0.5 (in debian)
    │       ├── libc v0.2.176 (0.2.175 in debian)
 ⌛ │       └── pango-sys v0.20.10 (outdated, 0.21.2 in debian)
 ⌛ │           ├── glib-sys v0.20.10 (outdated, 0.21.2 in debian)
    │           │   └── libc v0.2.176 (0.2.175 in debian)
    │           │   [build-dependencies]
    │           │   └── system-deps v7.0.5 (in debian)
 ⌛ │           ├── gobject-sys v0.20.10 (outdated, 0.21.2 in debian)
 ⌛ │           │   ├── glib-sys v0.20.10 (outdated, 0.21.2 in debian)
 ⌛ ├── png v0.18.0 (outdated, 0.17.16 in debian)
    │   ├── bitflags v2.9.4 (in debian)
    │   ├── crc32fast v1.5.0 (in debian)
    │   ├── fdeflate v0.3.7 (in debian)
    │   ├── flate2 v1.1.2 (in debian)
 ⌛ │   └── miniz_oxide v0.8.9 (outdated, 0.7.1 in debian)
    │       ├── adler2 v2.0.1 (in debian)
    │       └── simd-adler32 v0.3.7 (in debian)
    ├── portable-atomic v1.11.1 (1.10.0 in debian)
    ├── profiling v1.0.17 (1.0.16 in debian)
    ├── sd-notify v0.4.5 (0.4.1 in debian)
    ├── serde v1.0.228 (in debian)
    ├── serde_json v1.0.145 (1.0.143 in debian)
    ├── tracing-subscriber v0.3.19 (in debian)
    ├── tracing v0.1.41 (in debian)
 🔴 ├── tracy-client v0.18.3
    │   ├── once_cell v1.21.3 (in debian)
 🔴 │   └── tracy-client-sys v0.27.0
 ⌛ ├── calloop-wayland-source v0.4.1 (outdated, 0.3.0 in debian)
 ⌛ │   ├── calloop v0.14.3 (outdated, 0.13.0 in debian)
    │   ├── rustix v1.1.2 (in debian)
    │   ├── wayland-backend v0.3.11 (in debian)
    │   └── wayland-client v0.31.11 (in debian)
    ├── insta v1.43.2 (in debian)
 ⌛ ├── proptest-derive v0.6.0 (outdated, 0.4.0 in debian)
 🔴 └── xshell v0.2.7
 ⌛     └── xshell-macros v0.2.7 (outdated, 0.3.0~pre.2 in debian)

Since noctalia seems to be NixOS-adjacent, maybe you can install the package nix-bin on Debian and through that install nix packages like noctalia?

I’ve been interested in niri for awhile, so I have attempted getting it working on various machines at various times (with little success).

Today, on my MNT Reform Classic I just followed the instructions for building and installing it manually (installed the build dependency packages, cloned the git repo, built it with cargo, installed it manually under /usr/local/ as the build instructions explain).

It is installed, it shows up in gdm3’s session options, and I can log in. But all I get is an unresponsive text cursor in the middle of the screen until I kill it via a virtual terminal. I haven’t gone to see if this is a known thing or not (my approach here is extremely naive). journalctl shows a lot of this:

Dec 08 20:28:33 reform niri[3647]: 2025-12-09T02:28:33.982954Z  WARN niri::backend::tty: error creating renderer for primary GPU: Error::NoDevice(DrmNode { dev: 57856, ty: Primary })

And then:

Dec 08 20:28:48 reform niri[3647]: 2025-12-09T02:28:48.949576Z DEBUG niri::backend::tty: device changed: 57857
Dec 08 20:28:48 reform niri[3647]: 2025-12-09T02:28:48.949708Z  WARN niri::backend::tty: unknown device; trying to add
Dec 08 20:28:48 reform niri[3647]: 2025-12-09T02:28:48.949718Z DEBUG niri::backend::tty: adding device: 57857 "/dev/dri/card1"
Dec 08 20:28:48 reform niri[3647]: 2025-12-09T02:28:48.951583Z  WARN niri::backend::tty: error adding device: Failed to open device: Resource temporarily unavailable (os error 11)

drm_info shows:

$ drm_info 
drmModeGetResources: Operation not supported
Failed to retrieve information from /dev/dri/card1
Node: /dev/dri/card0
├───Driver: rockchip (RockChip Soc DRM) version 1.0.0 (0)
│   ├───DRM_CLIENT_CAP_STEREO_3D supported
│   ├───DRM_CLIENT_CAP_UNIVERSAL_PLANES supported
│   ├───DRM_CLIENT_CAP_ATOMIC supported
│   ├───DRM_CLIENT_CAP_ASPECT_RATIO supported
│   ├───DRM_CLIENT_CAP_WRITEBACK_CONNECTORS supported
│   ├───DRM_CAP_DUMB_BUFFER = 1
│   ├───DRM_CAP_VBLANK_HIGH_CRTC = 1
│   ├───DRM_CAP_DUMB_PREFERRED_DEPTH = 0
│   ├───DRM_CAP_DUMB_PREFER_SHADOW = 0
│   ├───DRM_CAP_PRIME = 3
│   ├───DRM_CAP_TIMESTAMP_MONOTONIC = 1
│   ├───DRM_CAP_ASYNC_PAGE_FLIP = 0
│   ├───DRM_CAP_CURSOR_WIDTH = 64
│   ├───DRM_CAP_CURSOR_HEIGHT = 64
│   ├───DRM_CAP_ADDFB2_MODIFIERS = 1
│   ├───DRM_CAP_PAGE_FLIP_TARGET = 0
│   ├───DRM_CAP_CRTC_IN_VBLANK_EVENT = 1
│   ├───DRM_CAP_SYNCOBJ = 0
│   └───DRM_CAP_SYNCOBJ_TIMELINE = 0
├───Device: platform rockchip,display-subsystem
│   └───Available nodes: primary

--- snip ---

So I bet this is easily addressable.

Build instructions (I was using the Ubuntu instructions, including package names, but that seems fine for this):

Ooo, I also note this under the Asahi & ARM instructions:

On some of these systems, niri fails to correctly detect the primary render device. If you’re getting a black screen when starting niri on a TTY, you can try to set the device manually.

I’ll try this solution and report back!

1 Like

Yup!

Adding this to ~/.config/niri/config.kdl has allowed me to start a niri session and it’s working great (modulo my unfamiliarity with it).

debug {
    render-drm-device "/dev/dri/renderD128"
}

(ls -1 /dev/dri shows:

by-path
card0
card1
renderD128

so this makes some sense)

EDIT: I did have to installed fuzzel to get super-D to let me launch apps – forgot to mention

3 Likes

I just got Niri up and running too. It’s a pretty great experience.

1 Like

I have been running niri on my pocket for a while! Yeah you’ll need that drm line, other than that everything just sort of works, and building from source is mega easy.

2 Likes

This thread has prompted me to finally get around to trying out Niri. @grimmware showed me it months back and I’ve had its github page open in a browser tab as a reminder ever since.

I’m only an hour in and still figuring it out, but it does seem better on the small screen so far.

I use the pocket reform either with its built-in display or connected to an ultra-wide monitor, and I find sway a bit awkward in both scenarios.

Browsing to a compressed file with Thunar and extracting it is a complex window-juggling affair, requiring keyboard dexterity that would make even the most hardened emacs enthusiast blush.

I used sway (and i3 before it) on a thinkpad for quite some time and liked it, but I suspect it caters to displays of a more pedestrian size and shape.

1 Like