Lionel Blog

The road is under your feet, the heart looks to the distance

PipeWire

PipeWire의 히스토리

연도주요 사건
2015Wim Taymans가 개발 시작, 초기 명칭은 PulseVideo/Pinos
2017오디오 기능 추가, 프로젝트 명칭 PipeWire로 확정
2018.11라이선스 MIT로 변경
2021.04Fedora 34에서 최초 기본 오디오 서버 채택
2022~2023Ubuntu, Pop!_OS, Debian 등 대형 배포판 기본 채택
2023.11버전 1.0 공식 발표

탄생 배경과 초기 개발

  • PipeWire는 2015년 Red Hat의 Wim Taymans에 의해 시작된 리눅스용 저지연(low-latency) 멀티미디어 프레임워크입니다.

  • 개발 초기에는 William Manley가 만든 “PulseVideo"라는 프로젝트에서 영감을 받아, GStreamer 코드의 일부와 PulseAudio의 아이디어 등을 결합하여 설계되었습니다.

  • 원래 이름은 “PulseVideo"였으나, 2015년 6월부터는 Taymans가 거주했던 스페인 Pinos de Alhaurín 지역에서 따온 “Pinos"로 불리게 됩니다.

발전 과정

  • 2015~2017:

    • 초기에는 오직 비디오 스트림만 처리했으나, 2017년 초부터 오디오 기능 통합이 시작됐습니다.

    • 오디오 통합 과정에서는 JACK(프로 오디오) 및 Ardour(DAW) 개발자들과 협업하여, 전문가와 일반 사용자 모두 사용할 수 있도록 개발 방향을 잡았습니다.

    • 이 시기에 ‘PipeWire’라는 현재의 이름이 채택되었습니다.

  • 2018년:

    • PipeWire의 라이선스가 LGPL에서 MIT 라이선스로 변경되어, 더욱 폭넓은 오픈소스 활용이 가능해졌습니다.

주요 채택 및 확장

  • 2021년 Fedora 34:

    • Fedora 34가 최초로 PipeWire를 기본 오디오 서버로 채택하며, 리눅스 환경에서 PipeWire가 본격적으로 주목받게 됩니다.

    • 이 시기를 기점으로 PulseAudio, JACK, ALSA, GStreamer 등 다양한 사운드 서버 및 프레임워크를 통합적으로 관리할 수 있게 되었습니다.

  • 2022~2023:

    • Pop!_OS 22.04, Ubuntu 22.10, Debian 12(GNOME 데스크탑) 등 다양한 리눅스 배포판의 기본 오디오 서버로 채택되었습니다.

    • Wayland 환경에서의 화면 공유, 컨테이너 애플리케이션 오디오 지원 등 현대적인 데스크탑 요구사항을 만족시키며 스크린 캡처 등 영상 관련 기능도 함께 통합되기 시작했습니다.

최근 동향

  • 2023년 11월:

    • PipeWire는 1.0 버전을 발표하며, API 및 ABI 호환성과 함께 PulseAudio 및 JACK 기능의 완전한 대체를 목표로 하고 있습니다.

    • 이후 다양한 사운드, 블루투스, 전문 오디오 기능 등이 성숙해져 가고 있습니다.


PipeWire가 JACK과 PulseAudio를 대체할 수 있었던 이유와 강점

JACK과 PulseAudio의 한계

  • PulseAudio

    • 주로 일반 데스크탑 오디오에 최적화되어 프로 오디오(저지연, 복잡한 라우팅 등) 환경 지원은 부족함.

    • 블루투스 코덱 지원이 한정적이며, 고급 오디오 워크플로우를 지원하기 어렵고, 설정이 복잡함.

    • 일부 응용 프로그램이나 멀티미디어 환경에서 레이턴시, 호환성 문제가 발생함.

  • JACK

    • 프로 오디오 작업(음악 제작 등)에 특화되어 저지연 환경 제공.

    • 오디오 라우팅 자유도가 크나 일반 사용자 경험(플러그 앤 플레이, 블루투스 등)이 떨어짐.

    • 복잡한 설정, 데스크탑 소리와의 통합이 불편함.

PipeWire의 통합적 강점

1. 완벽한 통합과 호환성

  • PulseAudio와 JACK의 기능을 동시에 제공

    • PipeWire는 PulseAudio와 JACK의 API를 모두 마이그레이션하여, 두 시스템을 동시에 대체함.

    • 응용 프로그램은 기존의 PulseAudio 또는 JACK을 사용하는 것처럼 PipeWire를 사용할 수 있음.

2. 저지연 성능

  • 프로 오디오에 준하는 저지연 처리

    • JACK 수준의 저지연 오디오 처리가 가능하며, 일반 사용자에게도 동일한 속도와 반응성 제공.

    • 다양한 환경(데스크탑부터 라이브 프로 오디오까지)에서 레이턴시를 동적으로 조정함.

3. 하나의 서버, 다양한 멀티미디어 처리

  • 오디오와 비디오를 모두 관리

    • PipeWire는 오디오와 비디오 스트림을 모두 관리할 수 있어, 화면 공유·캡처 등 현대적 멀티미디어 환경에 필수.
  • ALSA, PulseAudio, JACK, Bluetooth, Wayland 등과 네이티브로 연동

    • 하나의 데몬에서 다양한 앱, 디바이스, 기술을 지원하여 복잡한 브리지, 별도 패치가 필요 없음.

4. 설정의 간편함 및 데스크탑 친화성

  • 단순한 설치 및 관리

    • 데스크탑 리눅스 환경에서 따로 별도의 설정이나 재시작 없이, 일반 사용자부터 전문가까지 쉽게 쓸 수 있음.
  • 동적 디바이스 인식 및 블루투스 지원

    • 최신 블루투스 코덱, 기기 간 핫스와핑 등도 자연스럽게 지원하여 연결이 쉬움.

5. 보안과 컨테이너 지원

  • Flatpak·Wayland 앱 보안 강화

    • Polkit 기반 권한 관리, 분리된 권한 정책 등으로 샌드박스 앱에서도 안전하게 멀티미디어 접근 가능.

6. 미래지향적 설계와 효율

  • 리소스 효율적이고 모듈형 설계

    • 낮은 CPU 사용량, 메모리 관리 최적화, 플러그인 기반 구조 등으로 효율적, 확장성이 뛰어남.
  • 단일 프레임워크 표준화

    • 다양한 리눅스 배포판에서 표준 오디오/비디오 프레임워크로 자리잡으며, 향후 확장성 확보.

요약 표: PipeWire 주요 강점

강점설명
통합성PulseAudio와 JACK 기능 동시 지원
저지연프로 오디오 수준의 저지연, 동적 레이턴시 조정
멀티미디어 통합오디오+비디오 처리, 다양한 디바이스 지원
쉬운 관리별도 설정 없이 데스크탑·전문가 모두 사용 가능
보안성컨테이너(Flatpak 등) 앱 보안/권한 관리 강화
리소스 효율·미래지향적 설계낮은 CPU 사용, 모듈형 구조, 다양한 배포판 기본 채택

PipeWire는 기존 리눅스 오디오 시스템(PulseAudio, JACK) 각각의 장점은 통합하고, 단점을 보완하여, 리눅스 데스크탑과 프로 오디오 현장 모두에 적합한 현대적인 멀티미디어 솔루션으로 자리잡고 있습니다.