覆沉

使用PipeWire取代PulseAudio
by renyuneyun, post on 2021年06月10日(週四)

幾週前在這篇博文中偶然發現PipeWire這個聲音系統,其中對Carla的展示讓我眼前一亮——我之前就想要是有這麼個圖形化交互,那麼配置PA時候會直觀且省事很多。

稍微多看了看,發現它是Red Hat所開發(PulseAudio似乎也是RH開發的),(號稱)用來取代PulseAudio和Jack這兩個聲音系統的軟件——(號稱)目標是提供兼顧最終(普通)用戶和高級/底延遲需求的用戶的一套系統。另外,它也不只支持音頻,也支持圖像,似乎是爲了在Wayland上共享屏幕而這麼考慮的。

最近花了一點時間,用它取代自己一直在用的PulseAudio,發現還挺簡單的。更換後有許多優點,也有(如果處理不妥善的話)個別軟件的兼容問題。正巧我想起來自己以前在配置聲音系統上遇到許多坑,所以這裏稍微討論一下Linux上的聲音系統(我用過的幾個),以及我切換到PipeWire和玩耍的過程。

Linux的聲音系統

由於各種各樣的歷史和許可證原因,Linux上有許多和聲音相關的部件,包括但不限於ALSAOSSPulseAudioJack。雖然斷斷續續用過一年多的Ubuntu,但我剛接觸Arch的時候對這些東西還是一頭霧水,看到它們只有一個念頭:我就是想讓電腦出個聲,怎麼就這麼難。

本來我以爲它們只是一層搭一層或並列的關係,就好像大部分部件一樣。但我花了一個小時,最後瞭解到它們不是這樣,而是互相取代互相競爭但又不可互相取代的關係 …