Hi everybody,
i’m a long time Debian user and, while i’ve always loved the Linux experience, the bluetooth side of things was always a little bit… painful.
Lately, i’ve been digging on how bluetooth on Linux works (i knew about BlueZ, but i didn’t know about HCI sockets, standard protocols for bluetooth controllers, …). Seeing how Android manages to work fine with bluetooth (yes, i know, money and company support, blah blah blah), i was thinking about re-writing the bluetooth daemon, in order to be modern, modular, safe (written in Rust), stable and retro-compatible (exposes the same D-Bus APIs as BlueZ) I already found some documents about HCI socket in Linux, HCI communication with bluetooth controllers, HID standards for Bluetooth, etc…
My questions are:
- is this a good idea?
- does somebody want to collaborate?
Thanks for reading.
To me it’s hard to say if BlueZ actually has some technical debt and is hard to fix, or is it just lacking some maintenance. Are bluetooth issues actually due to BlueZ, or is it more about finky drivers? My Bluetooth experience on Linux systems is mostly good, but it might vary a tiny bit depending on the hardware.
I’d say, if you see some architectural benefits then try and go for it. To really make sense it should do BlueZ’s job better than BlueZ. Being drop-in replacement is good for desktops integration, but maybe the API could be improved providing some benefits to how desktop integrations work (like provide more status info or prevent some situations from blocking), but again I know nothing about BlueZ internals so just guessing