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?
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!
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
I just got Niri up and running too. It’s a pretty great experience.
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.
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.