You are not logged in.

#1 2026-09-10 17:44:11

hhh
Hercule Poirot
From: Belgium
Registered: 2015-09-17
Posts: 17,444
Website

(Wayland forky/sid) HowTo: deb packages for niri-wm (easy!)

niri, a scrollable-tiling Wayland compositor, is not yet available in Debian, though it's in the works...
https://bugs.debian.org/cgi-bin/bugrepo … ug=1065355

However, it's easy to build on forky/sid thanks to cargo-deb (please leave rust discussions out of this thread big_smile).

Here's some eye candy...
https://forums.bunsenlabs.org/viewtopic … 23#p152623

niri recommends using xwayland-satellite, so we'll also build that. See here for more info...
https://github.com/niri-wm/niri/wiki/Xwayland

Install git to grab the sources, cargo (rust) to build, cargo-deb to create *.deb packages, and dpkg-dev to take care of a warning in the deb builds because cargo didn't find dpkg-shlibdeps...

sudo apt install git dpkg-dev cargo

cargo install cargo-deb

Install the xwayland-satellite dependencies...

sudo apt install libxcb1-dev libxcb-cursor-dev

Install the niri dependencies...

sudo apt install gcc clang libudev-dev libgbm-dev libxkbcommon-dev libegl1-mesa-dev libwayland-dev libinput-dev libdbus-1-dev libsystemd-dev libseat-dev libpipewire-0.3-dev libpango1.0-dev libdisplay-info-dev

These packages aren't needed at build time, but are at runtime. Install them now or run 'sudo apt -f install' later when apt complains about the niri deb package...

alacritty fuzzel libfcft4t64 libutf8proc3 libxcb-xkb1 libxkbcommon-x11-0

We're ready to build. First, xwayland satellite...

git clone https://github.com/Supreeeme/xwayland-satellite.git

cd xwayland-satellite

The moment of truth!

cargo deb

Believe it or not, that's it. If it succeeds you'll have a deb package in the subfolder target/debian. Install it...

cd target/debian

sudo dpkg -i *.deb


Build niri in exactly the same way...

git clone https://github.com/niri-wm/niri.git

cd niri

cargo deb

cd target/debian

sudo dpkg -i *.deb

Create ~/.config/niri/config.kdl and start with the default, which is well commented and has most of the options listed...
https://raw.githubusercontent.com/niri- … config.kdl

Thus endeth the tutorial. I'll start a thread about configs and integration with Noctalia's shell and greeter later. If you try this, please post if the builds succeed for you or not, and/or if my instructions are wrong or unclear. Cheers.

Last edited by hhh (Today 01:24:39)


Why why why why?!!???

Offline

#2 2026-09-10 22:53:24

PackRat
jgmenu user Numero Uno
Registered: 2015-10-02
Posts: 3,033

Re: (Wayland forky/sid) HowTo: deb packages for niri-wm (easy!)

Nice.

Pretty straight forward process.


You must unlearn what you have learned.
    -- yoda

Offline

#3 Yesterday 08:01:10

unklar
Back to the roots 1.9
From: #! BL
Registered: 2015-10-31
Posts: 3,075

Re: (Wayland forky/sid) HowTo: deb packages for niri-wm (easy!)

^^@hhh
Thank you for your work.  smile

At first I was a bit confused because I remembered having the 'xwayland-satellite' package installed here...
Then I found it. @cog made it available in his repo for mango.  big_smile

❯ apt policy xwayland-satellite
xwayland-satellite:
  Installiert:           0.8.2-1~gila+1
  Installationskandidat: 0.8.2-1~gila+1
  Versionstabelle:
 *** 0.8.2-1~gila+1 500
        500 https://apt.hatcherylinux.org gila/main amd64 Packages
        100 /var/lib/dpkg/status

Offline

#4 Yesterday 10:06:06

unklar
Back to the roots 1.9
From: #! BL
Registered: 2015-10-31
Posts: 3,075

Re: (Wayland forky/sid) HowTo: deb packages for niri-wm (easy!)

@hhh, it's worked out.  big_smile
NF7E9Sjt.png   ghyXysQt.png


Due to bad experiences, this time I prepared the system directly with unstable/siduction.  wink

This meant the packages
-git dpkg-dev and
-libxcb-xkb1 libxkbcommon-x11-0
already exists.

You have a typo here:

sudo apt gcc clang ...

Otherwise, your instructions are masterful!  big_smile big_smile  I made absolutely no mistakes!
I'm waiting now until you're back (I assume thunar, mousepad, waybar, my beloved xfce4-terminal etc ppp) need to be installed to use the desktop.

Last edited by unklar (Yesterday 10:20:51)

Offline

#5 Today 01:14:23

hhh
Hercule Poirot
From: Belgium
Registered: 2015-09-17
Posts: 17,444
Website

Re: (Wayland forky/sid) HowTo: deb packages for niri-wm (easy!)

@PackRat thanks!

@unklar, also thanks, but I don't see the typo, what is it?

Yes install apps. Other than a file manager, browser, text editor and probably your terminal of choice instead of alacritty, I recommend on sid Wayland...

loupe (image viewer)
celluloid (audio/video player, an mpv front-end)
hyprpicker (color picker, run it in a floating terminal)
pavucontrol (sound input/output controller)


For audio I like gapless to handle a music library and audacious to quickly play files/folders and stream URLs. Enable the 'Desktop Notifications' plugin in audacious.

I'd also encourage you to NOT install desktop management apps like xfce4-volumed or lxpolkit, try Noctalia shell instead...

https://docs.noctalia.dev/noctalia/gett … ian#debian
https://docs.noctalia.dev/noctalia/comp … ings/niri/
https://docs.noctalia.dev/noctalia/getting-started/faq/
https://docs.noctalia.dev/noctalia/gett … uninstall/

-edit- Ah, I forgot 'install'. Fixed, thanks!

You will need portals, I can't remember if those get brought in by anything.

sudo apt install xdg-desktop-portal-gtk xdg-desktop-portal-wlr

If you're using Nautilus, I'd install -portal-gnome instead of -portal-wlr. Nautilus is a dependency of portal-gnome, boo. But gcolor3 works with portal-gnome, yay.

I'll post about noctalia-greeter tomorrow. I also have instructions for building and installing mangowm and it's dependencies (wl-roots, scenefx) from source, I've been having some fun with a side of frustration!

Last edited by hhh (Today 01:44:12)


Why why why why?!!???

Offline

#6 Today 03:08:04

hhh
Hercule Poirot
From: Belgium
Registered: 2015-09-17
Posts: 17,444
Website

Re: (Wayland forky/sid) HowTo: deb packages for niri-wm (easy!)

I think noctalia-greeter is fairly straightforward...

Install greetd and noctalia-greeter.

Create /etc/greetd/greetd.conf with the content...

[terminal]
vt = 7

# The default session, also known as the greeter.
[default_session]
command = "/usr/bin/noctalia-greeter-session"
user = "_greetd"

Add 'greeter' to the video group...

sudo useradd -M -G video greeter

Fix permissions...

sudo chmod -R go+r /etc/greetd/

Reboot. Let me know if that's right.

If it works, in Noctalia settings type 'authentication' and enable Polkit Agent, reboot. Open settings again, search for "greeter", click the Noctalia Greeter "Sync Now" button and enter your password (install pkexec if it doesn't work). Don't enable auto-sync unless you want to constantly enter your password with every theme and/or wallpaper change.


Why why why why?!!???

Offline

Board footer

Powered by FluxBB