gitmyhub

librepods

Kotlin ★ 29k updated 18d ago

AirPods liberated from Apple's ecosystem.

An open source project that brings Apple-exclusive AirPods features, like noise control and battery status, to Linux and Android devices.

KotlinRustBluetoothAndroidLinuxsetup: moderatecomplexity 4/5

LibrePods brings AirPods features that normally only work on Apple devices to Linux and Android. It works by reimplementing the proprietary protocol Apple uses to talk to AirPods, letting non-Apple devices access things like switching noise control modes, ear detection, accurate battery readouts, head gestures, and conversational awareness.

The README includes a detailed feature table comparing what already works on Linux versus Android. Both platforms support changing listening mode, ear detection, battery status, renaming your AirPods, conversational awareness, and automatic connection. Some features, like head gestures, currently only work on Android, while others, such as loud sound reduction and hearing aid customization, are planned or need a trick called VendorID spoofing, which makes the device identify itself as an Apple product to unlock extra functionality. A handful of features, including spatial audio with head tracking and true high quality two way audio, are marked as unclear or likely to require root access on Android, since Apple's own deeper OS integration is hard to replicate.

Installation instructions are provided separately for Android and Linux in their own subfolders. On Linux, VendorID spoofing is done by editing a Bluetooth configuration file, while on Android it is a toggle in the app's settings that appears once a companion Xposed module is enabled. The project also documents multi device connectivity, where up to two devices can share an AirPods connection with seamless switching between them, similar to how this works between genuine Apple devices.

For anyone curious about the underlying protocol, the README points to a separate Wireshark dissector plugin built by another developer, though the author notes they reverse engineered the protocol independently before that tool existed. The README also discloses that some parts of the Android app were built entirely with AI assistance. The full README is longer than what was shown.

Where it fits