
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.
NOTE: ✅: Supported, ❌: Unsupported, ?: Untested, ~: Supported offically, pending implementation.
Feature | WF-1000XM5 (Earbuds) | WH-1000XM5 (Over-ear) | WF-LS900N/BC (LinkBuds S) |
---|---|---|---|
Current Playing (req. host support) | ✅ | ? | ? |
Sound Pressure | ✅ | ? | ? |
Battery Life | ✅ | ? | ? |
Volume | ✅ | ? | ? |
NC/AMB Settings | ✅ | ? | ? |
Voice Guidance Volume | ✅ | ? | ? |
Track controls (play/pause, prev/next) | ✅ | ? | ? |
Multipoint Control (device change) | ✅ | ? | ? |
Speak to Chat | ✅ | ? | ? |
Equalizer | ✅ | ? | ? |
Touch Sensor Gesture | ✅ | ? | ? |
Power Off | ✅ | ? | ? |
Capture Voice During a Phone Call | ✅ | ? | ❌ (#1) |
Mapping headphone gestures to Shell Commands | ✅ | ? | ? |
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 used for Windows, macOS and Linux builds. You can build this project just like any other cmake
ones.
No extra dependency is required besides the Windows SDK.
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
From within Visual Studio Run the Tools --> Command Line --> Developer Command Prompt
,and then:
cd Client
mkdir build
cd build
cmake ..
cmake --build .
You'll need DBus
and libbluetooth
/bluez
support for BT and glfw
,glew
for building the GUI on your distro.
- Debian / Ubuntu:
sudo apt install libbluetooth-dev libglew-dev libglfw3-dev libdbus-1-dev
- Fedora:
sudo dnf install bluez-libs-devel glew-devel glfw-devel dbus-devel
- Arch Linux:
sudo pacman -S bluez glew dbus glfw
The build commands are the same as Windows.
No extra dependency is required (as glfw
is built with the app itself). The resultant binary should be universal (x86_64 and arm64).
# Install cmake
brew install cmake
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
.
- 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.