Similar issue to what is seen here.
Simply running systemctl enable bluealsa
is not sufficient in bluealsa
version 0.9, though it worked fine in version 0.7. This is because the bluealsa
binary now requires you to specify on the command line which profile you would like to run with, if it is not a2dp-source
.
From /usr/bin/bluealsa --help
:
By default only output profiles are enabled, which includes A2DP Source and
HSP/HFP Audio Gateways. If one wants to enable other set of profiles, it is
required to explicitly specify all of them using `-p NAME` options.
In order to override manually, we must override systemd
. We start off with the following output for systemctl cat bluealsa.service
:
# /lib/systemd/system/bluealsa.service
[Unit]
Description=BluezALSA proxy
Requires=bluetooth.service
After=bluetooth.service
[Service]
Type=simple
User=root
ExecStart=/usr/bin/bluealsa
We must edit this and add lines to override ExecStart
, via sudo systemctl edit bluealsa.service
:
[Service]
ExecStart=
ExecStart=/usr/bin/bluealsa -p a2dp-sink
Once we run sudo systemctl daemon-reload && sudo systemctl restart bluealsa.service
, bluealsa
and therefore mpradio
will return to functioning normally.
I'm looking into what is required to automate the process of editing the systemd
configuration for this; the issue I linked above discusses editing an init-file, but since mpradio
leverages systemd
, this is not a solution. Instead, we should follow standard protocol for modifying systemd
files.
As far as I can tell, this just then involves the addition of a few lines to install.sh
near where we systemctl enable bluealsa.service
:
mkdir -p /etc/systemd/system/bluealsa.service.d/
cat << 'EOF' >> /etc/systemd/system/bluealsa.service.d/override.conf
[Service]
ExecStart=
ExecStart=/usr/bin/bluealsa -p a2dp-sink
EOF
I will write the commit and test.