You are not logged in.

#1 Today 07:55:55

ethersaga
Member
Registered: 2023-12-30
Posts: 7

Pipewire - no sinks available when user not logged in

Recently I have started to play around with a new Arch VM that controls a soundcard that is connected to hifi system. There is pipewire, a roc (Roc Toolkit real-time audio streaming) pipewire sink and upmpdcli DLNA/OpenHome DLNA Digital Media Renderer and Server. Everything working perfectly, there is just this one caveat I wished could be worked around:

Unless I log into a graphical session using the VM's visual console (Proxmox) the pipewire server does not see any hardware audio sinks.

pactl list sinks | grep Name
	Name: auto_null

Once logged in the sink is available and everything is working as expected

pactl list sinks | grep Name
	Name: alsa_output.usb-SmartAction_Technology_HiBy_FC1-00.analog-stereo

Since this machine was intended as a headless remote desktop system (only one user though) I installed plasma desktop on it, this was probably a mistake for this kind of server since I don't pretend to understand this dbus/systemd/rt-kit session stuff. Alls I know is systemctl --user status pipewire.service => running all the time, whether logged in or not same with wireplumber.service.

Here's a pastebin of the systemd journal during log in and logout: https://bin.disroot.org/?c429e095b88193 … zH175oALhX

I've searched around for a solution but so far no luck in finding anything on this. Would appreciate somebody pointing me in the right direction.

Last edited by ethersaga (Today 09:19:27)

Offline

#2 Today 10:57:56

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 25,114

Re: Pipewire - no sinks available when user not logged in

By default pipewire runs as a per user service and will start up only when a login session of a given user exists and get stopped again after logout: https://wiki.archlinux.org/title/Systemd/User . For this simple variant of what you're intending to do you could experiment with enabling user session lingering for the user you want to be able to use this with: https://wiki.archlinux.org/title/System … _instances

Alternatively -- though not sure how well this works and apparently tied to the root user currently -- there's https://aur.archlinux.org/packages/pipewire-system which does the necessary plumbing to try and coerce it into running as root.

Last edited by V1del (Today 11:00:45)

Offline

#3 Today 18:14:27

ethersaga
Member
Registered: 2023-12-30
Posts: 7

Re: Pipewire - no sinks available when user not logged in

Thanks for your answer. I have enabled lingering for my user but the issue is the same. The auto_null device is the only sink after reboot. Interestingly now after a restart the pipewire-pulse.socket fails to start because - get this:

pipewire-pulse.socket: Failed to create listening socket (/run/user/1000/pulse/native): Permission denied

What? restarting that unit file immediately fixes it and pulse stuff works again, ie pactl list sinks for example. This is very strange.

Could it be some sort of pipe/pulse configuration issue becaue all these services are officially running even though I haven't logged into plasma yet.

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

Offline

#4 Today 18:51:57

ethersaga
Member
Registered: 2023-12-30
Posts: 7

Re: Pipewire - no sinks available when user not logged in

I'm taking a look at pipewire-system now, it seems this is the way to go for headless media servers.

Offline

Board footer

Powered by FluxBB