
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.
git clone --recurse-submodules https://github.com/mos9527/SonyHeadphonesClient.git
cmake
is required for Windows, macOS and Linux builds. A C++20 compliant compiler is also required.
Install cmake (3.29.3 works) and install Visual Studio Community 2022 the C++ components:
- MSVC - VS 2022 C++ x64/x86 build tools
- Windows SDK
You can build, and debug the app with Visual Studio's CMake intergration.
You can also do this from the command line. In Visual Studio Run Tools --> Command Line --> Developer Command Prompt
,and then:
cd Client
mkdir build
cd build
cmake ..
cmake --build .
DBus
and libbluetooth
(bluez
) are required for Bluetooth support.
glfw
will be built alongside the application. Please follow the guide in https://www.glfw.org/docs/3.3/compile.html#compile_deps to ensure its dependencies.
- 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 dbus
You can then build the app with CMake, with a C++20 compliant compiler installed.
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, 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
Distributed under the MIT License. See LICENSE for more information.