IMPORTANT: All current maintenance effort happens in the rewrite Branch - Issues/Pull Requests on the master branch will NOT be processed until the rewrite branch is merged.
You may enjoy the latest additions and conformance update in the rewrite branch right away In Your Browser - support status and more information are available here.
A fork of Plutoberth's original SonyHeadphonesClient, now updated with support for Sony's newer Bluetooth/TWS devices (specifically for the earbunds (i.e. WF-1000XM5), see feature compatibility matrix for details.) and additional functionalities.
THIS PROGRAM IS NOT AFFILIATED WITH SONY. YOU ARE RESPONSIBLE FOR ANY DAMAGE THAT MAY OCCUR WHILE USING THIS PROGRAM.
Only the device-specific functions are listed here. If unspecified, the functionalities would be generally available.
If the feature support status for your own device is missing/incorrect/untested here, feel free to submit an Issue or a Pull Request so this table can be kept up-to-date!
ATTENTION: Older devices (e.g. XM3s) will not work with this fork due to updated BT protocols and are therefore discarded. Use Plutoberth's original SonyHeadphonesClient instead.
Check the Device Support folder for more details on confirmed per-device function availability.
Windows, macOS and most flavors of Linux are supported OOTB. You can find the latest binaries in the Releases page.
Nightly builds (builds up-to-date as of the latest commit in master branch) for all platforms are also available. You can download them here.
git clone --recurse-submodules https://github.com/mos9527/SonyHeadphonesClient.git
cmakeis required for Windows, macOS and Linux builds. A C++23 compliant compiler is also required.glfwwill always be built and statically linked with the application. Please follow the guide in https://www.glfw.org/docs/3.3/compile.html#compile_deps to ensure its dependencies.- On non-macOS platforms, OpenGL is used for GUI rendering. Make sure your system has the requisite GL libs intalled.
You can build, and debug the app with Visual Studio's CMake intergration, or any C++ IDE with CMake support of your choosing.
No extra dependency other than the Windows SDK is required. MSVC (Visual Studio) is the recommended compiler for Windows platform.
You can use the following commands to build the binary:
cd Client mkdir build cd build cmake .. cmake --build . DBus and libbluetooth(bluez) are required for Bluetooth support.
- Debian / Ubuntu:
sudo apt install libbluetooth-dev libdbus-1-dev # For GLFW sudo apt-get install xorg-dev- Fedora:
sudo dnf install bluez-libs-devel dbus-devel- Arch Linux:
sudo pacman -S bluez dbusYou can use the following commands to build the binary:
cd Client mkdir build cd build cmake .. cmake --build . You need to have XCode and CMake installed to build the application.
To build a universal binary (by specifying -DCMAKE_OSX_ARCHITECTURES="x86_64;arm64"), you can use the following commands:
cd Client mkdir build cd build cmake -DCMAKE_OSX_ARCHITECTURES="x86_64;arm64" .. cmake --build .An app bundle will be created in the build directory named SonyHeadphonesClient.app.
See Packet Capture doc for more info.
- Plutoberth - Initial Work and Windows Version
- Mr-M33533K5 - BT Interface and Other Help
- semvis123 - macOS Version
- jimzrt - Linux Version
- guilhermealbm - Noise Cancelling Switch
- Amrsatrio - Work on XM6 and co
- GLFW - Window and Input
- Dear ImGui - GUI
- tomlplusplus - Config file parsing
- cascadia-code - Default font supplied with the app
Distributed under the MIT License. See LICENSE for more information.