Bluetooth audio volume not restored after reboot

I have bluetooth headphones (Galaxy Buds Live), and I noticed that on startup their volume defaults to 40% even after running alsactl store. This happens both on my PC and laptop. Any ideas on why this is happening?

Here are my logs

I have read that alsactl is not the primary in bluetooth volume control.
Try this (no warranty)
Edit /lib/systemd/system/bluetooth.service and change the line:


ExecStart=/usr/lib/bluetooth/bluetoothd --plugin=a2dp

then run:

sudo systemctl daemon-reload
sudo systemctl restart bluetooth.service

That works, but now the audio is much quieter for the same volume level.

I have not used BT. Apart from the above I did in a relatively new EnOS MATE:

yay -S bluez
yay -S bluez-utils
sudo systemctl enable bluetooth
yay -S blueberry per example
sudo systemctl daemon-reload
sudo systemctl restart bluetooth

Paired a BTS02 device. Changing this, the built-in analog and HyperX 7.1
devices there is no significant volume differences (with Pipewire in Alsamixer)

I think I see what’s happening. My headphones have their own internal volume, which I never noticed. I guess without the --plugin=a2dp flag, volume is only based only on that internal volume, but with the flag, it’s based on “external” pulse audio volume. Does this seem accurate?

Anyway, the internal volume isn’t restored on reboot with the flag added, only the external one. It might be better not to have the flag added.

Linux can control the internal volume but not save that volume onto these specific headphones.