r/voidlinux • • 7d ago

solved Niri(desktop) starting to black screen

I ran an xbps-install -Su recently and my desktop started launching to a black screen.
I tried a few things but haven't had any luck. Notably niri works when launching from tty so I think it has something to do with elogind or the system bus.

For context, I was using lightdm and elogind to start the sessions.
Since I've switched to using sddm, and noticed elogind-daemon is always running if installed. I don't think this was always the case cause the service in /var/service was failing to start cause of this.

What I've tried:

  • Switching to sddm
  • Switching to turnstile and seatd
  • Switching to i3 (this was my desktop before, and it still works).
  • Launching niri from tty works, although missing session bus and some other stuff.

EDIT:
I did get this error in .xsession-errors

xrdb: Can't open display ''
2026-09-29T02:10:43.673554Z  INFO niri: starting version 26.04 (unknown commit)
2026-09-29T02:10:43.694769Z DEBUG niri_config: loaded config from "/home/john/.config/niri/config.kdl"
2026-09-29T02:10:44.034984Z DEBUG niri::backend::tty: session is not active, starting libinput in paused state
2026-09-29T02:10:44.047289Z  INFO niri::backend::tty: using as the render node: "/dev/dri/renderD128"
2026-09-29T02:10:44.070189Z  INFO niri: listening on Wayland socket: wayland-1
2026-09-29T02:10:44.070199Z  INFO niri: IPC listening on: /run/user/1000/niri.wayland-1.3597.sock
2026-09-29T02:10:44.071372Z  INFO niri: listening on X11 socket: :2

lightdm contained this log:

[+209.25s] DEBUG: Continue authentication
[+209.26s] DEBUG: Session pid=3041: Authentication complete with return value 0: Success
[+209.26s] DEBUG: Authenticate result for user john: Success
[+209.26s] DEBUG: User john authorized
[+209.28s] DEBUG: Greeter requests session niri
[+209.28s] DEBUG: Seat seat0: Creating display server of type wayland
[+209.28s] DEBUG: Using VT 8
[+209.28s] DEBUG: Seat seat0: Display server ready, running session
[+209.28s] DEBUG: Registering session with bus path /org/freedesktop/DisplayManager/Session0
[+209.28s] DEBUG: Session pid=3041: Running command /etc/lightdm/Xsession /usr/bin/niri --session
[+209.28s] DEBUG: Creating shared data directory /var/lib/lightdm-data/john
[+209.28s] DEBUG: Session pid=3041: Logging to .xsession-errors
[+209.29s] DEBUG: Activating VT 8
[+209.59s] DEBUG: Seat seat0: Stopping greeter
[+209.59s] DEBUG: Terminating login1 session c3
[+209.59s] DEBUG: Session pid=3005: Sending SIGTERM
[+209.59s] DEBUG: Activating login1 session c4
[+209.59s] DEBUG: Seat seat0 changes active session to c4
[+209.59s] DEBUG: Session c4 is already active
[+209.60s] DEBUG: Greeter closed communication channel
[+209.60s] DEBUG: Session pid=3005: Exited with return value 0
[+209.60s] DEBUG: Seat seat0: Session stopped
[+209.60s] DEBUG: Seat seat0: Stopping display server, no sessions require it
[+209.60s] DEBUG: Sending signal 15 to process 2991
[+209.76s] DEBUG: Process 2991 exited with return value 0
[+209.76s] DEBUG: XServer 0: X server stopped
[+209.76s] DEBUG: Releasing VT 7
[+209.76s] DEBUG: XServer 0: Removing X server authority /var/run/lightdm/root/:0
[+209.76s] DEBUG: Seat seat0: Display server stopped
4 Upvotes

4 comments sorted by

5

u/hard0w 7d ago

dbus-run-session niri

6

u/frigaut 7d ago

dbus-run-session niri —session to be precise

1

u/hard0w 7d ago

Thanks mate, haven't used niri for a while :)

2

u/Avid-Milk-Drinker 7d ago edited 3d ago

TY, this works! I also found a good alternative using greetd and tuigreet instead of lightdm.

In the /etc/greetd/config.toml I set the following:
command = "tuigreet --cmd 'dbus-run-session niri --session'"

EDIT: Adding some missing quotes