AirPods, 이제 안드로이드와 리눅스에서도 — 오픈소스 프로젝트 'LibrePods'가 여는 새로운 가능성

한눈에 보는 요약
AirPods는 일반 블루투스 이어폰으로는 어디서든 동작하지만, 노이즈 제어 모드 전환·착용 감지·정확한 배터리 표시 같은 "특별한" 기능들은 그동안 Apple 기기에서만 쓸 수 있었습니다. LibrePods는 바로 그 벽을 허무는 오픈소스 프로젝트입니다.
AirPods와 Apple 기기가 주고받는 독점 프로토콜을 직접 리버스 엔지니어링해 구현함으로써, 리눅스와 안드로이드 같은 비(非) Apple 플랫폼에서도 AirPods의 고급 기능을 사용할 수 있게 해줍니다.
LibrePods가 하는 일
핵심은 'AirPods와 Apple 기기 사이의 독점 프로토콜을 구현했다'는 점입니다. 덕분에 다른 플랫폼에서도 다음과 같은 기능을 쓸 수 있습니다.
- 노이즈 제어(청취) 모드 변경
- 빠른 착용 감지
- 정확한 배터리 상태 표시
- 대화 인지(Conversational Awareness)
- AirPods 이름 변경 및 자동 연결
- 그 외 다양한 AirPods 설정
플랫폼별 지원 현황
기능 지원은 플랫폼마다 차이가 있습니다.
✅ 리눅스·안드로이드 모두 잘 동작
- 청취 모드 변경, 착용 감지, 배터리 상태
- AirPods 이름 변경 (안드로이드는 변경 후 재페어링이 필요할 수 있음)
- 대화 인지, 자동 연결
📱 안드로이드 전용
- Head Gestures(머리 제스처) — 리눅스에는 구현하지 않을 예정
- 접근성 설정, 누르는 속도/길게 누르기 시간 조정
- 한쪽 AirPod만으로 노이즈 캔슬링, 스와이프 볼륨 제어
- 길게 눌러 청취 모드 순환 또는 디지털 어시스턴트 호출
- 통화 제어, 개인화된 볼륨, 마이크 방향 설정
- 잠들 때 미디어 자동 일시정지
⚪ VendorID 스푸핑이 필요한 기능
다음 기능들은 기기 정보(VendorID)를 Apple 값으로 바꾸는 스푸핑이 전제됩니다. 위험 부담은 사용자가 감수해야 합니다.
- 큰 소리 감소(Loud Sound Reduction)
- 보청기(Hearing Aid) 기능
- 투명 모드(Transparency Mode) 커스터마이징
- 멀티 디바이스 연결
VendorID 스푸핑, 어떻게 동작할까
VendorID 스푸핑은 DID 프로파일의 제조사 ID를 Apple의 값으로 바꿔 특수 기능에 접근하는 방식입니다.
- 리눅스:
/etc/bluetooth/main.conf파일에서 아래처럼 설정DeviceID = bluetooth:004C:0000:0000 - 안드로이드: Xposed가 설치되고 LibrePods 모듈이 활성화된 경우, 앱 설정에서
act as Apple device옵션을 켤 수 있음
특히 멀티 디바이스 연결은 최대 2대 기기를 AirPods에 동시 연결해 오디오와 제어를 모두 사용할 수 있게 합니다. 안드로이드가 AirPods를 가져가면 Apple 기기에는 마치 정품처럼 "Move to iPhone" 알림이 표시될 정도로 정교합니다.
아직은 미완성인 기능들
야심 찬 프로젝트인 만큼 진행 중이거나 탐색 단계인 기능도 많습니다.
- Find My: 분실 방지 알림, 케이스에서 소리 재생 등은 계획 단계이며 추가 리버스 엔지니어링과 안드로이드 root가 필요할 수 있음
- 공간 오디오(Spatial Audio): 현재 head tracking 정보 제공은 미지원. 스테레오 공간화는 프로젝트 범위 밖
- 심박수 모니터링: AirPods Pro 3 이후 모델 대상으로 작업 중, root 필요 가능성 큼
- 고품질 양방향 오디오: 안드로이드에서는 더 깊은 통합과 root가 필요할 가능성
프로토콜 분석과 'AI 코드'에 대한 솔직한 고백
흥미로운 점은 LibrePods 개발자가 코드의 출처를 투명하게 공개한다는 것입니다. 프로토콜 대부분은 별도 도구 없이 직접 리버스 엔지니어링했지만, 일부는 AI가 생성한 코드임을 명시했습니다.
- 안드로이드: Head Gestures 전체 로직과 UI, 오프셋 설정, 트러블슈터/로그 수집기 등
- 리눅스 재작성:
aacp.rs·att.rs는 Kotlin → Rust로 AI 번역,media_controller.rs의 Pulse 통합 일부도 AI 생성
반면 백그라운드 서비스, 블루투스 매니저 클래스, 핵심 UI는 수동 작성되었습니다.
라이선스와 상표 유의사항
- LibrePods는 GPLv3 이상의 자유 소프트웨어로 배포됩니다.
- 단, GPL이 이름·로고·브랜딩 사용 권리까지 주는 것은 아닙니다. 공식 프로젝트와의 제휴를 암시하는 무단 사용은 금지됩니다.
- 안드로이드 앱의 SF Pro 폰트는 Apple 자산으로, 추후 오픈 대안으로 교체 예정입니다.
- ⚠️
librepods.org는 공식 사이트가 아니며, 로고를 무단 사용해 공식인 척한다고 프로젝트 측이 경고하고 있습니다.
대안 앱도 살펴보세요
환경에 따라 더 적합한 선택지가 있을 수 있습니다.
- CAPod: 안드로이드 16 QPR3 이하이고 root가 없다면 추천
- MagicPods for Steam Deck: 스팀덱 사용자용
- MagicPods: 윈도우용 대안
커뮤니티의 반응
Hacker News에서는 작업의 완성도를 칭찬하면서도 본질적인 질문이 오갔습니다. "AirPods는 이미 일반 블루투스로 동작하는데, 이건 Apple OS에 통합된 부가 기능 인터페이스를 구현한 것"이라는 정리부터, "이렇게 폐쇄적인 회사의 하드웨어를 굳이 구매로 지원해야 하느냐"는 회의론까지 다양했습니다. "AirPods를 사는 이유는 음질이 아니라 Apple 생태계 간의 매끄러운 연결"이라는 지적도 인상적입니다.
다음 패치로 막힐 위험을 우려하는 목소리도 있지만, 그럼에도 '내가 산 하드웨어를 내 마음대로 쓰고 싶다'는 욕구가 이 프로젝트의 가장 큰 원동력임은 분명해 보입니다.
자신의 AirPods를 안드로이드나 리눅스에서 더 알차게 활용하고 싶다면, LibrePods는 충분히 주목할 만한 프로젝트입니다. 다만 VendorID 스푸핑이나 root가 필요한 기능은 위험을 충분히 이해한 뒤 시도하시길 권합니다.