Install pavucontrol is you haven’t already.
sudo apt install pavucontrol
In pavucontrol go to Configuration tab, and look for your bluetooth device and play with the Codec drop down menu.
Change it to anything that isn’t ‘high definition’ audio, or LDAC
Usually the best output setting is just stereo duplex, any kind of DSP means the sound card has to process the signal, and Linux drivers are a bit buggy with spatial audio and such settings, causing stuttering.
If that doesn’t fix it, try giving more headroom to pipewire, this is normally only needed for virtual machines because the drivers are emulated, but might help;
You need to edit the WirePlumber configuration as follows:
mkdir -p ~/.config/wireplumber/wireplumber.conf.d/
cd ~/.config/wireplumber/wireplumber.conf.d
Then create a config file in an editor:
nano ~/.config/wireplumber/wireplumber.conf.d/50-alsa-config.conf
and add the following, (don’t lose the indentation, this is important!):
monitor.alsa.rules = [
{
matches = [
# This matches the value of the 'node.name' property of the node.
{
node.name = "~alsa_output.*"
}
]
actions = {
# Apply all the desired node specific settings here.
update-props = {
api.alsa.period-size = 1024
api.alsa.headroom = 8192
}
}
}
]
Afterwards, restart everything via:
systemctl --user restart wireplumber pipewire pipewire-pulse
You may even have to reboot for the changes to take.