LibrePods: 將 Apple AirPods 生態系統功能帶入 Android 與 Linux

LibrePods: 將 Apple AirPods 生態系統功能帶入 Android 與 Linux

LibrePods 是一個針對 Apple AirPods 使用之專有協定進行開源實作的專案,讓使用者能在非 Apple 平台上使用生態系統專屬功能。雖然 AirPods 在任何裝置上都能作為標準的 Bluetooth 耳機運作,但 LibrePods 能在 Android 與 Linux 上啟用進階控制功能——例如切換降噪模式、精確的電池電量回報以及耳機偵測。

核心功能可用性

LibrePods 在 Android 與 Linux 之間提供不同程度的支援。該專案專注於實作 Apple 用於管理裝置狀態與設定的資料交換協定。

已完全實作的功能

Android 與 Linux 使用者皆可使用以下功能:

  • 聆聽模式控制:更改降噪控制模式(例如:在降噪與通透模式之間切換)。
  • 耳機偵測:根據耳機是否在耳中,自動暫停/播放媒體。
  • 電池狀態:精確回報耳機與充電盒的電池電量。
  • 重新命名:重新命名 AirPods 的能力(不過 Android 使用者可能需要重新配對裝置才能看到更新後的名稱)。
  • 對話感知:支援根據偵測到的說話聲進行音訊調整的功能。
  • 自動連接:配對後無縫連接至 AirPods。

平台特定與進階功能

某些功能受限於作業系統的 Bluetooth 堆疊,或需要特定的修改:

  • 頭部手勢:在 Android 上已完全實作;在 Linux 上尚不支援。
  • 輔助功能與助聽器:Android 支援全面的輔助功能配置,包括按壓速度、按住時長,以及為助聽器自定義設定聽力圖結果的能力。Linux 針對這些功能的支援目前正在計畫中。
  • 一般配置:Android 允許配置通話控制、麥克風側邊選擇,以及在入睡時暫停媒體的能力(針對近期韌體)。

計畫中與實驗性功能

若干高複雜度的功能目前正在開發中,或被標記為未知:

  • 尋找 (Find My):計畫中的功能包括將 AirPods 加入 Find My 網路、透過充電盒播放聲音,以及「遺忘」通知。這些功能在 Android 上可能需要 root 權限。
  • 心率監測:目前正在針對 AirPods Pro 3 及後續型號進行逆向工程;在 Android 上可能需要 root 權限。
  • 空間音訊:目前尚未向 Android 提供用於 HRTF (Head-Related Transfer Function) 的頭部追蹤資訊。該專案明確指出,將立體聲音訊空間化超出了其開發範圍。
  • 高品質雙向音訊:計畫實作 A2DP 用於輸出,同時使用 AACP 用於麥克風輸入,但由於 Android 音訊整合的深度,這可能需要 root 權限。

技術實作與逆向工程

LibrePods 依賴於對 Apple 專有通訊協定的逆向工程。開發者指出,雖然 pabloaul/apple-wireshark dissector plugin 對未來的目標很有幫助,但最初的許多實作是透過獨立的逆向工程完成的。

VendorID 偽裝

為了解鎖某些「特殊功能」,LibrePods 利用 VendorID 偽裝技術,讓 AirPods 認為自己正連接到 Apple 裝置:

  • Linux:使用者可以編輯 /etc/bluetooth/main.conf 以新增 DeviceID = bluetooth:004C:0000:0000
  • Android:具備 Xposed 且已啟用 LibrePods 模組的使用者可以使用「act as Apple device」設定。

在開發中使用 AI

該專案展示了一種現代的混合開發模式,利用 AI 進行特定組件的開發:

  • Android:頭部手勢邏輯/UI、Xposed 模組偏移量設定,以及疑難排解器/日誌收集器皆是由 AI 生成的。
  • Linuxaacp.rsatt.rs 檔案是使用 AI 將 Kotlin 轉換為 Rust,且 media_controller.rs 的部分內容(特別是 PulseAudio 整合)也是由 AI 生成的。

社群洞察與替代方案

社群討論凸顯了生態系統解放的渴望與專有硬體風險之間的矛盾。部分使用者擔心 Apple 可能會在未來的韌體更新中修補這些漏洞,以破壞相容性。

替代方案

對於使用其他平台或無法 root 裝置的使用者,提到了以下替代方案:

  • CAPod:針對版本 16 QPR3 或以下的非 root Android 使用者提供的配套應用程式。
  • MagicPods:適用於 Windows 與 Steam Deck。

"AirPods 在其他裝置上本來就能作為一般的 Bluetooth 耳機運作。這是一個針對整合在 Apple 產品中的一些額外功能與介面進行的實作。"

"如果我不是確信 Apple 會盡力修補未來所有能讓這項技術運作的途徑,我可能會有動力去購買 AirPods。"

專案計畫與授權

LibrePods 授權於 GNU General Public License v3 (GPLv3)。專案維護者警告使用者,librepods.org 並非官方網站,且該錯誤地聲稱與該專案有關聯。

Sources