On 12/30/25 19:33, Landry Breuil wrote:
Le Tue, Dec 30, 2025 at 03:21:56PM +0100, Tobias Heider a écrit :
On Tue, Mar 04, 2025 at 05:13:07PM +0100, Tobias Heider wrote:
Hi,

here is a new port for niri [1], a scrollable-tiling Wayland compositor
heavily inspired by the PaperWM extension for Gnome.

This one is a little different than our existing wayland compositor ports
since it doesn't use wlroots but smithay [2] as its underlying compositor
library.

Smithay is written in rust and pulls in quite a few dependencies, I had to
resort to some hacks to make it pick up the patched OpenBSD compatible
versions since most patches haven't found their way into an upstream release
yet. In the current version I fetch niri itself and all the patched
dependencies from my forked trees on github. I already got some of them
merged upstream so I'm optimistic that we can swtich over to an official
release in the near future.

Looking forward to get some feedback.

Some open questions:
Is there a better way to handle the rust dependencies?
Would it make sense for a large rust package such as smithay to be a separate
port?
I used upstream_version.date for our port version, is there a better solution?

[1] https://github.com/YaLTeR/niri
[2] https://github.com/Smithay/smithay

Updated it to 25.11 and thought I'd share it here for anyone interested.

The garbled output after exiting niri seems to be fixed and I managed to
upstream a bunch of patches in dependencies. The port is still fetching from
my github though and is using drm-rs and smithay from my patched forks.

One open issue is that xwayland-satellite will crash niri after a while,
I am still trying to figure out why.

heh, and i thought it was already imported...

LIB_DEPENDS =   devel/llvm/21

and you have the MODCARGO lines pointing at libLLVM.so commented out..
are you sure that LIB_DEPENDS is needed ? if so im not sure that cant
lead to other issues in ports.

note that startniri.sh should be updated now that we have proper support
for XDG_RUNTIME_DIR.

with those fixed i'd be inclined to ok it so that you can maintain it in
tree, and itd be good to have non-wlroots implems to play with :)

Landry


Hi, I'm excited to see that this port is seeing some activity again!

I've just gave it a spin, couple things I have noticed:

- the "mouse buttons" of my Thinkpad x280's touchpad are not working; though I am not sure if this is related to the port or the wayland implementation of OpenBSD. I have to actually press on the touchpad itself to issue clicks.
- I still have to say
debug {
        render-drm-device "/dev/dri/renderD128"
}
in the config for niri to work at all. Maybe it would make sense to add this to the port's README? Might alleviate some setup friction for some users. - three finger swiping on the touchpad for switching between windows does not work for me. probably ... also not related to the port itself though? - alacritty does not launch, I have to resort to using foot instead. I get an error saying NotSupported("provided display handle is not supported")

I'll happily test any iterations of this port.

Christoph

Reply via email to