The Bluetooth story on Chromebooks is... weird. Wireless peripherals have been experiencing frequent stability problems for years now, multiple Chromebooks shipped with a buggy Bluetooth controller from Intel, and Google backpedaled on its ambitious efforts to rebuild Bluetooth from scratch to 'fix' its myriad issues. It's hard to pin down what happened exactly, but on the bright side, Google has managed to resolve most of its Bluetooth issues via software updates — even adding some goodies along the way. It seems Google hasn't given up on its plans for a broader Bluetooth overhaul, and it's now trying again with another Bluetooth stack.
We recently discovered Floss in the Chromium repository, a new initiative that will replace BlueZ entirely. For those unaware, BlueZ is the official stack for Linux that powers Chrome OS's Bluetooth. Despite being around for quite a while now (since Linux 2.4.6), it still has its fair share of issues — developers often remark on how poor its implementation is. NewBlue was supposedly Google's answer to this, but it seemed to cause even more problems. With the following commit, Google is trying to put BlueZ to rest by using Floss instead.
Initial work to port Android's Bluetooth stack into Chrome OS.
The commit describes Floss as an ongoing initiative to replace Chrome OS's existing BlueZ with Android's Bluetooth stack. We briefly saw the new code before Google pulled them — most of it being placeholder that helps Chrome OS switch between Floss and BlueZ. We imagine the Floss moniker is clever wordplay: something about helping to clean up (Blue)teeth. A Chrome flag will eventually arrive for intrepid developers to test it in the future, but considering how complicated Bluetooth is, it will probably take some time before it's usable.
I'm not totally on board with this change. Sure, BlueZ is an old dog at nearly twenty years (with all the issues that go along with that), but even today it's still used across all Linux distributions on the market, including Ubuntu and Debian. Resolving issues with it and Chrome OS should just be a matter of investing development time to fix this mess. By moving away from BlueZ, Google's efforts won't benefit the larger Linux community, leaving the stack in an unpolished state.
On the other hand, I can see Floss improving the wireless experience on some Chromebooks. Unlike NewBlue, Floss doesn't rebuild Bluetooth from scratch — it runs Android's stack, which most users have a reliable experience with. I can't say for sure if Floss will finally put all our Bluetooth woes to rest, as information about it is sparse right now, but if it means even a tiny improvement, I'll take that any time of the day.