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.

EDIT: The repository is https://github.com/djtech-dev/reblued but at the moment is pretty much empty, just the project’s skeleton, license, README and disussions for collaborators.

  • @[email protected]
    link
    fedilink
    2111 months ago

    i was thinking about re-writing the bluetooth daemon, in order to…

    The NIH is strong with this one.

    IMO you’d be better off putting that enthusiasm into fixing BlueZ - you might actually be able to fix some real issues and improve things for a great number of users relatively quickly.

    Writing a new, competing, piece of software is going to take a while to achieve both feature parity and see any adoption by major distros.

    retro-compatible (exposes the same D-Bus APIs as BlueZ)

    Is there any reason for this? I can’t think of anything off the top of my head that would require it. It’s an admirable goal but make sure it’s worthwhile doing this and that there aren’t actual benefits that could be achieved by breaking compatibility.

      • @[email protected]
        link
        fedilink
        811 months ago

        You have conflated two statements.

        1. You’re better off not fragmenting the ecosystem
        2. If they decide to go ahead with the rewrite, consider whether or not maintaining API compatibility with BlueZ is actually required / desirable.