Pipewire(I think) broken after update

Good morning, afternoon or evening. Thank you for checking out my topic :slight_smile:

I updated from Nix0S Vicuna 24.11.717196.9684b53175fc (Linux 6.6.87) to Nix0S Vicuna 24.11.717608.bf3287dac860 (Linux 6.6.88) and 3 problems appeared:

  • KDE’s volume menu in the system tray doesn’t show any devices anymore and states “Connection to the Sound Service Lost”
  • Running “sudo nixos-rebuild switch” shows the highlighted error:

[dinnerbug@nixos:~]$ sudo nixos-rebuild switch
[sudo] password for dinnerbug:
building Nix…
building the system configuration…
evaluation warning: The ‘gnome.adwaita-icon-theme’ was moved to top-level. Please use ‘pkgs.adwaita-icon-theme’ directly.
evaluation warning: rustPlatform.rust.cargo is deprecated. Use cargo instead.
evaluation warning: rustPlatform.rust.rustc is deprecated. Use rustc instead.
activating the configuration…
setting up /etc…
reloading user units for dinnerbug…
Error: Failed to open dbus connection

Caused by:
Unable to autolaunch a dbus-daemon without a $DISPLAY for X11
restarting sysinit-reactivation.target
the following new units were started: sysinit-reactivation.target, systemd-tmpfiles-resetup.service

[dinnerbug@nixos:~]$

  • Finally, shutting down the computer gets stuck for 1min30s on “A stop job is running for Session 2 of User dinnerbug”

I’ve included these 3 issues in this 1 post because I suspect they might be correlated.

Starting from the audio issue, I tried the following:

[dinnerbug@nixos:~]$ systemctl --user status pipewire.service
Failed to get properties: Process org.freedesktop.systemd1 exited with status 1

[dinnerbug@nixos:~]$ ps aux | grep -E ‘pipewire|pulseaudio’
dinnerb+ 10217 0.0 0.0 6796 2688 pts/1 S+ 10:38 0:00 grep -E pipewire|pulseaudio

[dinnerbug@nixos:~]$ systemctl --user restart pipewire
Failed to restart pipewire.service: Process org.freedesktop.systemd1 exited with status 1
See user logs and ‘systemctl --user status pipewire.service’ for details.

As for the dbus error during rebuild, I only have 1 display connected to my pc and are running a graphical wayland + kde setup so I don’t quite understand what that warning is about.

Maybe it’s trying to “interact” with the wrong display so I did:

[dinnerbug@nixos:~]$ xrandr --listmonitors
Monitors: 1
0: +*DP-1 1920/598x1080/336+0+0 DP-1

[dinnerbug@nixos:~]$ echo $DISPLAY
:1

and then “export DISPLAY=:0” seeing as 2 displays appeared from the previews command. Didn’t work though.

dbus seems alive and well:

● dbus.service - D-Bus System Message Bus
Loaded: loaded (/etc/systemd/system/dbus.service; linked; preset: ignored)
Drop-In: /nix/store/a0pzxfyaadhpfkzyrnfnvzjcvl1zn4mv-system-units/dbus.service.d
└─overrides.conf
Active: active (running) since Sun 2025-05-04 10:13:23 CEST; 33min ago
Invocation: 255986ede5ea49fbb941fb840201a83f
TriggeredBy: ● dbus.socket
Docs: man:dbus-daemon(1)
Main PID: 1304 (dbus-daemon)
IP: 0B in, 0B out
IO: 9.7M read, 0B written
Tasks: 1 (limit: 37381)
Memory: 14.2M (peak: 23.1M)
CPU: 632ms
CGroup: /system.slice/dbus.service
└─1304 /nix/store/sdcwi25sk7a091nz9g7bjm3mgvyl6540-dbus-1.14.10/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation --syslog-only

mag 04 10:13:32 nixos org.kde.powerdevil.chargethresholdhelper[2362]: Detected locale “C” with character encoding “ANSI_X3.4-1968”, which is not UTF-8.
Qt depends on a UTF-8 locale, and has switched to “C.UTF-8” instead.
If this causes problems, reconfigure your locale. See the locale(1) manual
for more information.
mag 04 10:13:32 nixos dbus-daemon[1304]: [system] Successfully activated service ‘org.kde.powerdevil.chargethresholdhelper’
mag 04 10:13:32 nixos dbus-daemon[1304]: [system] Activating service name=‘org.kde.powerdevil.backlighthelper’ requested by ‘:1.34’ (uid=1000 pid=2079 comm=“/nix/store/lkvpyiw5hqkmlfn4s35x65dgfwlsjyzh-powerd” label=“kernel”) (using ser>
mag 04 10:13:32 nixos backlighthelper[2393]: org.kde.powerdevil: no kernel backlight interface found
mag 04 10:13:32 nixos org.kde.powerdevil.backlighthelper[2393]: Detected locale “C” with character encoding “ANSI_X3.4-1968”, which is not UTF-8.
Qt depends on a UTF-8 locale, and has switched to “C.UTF-8” instead.
If this causes problems, reconfigure your locale. See the locale(1) manual
for more information.
mag 04 10:13:32 nixos dbus-daemon[1304]: [system] Successfully activated service ‘org.kde.powerdevil.backlighthelper’
mag 04 10:13:32 nixos dbus-daemon[1304]: [system] Activating via systemd: service name=‘org.freedesktop.ModemManager1’ unit=‘dbus-org.freedesktop.ModemManager1.service’ requested by ‘:1.43’ (uid=1000 pid=2025 comm=“/run/current-system/>
mag 04 10:13:32 nixos dbus-daemon[1304]: [system] Successfully activated service ‘org.freedesktop.ModemManager1’
mag 04 10:17:15 nixos dbus-daemon[1304]: [system] Activating via systemd: service name=‘org.freedesktop.timedate1’ unit=‘dbus-org.freedesktop.timedate1.service’ requested by ‘:1.105’ (uid=1000 pid=7249 comm=”/nix/store/rx75zh4sna8qzqc0>
mag 04 10:17:15 nixos dbus-daemon[1304]: [system] Successfully activated service ‘org.freedesktop.timedate1’

Thanks again for your time, any help is greatly appreciated :slight_smile:

Gave up and made a fresh install

Sorry, clearly didn’t spot this one. Seeing the output of journalctl --user after startup would have been interesting. My best guess is that this was some kind of imperative KDE setting overwriting an important env variable.

No biggie, a fresh install on nixos is about as painless as it gets :slight_smile:

1 Like

I had the pipewire problem and gave up on it for months, switching away from Pipewire.
Finally got it working with something along these lines:

systemctl --user unmask pipewire
systemctl --user unmask pipewire.socket
systemctl --user unmask wireplumber
systemctl --user unmask pipewire-pulse
systemctl --user unmask pipewire-pulse.socket

This seems a good place to post in case it helps someone else in future…