PulseAudio 與 Dummy Output

這是 DR 在某部主機上遇到的問題,作業系統為 32bit 的 Fedora 21,並且採用的是 LXDE 桌面環境。話說這部主機日前發生過一次 kernel panic 死當,由於這是一部曾經閒置許久的舊主機,還能用就偷笑了,所以 DR 並沒有想要追究死當的原因。斷電重開機後順利進入系統,但是音效卡卻沒有聲音了。

 

打開音量控制工具一看,發現只列出了一個「Dummy Output」裝置,意思就是 PulseAudio 音效伺服器找不到輸出裝置,如果使用命令行指令「pacmd list-sinks」來檢視也會得到相同的結果。為了釐清是不是硬體出問題,DR 使用安裝在隨身碟裡的系統(同樣是 Fedora 21)來開機,但發現該系統就可以正常發出聲音來。

 

於是回過頭來檢查出問題的系統,其實 alsamixer 有抓到音效卡,各種播放軟體如果改用 ALSA 輸出就會順利發出聲音。所以硬體跟驅動程式都沒有問題,問題是出在 PulseAudio 這個層級。儘管 DR 對 PulseAudio 實在很不熟悉,不過在幾經搜尋與嘗試後,至少從 ArchWiki 找到了一項作法,可以讓 PulseAudio 再次發出聲音。

 

首先編輯 PulseAudio 的啟動設定檔:

  • sudo vim /etc/pulse/default.pa

 

加入這一行:

load-module module-alsa-sink device=hw:0,0

 

儲存後便重新啟動 PulseAudio 服務,這兩項動作只需要一般使用者的權限:

  • pulseaudio -k
  • pulseaudio --start

 

重新啟動後,PulseAudio 就會抓到輸出裝置,而 Dummy Output 也不會再出現了。雖然根據官方文件的說明,module-alsa-sink 模組通常是不需要手動載入的,不過顯然就此案例而言,這是一項解決辦法。

 

04/25/2015 更新:

後來因為要加裝硬體的緣故將主機拆開來,發現顯示卡的散熱風扇卡住不會動了。所以 kernel panic 很有可能是顯示卡散熱不良所造成的,也因此便另外更換了顯示卡。

 

分類: