Using Apple AirPods Pro on Linux is easy enough, right? You pair them over Bluetooth and listen away – except, not quite.

Many features of these gleaming white buds only work on macOS and iOS, meaning that using AirPods Pro on Linux comes with functional limitations: no active noise cancellation (ANC), transparency mode, ear detection or even reliable battery level reporting.

If you own a pair of AirPods Pro (any generation), chances are those are the key features you paid for, and you want to use them as more than basic bluetooth headphones on Linux.

Well, now you can — thanks to the LibrePods project.

Get AirPods Pro ANC Working on Linux

Screenshot: LibrePods / Edit: Me

LibrePods is an open source desktop app for Linux (with a mobile app for Android). It touts support for AirPods features on Linux that, hitherto, didn’t work. It’s able to do it by adapting to Apple’s specific implementations and reverse-engineering protocols used.

“The AirPods basic implementation like ear detection and conversational awareness is already in place, along with battery and changing ANC mode,” per its developer.

I can’t attest to what works (or how well) as I don’t own a pair to test.

You don’t need to use an app. That AirPods battery level GNOME Shell Extension I covered last year? It got deprecated …In favour of something better: a unified bluetooth audio extension that, of relevance here, supports enabling ANC too.

The LibrePods Linux app is written in Rust with a UI made in the Iced toolkit (the same building blocks the new COSMIC desktop environment uses). It doesn’t look beautifully integrated on a GNOME-based Ubuntu desktop, but functionality matters most here.

LibrePods makes it possible to switch between different noise modes on Linux:

  • Active Noise Cancellation
  • Transparency Mode
  • Disable/turn off

Noise modes are changed in the app, so you don’t need to rely on hardware sensors or prodding the flippin’ things with your grubby protuberance.

Other features LibrePods unlocks (model dependant):

  • Ear detection e.g., pausing music when removing them
  • Accurate battery levels so you know when a recharge is needed
  • Head gestures e.g., nodding to answer a call
  • Conversational awareness lowers volume automatically when you speak

Taking an earbud out to pause music (aka automatic ear detection) uses MPRIS integration using a dummy AVRCP player on PipeWire, and mpris-proxy for PulseAudio users. The project README covers that in more detail, but for the former:

Edit ~/.config/wireplumber/wireplumber.conf.d/51-bluez-avrcp.conf and add bluez5.dummy-avrcp-player = true and save the file. You may need to log out and back in for it to take effect,

Other AirPods Pro features may require a Bluetooth DID (Device Identification) hook to be enabled first. This spoofs the manufacturer ID to trick the AirPods into thinking they’re connected to an Apple device:

  • Hearing aid functionality
  • Transparency mode adjustments
  • Multi-device connectivity
  • Renaming your AirPods

Beyond that, LibrePods is able to display the battery levels for earbud independently, and the charge status of the case – which is handy.

To be clear: AirPods and AirPods Pro work on Linux as headphones, without requiring apps or tools. Advanced features are limited due to the way Apple opted to build them – hence this effort ‘liberating’ them from the Apple ecosystem.

Install LibrePods on Ubuntu

It should go without saying that to make use of LibrePods you need a compatible pair of Apple AirPods Pro (or regular AirPods, although they aren’t noise cancelling headphones so the ANC features are not available on those).

Also, LibrePods is still in active development. AirPods Pro 2 are fully supported, but AirPods Pro 3 are “virtually complete” bar heart rate monitoring. Earlier models work for battery monitoring and basic controls.

LibrePods is distributed as an AppImage, which is a standalone runtime that will work on Ubuntu without much fuss.

Head to the project’s GitHub releases page to download the latest version. You need to install the libfuse2t64 package to make AppImages work on Ubuntu, and (of course) give the AppImage permission to run. Thereafter, double-click it open.

On first launch you’ll need to pair your AirPods Pro on Linux:

  1. Hold the button on the case until the light flashes white
  2. Open Settings > Bluetooth
  3. Pair your AirPods Pro

Once paired, LibrePods will detect your buds and present you with relevant controls.

This app does need to run in the background for some features, like ear detection and conversational awareness, to work. You can minimise it to its system tray.

If you run into issues, the project’s GitHub page has troubleshooting steps for common Bluetooth configuration problems.

via Diolinux