Headless pipewire

I am trying to get pipewire to work on a headless install. I have found various howtos but none of them quite work or assume old versions of packages. This is how far I’ve got.

As root…

apt install pipewire pipewire-alsa alsa-utils pipewire-media-session-pulseaudio pipewire-pulse dbus-user-session pulseaudio-utils
systemctl unmask systemd-logind
systemctl restart systemd-logind
sed -i -r "s/^((audio|pipewire).*):[^:]*/\1:dietpi/g" /etc/group
loginctl enable-linger dietpi
reboot

Then as user dietpi…

$ pactl info
Connection failure: Connection refused
pa_context_connect() failed: Connection refused

$ alsamixer 
cannot open mixer: Host is down

I can see that dbus sessions and the pipewire services are running.

dietpi@DietPi:~$ ps aux | grep pipewire
dietpi       577  0.0  0.5  41800 11564 ?        S<sl 18:23   0:00 /usr/bin/pipewire
dietpi       578  0.1  0.5  23024 10472 ?        Ssl  18:23   0:00 /usr/bin/pipewire-media-session
dietpi       580  0.0  0.4  24024  8332 ?        S<sl 18:23   0:00 /usr/bin/pipewire-pulse
dietpi       656  0.0  0.0   3808  1872 pts/0    S+   18:23   0:00 grep pipewire
dietpi@DietPi:~$ ps aux | grep dbus
message+     450  0.0  0.1   7920  3748 ?        Ss   18:23   0:00 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation --syslog-only
dietpi       594  0.0  0.2   7776  4060 ?        Ss   18:23   0:00 /usr/bin/dbus-daemon --session --address=systemd: --nofork --nopidfile --systemd-activation --syslog-only
dietpi      1092  0.0  0.0   3808  1900 pts/0    S+   18:23   0:00 grep dbus

What else do I need to do to get this to work?

Answering my own post. the fix is simple. As the dietpi user…

echo "export XDG_RUNTIME_DIR=/run/user/\$(id -u)" >> ~/.profile

Then just log out and in again.

1 Like

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.