You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
hardware volume control not working on raspberry pi (hifiberry amp 2) #155
The hardware volume control on my raspbirry pi with raspbian trixie is not working. I get the error message WARNING:sendspin.cli:PulseAudio server not reachable, falling back to software volume control.
Is Pulseaudio required? Because the standard is pipewire on raspbian trixie (and I thought almost everywhere else too) and all pipewire packages are installed. Is sendspin only looking for pulseaudio or is only the error message not verbose enough and something else is not working?
I am trying to get hardware volume control working on a raspberry pi 4 with an hifiberry amp 2 attached, I don't know if this works.
Thank you for the hint. I had to enable pipewire and pipewire-pulse service, after that did sendclient start. But with the same problem as in #156, where the hardware volume control changes a virtual pipewire volume, instead of the installed dac. I am still confused about the warning only mentioning PulseAudio.
I am working on that one. Hopefully can get back to it later today.
Perfekt, thank you. I will look for it. If I can help with testing, you are welcome to contact me.
Because pipewire-pulse is a PulseAudio-compatible daemon. But maybe we can mention it in the error to make it easier for people to troubleshoot.
Yes, but does that mean, sendspin does only use PulseAudio and thus only works on modern operation systems via the backwards compatibility of pipewire, or is sendspin able to use pipewire directly?
Because pipewire-pulse is a PulseAudio-compatible daemon. But maybe we can mention it in the error to make it easier for people to troubleshoot.
Yes, but does that mean, sendspin does only use PulseAudio and thus only works on modern operation systems via the backwards compatibility of pipewire, or is sendspin able to use pipewire directly?
Sendspin works without PulseAudio (and without pipewire) AFAIK. But hardware volume control requires a PulseAudio-compatible daemon.
I did try it. sendspin now starts as a daemon and as a cli program with option hardware volume control. But I noticed two problems. The first does olny affect the cli program, where (sendspin --audio-device 0 --hardware-volume true) starts sendspin and tells me it is connected to Music Assistant, but it does not appear in Music Assistant. The second problem affects both daemon and cli program. Sendspin does report a volume which volume level is neither the pipewire volume nor the hifiberry amp volume. Changing the sendspin volume does not change any volume I can see with alsamixer. Here is the log, I muted and unmuted the client in the cli program and changed volume level up and down:
2026-03-09 09:37:46,349 INFO sendspin.cli: Using audio device 0: snd_rpi_hifiberry_dacplus: HiFiBerry DAC+ HiFi pcm512x-hifi-0 (hw:0,0)
2026-03-09 09:37:46,364 DEBUG sendspin.hardware_volume: Hardware volume: sink 'auto_null' missing alsa.card_name or alsa.name proplist fields, skipping match
2026-03-09 09:37:46,365 DEBUG sendspin.hardware_volume: Hardware volume: no sink matched device 'snd_rpi_hifiberry_dacplus: HiFiBerry DAC+ HiFi pcm512x-hifi-0 (hw:0,0)'
2026-03-09 09:37:46,365 WARNING sendspin.cli: PulseAudio server not reachable or no matching sink for device 'snd_rpi_hifiberry_dacplus: HiFiBerry DAC+ HiFi pcm512x-hifi-0 (hw:0,0)', falling back to software volume control
2026-03-09 09:37:46,895 INFO sendspin.audio: Detected 32 supported audio formats (FLAC + PCM)
2026-03-09 09:37:46,943 INFO mpris_api: PatchedMprisService started.
2026-03-09 09:37:46,943 DEBUG aiosendspin_mpris.mpris: Attached MPRIS listeners to SendspinClient
2026-03-09 09:37:46,943 INFO aiosendspin_mpris.mpris: MPRIS interface started
2026-03-09 09:37:46,945 INFO aiosendspin.client.client: Connecting to Sendspin server at ws://192.168.0.15:8927/sendspin
2026-03-09 09:37:46,946 DEBUG asyncio: Using selector: EpollSelector
2026-03-09 09:37:47,015 INFO aiosendspin.client.client: Connected to server 'Music Assistant' (5a990cbadc754cd4894148b49eb6f143) version 1
2026-03-09 09:37:47,015 INFO aiosendspin.client.client: Handshake with server complete
2026-03-09 09:38:55,429 DEBUG sendspin.tui.app: Connection loop cancelled
2026-03-09 09:38:55,430 INFO mpris_api: PatchedMprisService stopped.
2026-03-09 09:38:55,432 INFO aiosendspin_mpris.mpris: MPRIS interface stopped
2026-03-09 09:38:55,437 DEBUG sendspin.settings: Saved settings to /home/alarm/.config/sendspin/settings-tui.json
The daemon has the second problem too, where a virtual volume level is reported wich does not represent the volume levels on that system. Here is the log from the daemon sendspin daemon --audio-device 0 --hardware-volume true --log-level DEBUG, where I muted and unmuted and changed volume level up and down via Music Assistant:
DEBUG:sendspin.hardware_volume:Hardware volume: sink 'auto_null' missing alsa.card_name or alsa.name proplist fields, skipping match
DEBUG:sendspin.hardware_volume:Hardware volume: no sink matched device 'snd_rpi_hifiberry_dacplus: HiFiBerry DAC+ HiFi pcm512x-hifi-0 (hw:0,0)'
WARNING:sendspin.cli:PulseAudio server not reachable or no matching sink for device 'snd_rpi_hifiberry_dacplus: HiFiBerry DAC+ HiFi pcm512x-hifi-0 (hw:0,0)', falling back to software volume control
INFO:sendspin.daemon.daemon:Starting Sendspin daemon: sendspin-raspi-stern
INFO:sendspin.daemon.daemon:Listening for server connections on port 8928 (mDNS: _sendspin._tcp.local.)
INFO:aiosendspin.client.listener:ClientListener started on port 8928, path /sendspin
INFO:aiosendspin.client.listener:mDNS advertising client 'sendspin-raspi-stern' on port 8928 with path /sendspin
DEBUG:aiosendspin.client.listener:Incoming server connection from 192.168.0.15
INFO:sendspin.daemon.daemon:Server connected
INFO:sendspin.audio:Detected 32 supported audio formats (FLAC + PCM)
INFO:mpris_api:PatchedMprisService started.
DEBUG:aiosendspin_mpris.mpris:Attached MPRIS listeners to SendspinClient
DEBUG:asyncio:Using selector: EpollSelector
INFO:aiosendspin_mpris.mpris:MPRIS interface started
INFO:aiosendspin.client.client:Connected to server 'Music Assistant' (5a990cbadc754cd4894148b49eb6f143) version 1
INFO:aiosendspin.client.client:Handshake with server complete
INFO:sendspin.daemon.daemon:Server set player volume: 32%
INFO:sendspin.daemon.daemon:Server set player volume: 0%
INFO:sendspin.daemon.daemon:Server set player volume: 12%
INFO:sendspin.daemon.daemon:Server muted player
INFO:sendspin.daemon.daemon:Server unmuted player
^CDEBUG:sendspin.daemon.daemon:Received interrupt signal, shutting down...
DEBUG:sendspin.daemon.daemon:Daemon cancelled
INFO:mpris_api:PatchedMprisService stopped.
INFO:aiosendspin_mpris.mpris:MPRIS interface stopped
INFO:sendspin.daemon.daemon:Server disconnected
INFO:aiohttp.access:192.168.0.15 [09/Mar/2026:09:42:47 +0100] "GET /sendspin HTTP/1.1" 101 0 "-" "Music Assistant/2.7.10 aiohttp/3.13.3 Python/3.13"
INFO:aiosendspin.client.listener:ClientListener stopped
DEBUG:sendspin.settings:Saved settings to /home/alarm/.config/sendspin/settings-daemon.json
INFO:sendspin.daemon.daemon:Daemon stopped
Sendspin works without PulseAudio (and without pipewire) AFAIK. But hardware volume control requires a PulseAudio-compatible daemon.
Interesting. Why is pipewire required for hardware volume control? Cant't it be done via ALSA? Or is it needed for gui applications?
#156 was prematurely closed I think, I'm seeing the same issue with 5.4 and a Raspberry Pi with HiFiBerry DAC Hat. The initial presentation is that volume control doesn't work.
Activity
abmantis commentedon Mar 8, 2026
It works with
pipewire-pulsetoo, so if you have pipewire it should work. How are you running sendspin?Does
pulsemixerwork?dflvunoooooo commentedon Mar 8, 2026
Thank you for the hint. I had to enable pipewire and pipewire-pulse service, after that did sendclient start. But with the same problem as in #156, where the hardware volume control changes a virtual pipewire volume, instead of the installed dac. I am still confused about the warning only mentioning PulseAudio.
abmantis commentedon Mar 8, 2026
Great!
I am working on that one. Hopefully can get back to it later today.
Because pipewire-pulse is a PulseAudio-compatible daemon. But maybe we can mention it in the error to make it easier for people to troubleshoot.
dflvunoooooo commentedon Mar 8, 2026
Perfekt, thank you. I will look for it. If I can help with testing, you are welcome to contact me.
Yes, but does that mean, sendspin does only use PulseAudio and thus only works on modern operation systems via the backwards compatibility of pipewire, or is sendspin able to use pipewire directly?
abmantis commentedon Mar 9, 2026
Can you try #173 please?
Sendspin works without PulseAudio (and without pipewire) AFAIK. But hardware volume control requires a PulseAudio-compatible daemon.
dflvunoooooo commentedon Mar 9, 2026
I did try it. sendspin now starts as a daemon and as a cli program with option hardware volume control. But I noticed two problems. The first does olny affect the cli program, where (
sendspin --audio-device 0 --hardware-volume true) starts sendspin and tells me it is connected to Music Assistant, but it does not appear in Music Assistant. The second problem affects both daemon and cli program. Sendspin does report a volume which volume level is neither the pipewire volume nor the hifiberry amp volume. Changing the sendspin volume does not change any volume I can see with alsamixer. Here is the log, I muted and unmuted the client in the cli program and changed volume level up and down:The daemon has the second problem too, where a virtual volume level is reported wich does not represent the volume levels on that system. Here is the log from the daemon
sendspin daemon --audio-device 0 --hardware-volume true --log-level DEBUG, where I muted and unmuted and changed volume level up and down via Music Assistant:Interesting. Why is pipewire required for hardware volume control? Cant't it be done via ALSA? Or is it needed for gui applications?
dflvunoooooo commentedon Mar 9, 2026
I think this is no better discussed in #156, right?
trisweb commentedon Mar 14, 2026
#156 was prematurely closed I think, I'm seeing the same issue with 5.4 and a Raspberry Pi with HiFiBerry DAC Hat. The initial presentation is that volume control doesn't work.
dflvunoooooo commentedon Mar 21, 2026
Perfekt, this is now working with 5.6.0. Thanks for all the work.