
AirPods liberated from Apple's ecosystem.
[!WARNING] librepods.org is not an official website of the LibrePods project. It inaccurately claims to be the official website of the project by claiming copyrights and using the LibrePods logo in the footer. And at the same time, they say that the project is not affiliated with the LibrePods project or its developers.
Please report any other such websites to [email protected]
LibrePods allows you to use AirPods features that are exclusive to Apple devices. It implements the proprietary protocol used to exchange data between AirPods and Apple devices, enabling features like changing noise control modes, fast ear detection, accurate battery status, head gestures, conversational awareness, and more on non-Apple platforms.
| Feature | Linux | Android |
|---|---|---|
| Changing Listening Mode | ✅ | ✅ |
| Ear detection | ✅ | ✅ |
| Battery status | ✅ | ✅ |
Renaming AirPods Note for AndroidOn Android, you need to re-pair your AirPods after renaming them because Android might not use the latest name. | ✅ | ✅ |
| Loud Sound Reduction | 🔴 | ⚪ |
| Head Gestures | ⛔ | ✅ |
| Conversational Awareness | ✅ | ✅ |
| Automatically connect to AirPods | ✅ | ✅ |
| Hearing Aid | 🔴 | ⚪ |
| Transparency Mode customization | 🔴 | ⚪ |
| Multi-device connectivity (Bluetooth Multipoint; 2 devices only) | ⚪ | ⚪ |
Other accessibility configs (click to expand)
| 🔴 | ✅ |
Other general configs
| 🔴 | ✅ |
| Head-tracked Spatial Audio | ❓ | ❓ |
| Heart Rate Monitoring | 🔴 | 🟡 |
| Find My | ❓ | ❓ |
| High quality two-way audio | 🟡 | 🟡 |
| Symbol | Meaning |
|---|---|
| ✅ | Implemented and works well |
| ⚪ | Needs VendorID spoofing; use at your own risk |
| 🟡 | Experimental/Work in progress |
| 🔴 | Not implemented yet; planned |
| ⛔ | Will not be implemented |
| ❓ | Unknown |
The following features related to Find My are planned, but require further RE and might need root on Android:
The app does not currently provide head tracking information to Android for the OS to perform HRTF. This has not been explored completely, and it might need root.
Spatializing stereo sound is beyond this project's scope and will never be available. Many OEMs have an implementation of their own for this.
Available in the android/rewrite branch. builds
Not available yet (doesn't seem like something that would be useful on a computer anyway. If you have any suggestions, create a discussion.)
On iOS/iPadOS, you can continue using A2DP while AirPods send the audio stream from its microphone over AACP.
Record audio within the app using the AirPods' microphone without switching to Headset/Handsfree profile is possible. But, making this available to other apps/telephony might need root, if possible at all.
Recorder is work in progress; available in the android/rewrite branch. builds
Check out PR #655.
Turns out, if you change the VendorID in DID Profile to that of Apple, you get access to several special features!
You can do this on Linux by editing the DeviceID in /etc/bluetooth/main.conf. Add this line to the config file DeviceID = bluetooth:004C:0000:0000. For android you can enable the act as Apple device setting in the app's settings (shown only when Xposed is available and LibrePods module is enabled).
Upto two devices can be simultaneously connected to AirPods, for audio and control both. Seamless connection switching. The same notification shows up on Apple device when Android takes over the AirPods as if it were an Apple device ("Move to iPhone"). Android also shows a popup when the other device takes over.
Accessibility settings like customizing transparency mode (amplification, balance, tone, conversation boost, and ambient noise reduction), and loud sound reduction can be configured.