this post was submitted on 28 May 2024
2 points (100.0% liked)

Linux

48331 readers
460 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

Hello Lemmy,

I am the author of bluetuith, an open-source TUI-based bluetooth manager for Linux only. I have been working on this project for over 2 years on and off, and I was wondering about extending support to other platforms as well.

To begin with, the Bluetooth Classic (BR/EDR) implementation on Linux is fairly standardized (via bluez APIs), but on other platforms, especially windows, Bluetooth APIs are finicky, and tricky to deal with, and also there is no standardized management in general.

I would like to start creating a centralized Bluetooth server or a daemon for other platforms (natively maybe), mainly Windows and Linux, which can expose relevant APIs so that clients can use them to handle Bluetooth-based operations. I know this is quite an uphill task, but I would like suggestions on how to implement it, or if anyone has a better idea, please do suggest that as well.

To summarize, my current plan is this:

  • Create bluetooth servers natively for each platform, utilizing the platform's proven APIs to handle bluetooth-based functions and expose a standard API to clients
  • Adapt clients to use said APIs provided by the daemons to allow the user to control bluetooth in general.

For the server implementation (mainly to other platforms), I will require contributors, so contributors are highly welcome to be involved in the project. I am in the process of securing an NLnet grant to invest into this project and mainly pay contributors to implement this platform-wise (the proposal has been accepted, and the negotiation call will be hosted in a few weeks, more details about this can be further published if anyone has questions about this. If contributors are confirmed, maybe the budget could be adjusted as well).

I apologize if the post is naive or does not fit this community's guidelines, and if it doesn't, a comment on where to redirect this question would be great.

Constructive feedback is appreciated. Thank you.

Note: By Bluetooth operations, I mainly mean Bluetooth Classic based operations.

top 7 comments
sorted by: hot top controversial new old
[–] mexicancartel@lemmy.dbzer0.com 1 points 5 months ago

Build it till microsoft include it in windows lol

[–] MonkderDritte@feddit.de 1 points 5 months ago (1 children)

Better go with cross-platform in the sense of other unixes and maybe mac.

Windows is a different beast.

[–] darkhz@lemm.ee 0 points 5 months ago (1 children)

Windows is indeed a different beast, which is why I am looking for contributors. For Linux it can be done, but since I don't have a macOS based device, I cannot work on a macOS based implementation.

[–] Vivendi@lemmy.zip 0 points 5 months ago (1 children)

There is nothing preventing you from BSDs , tho

[–] cobra89@beehaw.org 1 points 5 months ago* (last edited 5 months ago)

While contributing is great, the BSDs are kinda dying and it's probably better to spend that effort elsewhere. Even TrueNAS is leaving the BSD space. The fact that most applications are shipping via docker/Flatpak/snap etc. and that BSD does not have a good solution for those does not bode well for BSD.

There just really isn't that much development for BSD anymore. Everyone who wasn't on Linux is moving over to it.

[–] dubba@feddit.de 0 points 5 months ago (1 children)

Do you already known about https://doc.qt.io/qt-6/qtbluetooth-index.html? That should give you cross-platform Bluetooth access with a single API.

[–] darkhz@lemm.ee 1 points 5 months ago

Yes, I am already considering it, but it has various limitations, which I would like to avoid.