Linux Bluetooth audio delay

Hi there:
OS: Ubuntu 22.04
12th Gen Intel® Core™ i5-1240P

Just got my Framework and loving it with Ubuntu so far! But one issue I’ve noticed is a pretty significant audio delay over Bluetooth, both bluetooth earbuds and a bluetooth speaker. Using an audio sync test video on youtube it seems like over .5 seconds. When I use a 16in Intel Macbook Pro, it’s pretty much perfect with the same bluetooth devices. My audio setup in my living room is bluetooth so it means I can’t use my framework to watch movies which isn’t a dealbreaker of course, but rather annoying.

I have a feeling this might be more an Ubuntu issue than Framework, but I haven’t been able to find anything online that really addresses it so hoping fellow Frameworkers can give some insight. I’ve tried looking into PulseEffects settings and PulseAudio Volume Control to change the latency but nothing seem to have an effect. Anyone know how to address this?

You could check your dmesg if something related to bluetooth is logged.

Also does this happen on the live system?

Which bluetooth version does your audio device support?

I’m using a Google Nest Audio which has Bluetooth 5.0. Same for my earbuds. I’ll see if I can see anything with dmesg

Sorry, what do you mean by the “live system”?

Do you have tlp set up?

Hi @Nathan_Connor,

Bluetooth can be very hit and miss. Great for music, not as much for video. That said, if the delay is pretty consistent, you can as you indicated, try PulseAudio Volume Control, browse to the Output tab, click Advanced for your BT device and try a latency offset of about 550

@Simon_F I do have tlp. Would that affect bluetooth somehow due to power savings?

@Matt_Hartley unfortunately, all I seem to be able to do is increase the delay with the offset. Tried negative numbers but it doesn’t seem to do anything.
Bluetooth has been so prevalent the last few years that it seems to have been solved pretty well. This is the first time in a long time I’ve noticed such audio/video delay. Mac OS and Windows at least seem to do whatever trickery is needed to sync it up. I would think Linux would not be so far behind or at least have some kind of workaround

Update: a system restart has made it a little better, maybe .2-.3 seconds delayed

Would be worth a shot, i guess.
I dont have tlp enabled on my FW (12th gen, Fedora 37) and i use my Bluetooth headset quite frequently to watch Youtube and got no delay at all.
Just disable tlp completely, reboot the device and check if it makes any differences.

Unfortunately i dont have much experience with tlp to tell you, what options to look out for.
Would definitely go with tlpui though, to have a better overview on what is possible.

Turning off tlp doesn’t seem to help, but thanks for the tip on tlpui, that’s much easier to use. And good to hear that it isn’t just a linux problem. I’ll keep poking around things. It seems to be inconsistent. The most recent time was pretty good, probably like only 100 ms delay.

I’d actually do a:

sudo systemctl stop tlp.service
sudo systemctl disable tlp.service

to make sure it’s actually stopped. I’d also reboot after these changes.

Now after reboot, click this gist and scroll down to “reduce latency.”