PulseAudio๋ฅผ ๋์ฒดํ ์ฐจ์ธ๋ ๋ฉํฐ๋ฏธ๋์ด ์๋ฒ๋ฅผ ๊ฐ๋ฐํ๋ PipeWire 0.3.33 ํ๋ก์ ํธ๊ฐ ์ถ์๋์์ต๋๋ค. PipeWire๋ ๋น๋์ค ์คํธ๋ฆผ ์ฒ๋ฆฌ, ์ง์ฐ ์๊ฐ์ด ์งง์ ์ค๋์ค ์ฒ๋ฆฌ, ์ฅ์น ๋ฐ ์คํธ๋ฆผ ์์ค ์ก์ธ์ค ์ ์ด๋ฅผ ์ํ ์๋ก์ด ๋ณด์ ๋ชจ๋ธ์ ํตํด PulseAudio์ ๊ธฐ๋ฅ์ ํ์ฅํฉ๋๋ค. ์ด ํ๋ก์ ํธ๋ GNOME์์ ์ง์๋๋ฉฐ Fedora Linux์์๋ ์ด๋ฏธ ๊ธฐ๋ณธ์ ์ผ๋ก ์ฌ์ฉ๋ฉ๋๋ค. ํ๋ก์ ํธ ์ฝ๋๋ C๋ก ์์ฑ๋์์ผ๋ฉฐ LGPLv2.1 ๋ผ์ด์ ์ค์ ๋ฐ๋ผ ๋ฐฐํฌ๋ฉ๋๋ค.
PipeWire 0.3.33์ ์ฃผ์ ๋ณ๊ฒฝ ์ฌํญ:
- Bluetooth ํ๋กํ HSP(ํค๋์ ๋ชจ๋)์ A2DP(๊ณ ํ์ง ์ค๋์ค ์ถ๋ ฅ) ์ฌ์ด๋ฅผ ์๋์ผ๋ก ์ ํํ๋ ๊ธฐ๋ฅ์ด ๊ตฌํ๋์์ต๋๋ค.
- Pro Audio ํ๋กํ์์๋ ๊ฐ์ ์์ค ๋ฐ ์ค๋์ค ์ถ๋ ฅ ์ฅ์น์ ๋ํ ์ง์์ด ํฅ์๋์์ต๋๋ค.
- ์ฌ๋ฌ ํด๋ผ์ด์ธํธ ๊ฐ์ DMA-BUF(์ง์ ๋ฉ๋ชจ๋ฆฌ ์ก์ธ์ค ๋ฒํผ)๋ฅผ ๊ณต์ ํ ๋ ํ์ ์์ ์ ํ์์ด ๊ฐ์ ๋์์ต๋๋ค.
- ์ด์ ๋ฉํฐ๋ฏธ๋์ด ๋ ธ๋ ๊ทธ๋ํ๋ ์ฌ๋ฌ ์ํ๋ง ์๋์ ๋์ ์ฌ์ฉ์ ์ง์ํฉ๋๋ค(๊ธฐ๋ณธ์ ์ผ๋ก ๋นํ์ฑํ๋จ).
- PulseAudio ํธํ์ฑ ๋ ์ด์ด๋ ์ ์ฅ์น๋ฅผ ์ฐ๊ฒฐํ ๋ PulseAudio์ ๋์์ ์๋ฎฌ๋ ์ดํธํ๊ธฐ ์ํด ๋ชจ๋ ์ค์์น ์จ ์ฐ๊ฒฐ ๋ชจ๋์ ๊ตฌํํฉ๋๋ค.
PipeWire๋ ๋ชจ๋ ๋ฉํฐ๋ฏธ๋์ด ์คํธ๋ฆผ์ ์ฒ๋ฆฌํ์ฌ PulseAudio์ ๋ฒ์๋ฅผ ํ์ฅํ๊ณ ๋น๋์ค ์คํธ๋ฆผ์ ๋ฏน์ฑํ๊ณ ๋ฆฌ๋๋ ์ ํ ์ ์๋ค๋ ์ ์ ์๊ธฐ์์ผ ๋๋ฆฌ๊ฒ ์ต๋๋ค. PipeWire๋ ๋น๋์ค ์บก์ฒ ์ฅ์น, ์น ์นด๋ฉ๋ผ ๋๋ ์ ํ๋ฆฌ์ผ์ด์ ํ๋ฉด ์ฝํ ์ธ ์ ๊ฐ์ ๋น๋์ค ์์ค๋ฅผ ์ ์ดํ๋ โโ๊ธฐ๋ฅ๋ ์ ๊ณตํฉ๋๋ค. ์๋ฅผ ๋ค์ด PipeWire๋ฅผ ์ฌ์ฉํ๋ฉด ์ฌ๋ฌ ์น์บ ์ ํ๋ฆฌ์ผ์ด์ ์ด ํจ๊ป ์๋ํ ์ ์์ผ๋ฉฐ Wayland ํ๊ฒฝ์์ ๋ณด์ ํ๋ฉด ์บก์ฒ ๋ฐ ์๊ฒฉ ํ๋ฉด ์ก์ธ์ค ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์์ต๋๋ค.
PipeWire๋ ๋ํ ์ค๋์ค ์๋ฒ ์ญํ ์ ํ์ฌ ๋๊ธฐ ์๊ฐ์ ์ต์ํํ๊ณ PulseAudio๊ฐ ์ ๊ณตํ ์ ์๋ ์ ๋ฌธ ์ค๋์ค ์ฒ๋ฆฌ ์์คํ ์ ์๊ตฌ ์ฌํญ์ ๊ณ ๋ คํ๋ ๊ฒ์ ํฌํจํ์ฌ PulseAudio์ JACK์ ๊ธฐ๋ฅ์ ๊ฒฐํฉํ๋ ๊ธฐ๋ฅ์ ์ ๊ณตํ ์ ์์ต๋๋ค. ๋ํ PipeWire๋ ์ฅ์น ๋ฐ ์คํธ๋ฆผ ์์ค์์ ์ก์ธ์ค ์ ์ด๋ฅผ ํ์ฉํ๊ณ ๊ฒฉ๋ฆฌ๋ ์ปจํ ์ด๋ ๊ฐ์ ์ค๋์ค ๋ฐ ๋น๋์ค๋ฅผ ๋ณด๋ค ์ฝ๊ฒ โโ๋ผ์ฐํ ํ ์ ์๋ ๊ณ ๊ธ ๋ณด์ ๋ชจ๋ธ์ ์ ๊ณตํฉ๋๋ค. ์ฃผ์ ๋ชฉํ ์ค ํ๋๋ ๋ ๋ฆฝํ Flatpak ์ ํ๋ฆฌ์ผ์ด์ ์ ์ง์ํ๊ณ Wayland ๊ธฐ๋ฐ ๊ทธ๋ํฝ ์คํ์์ ์คํํ๋ ๊ฒ์ ๋๋ค.
์ฃผ์ ๊ธฐ๋ฅ :
- ์ต์ํ์ ์ง์ฐ์ผ๋ก ์ค๋์ค์ ๋น๋์ค๋ฅผ ์บก์ฒํ๊ณ ์ฌ์ํฉ๋๋ค.
- ์ค์๊ฐ ๋น๋์ค ๋ฐ ์ค๋์ค ์ฒ๋ฆฌ ๋๊ตฌ
- ์ฌ๋ฌ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฝํ ์ธ ์ ๋ํ ๊ณต์ ์ก์ธ์ค๋ฅผ ๊ตฌ์ฑํ ์ ์๋ ๋ค์ค ํ๋ก์ธ์ค ์ํคํ ์ฒ
- ํผ๋๋ฐฑ ๋ฃจํ ๋ฐ ์์ ๊ทธ๋ํ ์ ๋ฐ์ดํธ๋ฅผ ์ง์ํ๋ ๋ฉํฐ๋ฏธ๋์ด ๋ ธ๋ ๊ทธ๋ํ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ ์ฒ๋ฆฌ ๋ชจ๋ธ์ ๋๋ค. ์๋ฒ ๋ด๋ถ์ ์ธ๋ถ ํ๋ฌ๊ทธ์ธ ๋ชจ๋์ ํธ๋ค๋ฌ๋ฅผ ์ฐ๊ฒฐํ ์ ์์ต๋๋ค.
- ํ์ผ ์ค๋ช ์ ์ ์ก์ ํตํด ๋น๋์ค ์คํธ๋ฆผ์ ์ก์ธ์คํ๊ณ ๊ณต์ ๋ง ๋ฒํผ๋ฅผ ํตํด ์ค๋์ค์ ์ก์ธ์คํ๊ธฐ ์ํ ํจ์จ์ ์ธ ์ธํฐํ์ด์ค์ ๋๋ค.
- ๋ชจ๋ ํ๋ก์ธ์ค์ ๋ฉํฐ๋ฏธ๋์ด ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋ ๋ฅ๋ ฅ
- ๊ธฐ์กด ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ์ ํตํฉ์ ๋จ์ํํ๊ธฐ ์ํ GStreamer์ฉ ํ๋ฌ๊ทธ์ธ ๊ฐ์ฉ์ฑ
- ๊ฒฉ๋ฆฌ๋ ํ๊ฒฝ ๋ฐ Flatpak ์ง์
- SPA ํ์(Simple Plugin API)์ ํ๋ฌ๊ทธ์ธ ์ง์ ๋ฐ ์ค์๊ฐ์ผ๋ก ์๋ํ๋ ํ๋ฌ๊ทธ์ธ ์์ฑ ๊ธฐ๋ฅ
- ์ฌ์ฉ๋ ๋ฉํฐ๋ฏธ๋์ด ํ์์ ์กฐ์ ํ๊ณ ๋ฒํผ๋ฅผ ํ ๋นํ๊ธฐ ์ํ ์ ์ฐํ ์์คํ .
- ๋จ์ผ ๋ฐฑ๊ทธ๋ผ์ด๋ ํ๋ก์ธ์ค๋ฅผ ์ฌ์ฉํ์ฌ ์ค๋์ค ๋ฐ ๋น๋์ค๋ฅผ ๋ผ์ฐํ ํฉ๋๋ค. ์ค๋์ค ์๋ฒ, ์ ํ๋ฆฌ์ผ์ด์ ์ ๋น๋์ค๋ฅผ ์ ๊ณตํ๊ธฐ ์ํ ํ๋ธ(์: gnome-shell ์คํฌ๋ฆฐ์บ์คํธ API์ฉ) ๋ฐ ํ๋์จ์ด ๋น๋์ค ์บก์ฒ ์ฅ์น์ ๋ํ ์ก์ธ์ค๋ฅผ ๊ด๋ฆฌํ๊ธฐ ์ํ ์๋ฒ์ ํํ๋ก ์์ ํ ์ ์๋ ๊ธฐ๋ฅ์ ๋๋ค.
์ถ์ฒ : opennet.ru