I am one of those poor bastards that had a hell of a time getting my Airpods working with Linux. Searches led me to going to /etc/bluetooth/main.conf and changing ControllerMode to “bredr”. This got the AirPods working, but then my bt keyboard and mouse wouldn’t connect.
What I wound up doing was switching ControllerMode to bredr, connecting the airpods, then switching ControllerMode back to “dual”. That kept them connected and allowed other devices to also connect.
So, now I’m sharing this for other poor bastards like me who could t get them to work with the steps that are out there.
This worked in Fedora 38 and will be testing with Ubuntu 23.04 and maybe arch today.
IMHO this is more a hack than a solution. I love it when things just work out the way they should on Linux as well as on any other OS. Having to use half-baked solutions like this might really turn away potential Linux users.
Then again, I never had major software-related Bluetooth audio issues on Linux, apart from general lag / audio-video offset. But this is an even bigger issue on Windows afaik…
It’s not half-baked. Dedicated bluetooth chips can also achieve far better performance. Some of these devices pack qualcom chips that can do lowlatency audio out of the box. And you can use them on basically any device (PlayStation, Nintendo Switch, etc.; everything that allows usb audio devices). I also use it on Windows and it saves me a lot of trouble there; even though Windows does have bluetooth drivers as well.
Using a bluetooth audio adapter actually has really great advantage for some circumstances, e.g. gaming. Many bluetooth audio adapters support low latency codecs (aptX) which greatly reduce audio lag, and when your CPU is at 100% usage while playing some demanding games, your bluetooth audio won’t freeze or stutter due to the encoder process getting starved out of cpu time.