Hey, I am trying to revive an old surface laptop with void linux, so far it hasn’t been too bad. I decided to try and go with wayland and niri for the desktop environment with lightdm. It is all kind of working except for waybar which I can’t seem to get going.

It does not launch on startup, I can run dbus-launch waybar from the terminal and it kind of works (with a fair few warnings). But it does show at the top of the screen! Some errors from running it like this include:

[error] media stopped unexpectedly, is it endless?
...
[error] Failed to query power-profiles-daemon via dbus

If anyone has suggestions would love to hear them, included is basically everything I have installed so far because I did a chroot install for LUKS.

- Waybar
- base-devel
- base-system
- chrony
- cryptsetup
- elogind
- firefox
- font-firacode
- fuzzel
- git
- grub-x86_64-efi
- intel-video-accel
- kitty
- lightdm
- lvm2-2
- mako
- mesa-dri
- mesa-vulkan-intel
- mutter
- niri
- obfs4proxy
- openssl-devel
- pipewire
- plymouth
- swaybg
- swaylock
- tor
- vulkan-loader
- wget
- xorg-minimal
- xwayland-satellite

EDIT: Found a solution by editing /usr/share/wayland-sessions/niri.desktop and changing

Exec=/usr/bin/niri --session

to

Exec=dbus-run-session /usr/bin/niri --session
  • gid@lemmy.blahaj.zone
    link
    fedilink
    arrow-up
    3
    ·
    19 days ago

    So the idea is to launch waybar with your window manager (for example, sway) by configuring the windowmanager to run waybar when it starts.

    As for the other errors, it looks like you might have some waybar plugins running that have dependencies on uninstalled packages. If you share your waybar config I (or someone else on this post) might be able to help further.

  • spectabilis@lemmy.4d2.orgOP
    link
    fedilink
    arrow-up
    1
    ·
    19 days ago

    Just ran niri --session 2> niri.log and checked the output and it throws an error:

    dbus-update-activation-environment: error: unable to connect to D-Bus: Unable to autolaunch a dbus-daemon without a $DISPLAY for X11
    
    • spectabilis@lemmy.4d2.orgOP
      link
      fedilink
      arrow-up
      4
      ·
      19 days ago

      Ok so running dbus-run-session niri --session seems to successfully start niri with waybar. Now I just need to figure out how to get that same thing working with startup. Is there somewhere in void I can configure how dbus launches niri?

      • juipeltje@lemmy.world
        link
        fedilink
        arrow-up
        4
        ·
        19 days ago

        You could try turning on the elogind service, but i never tried that myself to see if it worked. I’ve always just executed my window managers with dbus-run-session. Are you using a display manager? If so the best way to do it is probably to make a copy of niri.desktop in /usr/share/wayland-sessions, call it niri-dbus.desktop for example, then add dbus-run-session to the exec line, and also change the name field to something like Niri (dbus) for example, so that it shows a different name in the display manager. The reason you’d want to make a copy of the file instead of modifying the original is because the original will get replaced everytime xbps updates niri, so this way your changes will stick.

      • gid@lemmy.blahaj.zone
        link
        fedilink
        arrow-up
        2
        ·
        19 days ago

        I think you’ll need to update the lightdm config with “exec dbus-run-session niri --session”