Mirror of https://github.com/melianmiko/OpenFreebuds

MelianMiko 707d63f6f3 Rework build scripts (#64) 1 周之前
.github 707d63f6f3 Rework build scripts (#64) 1 周之前
debian 707d63f6f3 Rework build scripts (#64) 1 周之前
docs 707d63f6f3 Rework build scripts (#64) 1 周之前
openfreebuds fca7ab1fd4 [Refactor] Move (mostly) all platform-dependent feature flags to `openfreebuds_backend` 1 周之前
openfreebuds_backend fca7ab1fd4 [Refactor] Move (mostly) all platform-dependent feature flags to `openfreebuds_backend` 1 周之前
openfreebuds_cmd 18007a6d49 [Refactor] Code cleanup 4 月之前
openfreebuds_qt d95af7ae12 [Fix] Fully stop built-in auto-updater for portable builds 1 周之前
scripts 707d63f6f3 Rework build scripts (#64) 1 周之前
.gitignore 707d63f6f3 Rework build scripts (#64) 1 周之前
CHANGELOG.md 9c8634b395 [Bump version] v0.16.2 1 周之前
LICENSE ebc6924060 Initial commit 3 年之前
README.md 707d63f6f3 Rework build scripts (#64) 1 周之前
Vagrantfile 707d63f6f3 Rework build scripts (#64) 1 周之前
justfile 707d63f6f3 Rework build scripts (#64) 1 周之前
pdm.lock 707d63f6f3 Rework build scripts (#64) 1 周之前
pdm.toml 707d63f6f3 Rework build scripts (#64) 1 周之前
pyproject.toml 707d63f6f3 Rework build scripts (#64) 1 周之前

README.md

OpenFreebuds

Desktop application to manage wireless headphones from HUAWEI/Honor

Last release Last AUR release Test build status

💿 Download binaries | ❓ FAQ

Tray menu preview

This application allows to control HUAWEI FreeBuds earphone settings from PC. Check exact battery level, toggle noise cancellation, control built-in equalizer, change gestures, and all other in-device settings and features are now available without official mobile application.

Features

  • Dynamic system tray icon that shows current active noise cancellation mode and battery level;
  • Tray menu with battery levels and active noise cancellation settings;
  • Ability to change voice language (not all devices supported);
  • Device settings dialog, eg. change equalizer preset, gesture actions, etc;
  • Built-in HTTP-server for remote control & scripting;
  • Built-in global hotkeys support (for Windows and Xorg-Linux)

Settings preview

Device compatibility

See device page to get information about supported features. If your device isn't listed here, you could try to use it with profile for other model.

May also work with newer/older devices in same series. If you want to get better compatibility of some model, you could create Bluetooth traffic dump to help making OpenFreebuds better.

Download & install

Common installation options:

Download for Windows Available in FlatHub

All installation options:

Platform Package manager Command/Linux
Windows Direct install Website or releases
Windows Winget (preinstalled)
winget install MelianMiko.OpenFreebuds
Windows Scoop
scoop bucket add extras
scoop install openfreebuds
Any linux Available at Flathub
flatpak install pw.mmk.OpenFreebuds
Debian/Ubuntu APT
curl -s https://deb.mmk.pw/setup | sudo bash -
sudo apt install openfreebuds
ArchLinux Yay for AUR
yay -S openfreebuds

Most recent dev-binaries can be found as GitHub Actions build artifacts.

Build from sources

Manual build

Requirements:

  • Windows 10/11, or enough modern Linux;
  • Qt 6.0+ development tools, at least Linguist's lrelease (under Windows, will be used auto-obtained from PySide6;
  • Just
  • Python (3.11+), PDM;
  • (Windows, optional) NSIS, UPX;
  • (Debian/Ubuntu, optional) For Debian packaging, some native libs (command: just deps_debian).

Get all dependencies for Windows
winget install -e --no-upgrade --id Casey.Just
winget install -e --no-upgrade --id NSIS.NSIS
winget install -e --no-upgrade --id UPX.UPX
winget install -e --no-upgrade --id Python.Python.3.12
powershell -ExecutionPolicy ByPass -c "irm https://pdm-project.org/install-pdm.py | python -"

Only for Python 3.13+

winget install -e --no-upgrade --id Microsoft.VisualStudio.2022.BuildTools --override "--passive --wait --add Microsoft.VisualStudio.Workload.VCTools;includeRecommended"

When dependencies listed above are resolved, parepare project environment and build Python wheel by running: just prepare build.

Now, you can try launching OpenFreebuds by just start command or package it via:

  • just win32 for Windows portable and installer;
  • just debian for Debian deb-package;
  • just flatpak for Flatpak bundle (will also automatically install application).

VM-based build (Vagrant)

[!WARNING] This build method will require a machine with at least 16 GB of RAM and fast internet conneciton.

Install Vagrant and any suitable hypervisor, I'm using VMware. Then just vagrant up in project root, it will automatically deply Debian 12 & Windows 11 machines that will build OpenFreebuds in (mostly) all packages.

Don't forgot to vagrant halt after finish, to free CPU/RAM usage.


Extra dialogs preview