Linux 聲音子系統以 ALSA(Advanced Linux Sound Architecture) 為核心。本文以原始碼編譯安裝 ALSA 驅動為例,涵蓋依賴準備、下載、編譯、配置與常見問題排查。
yum install kernel-devel / apt install linux-headers-$(uname -r)yum groupinstall "Development Tools" / apt install build-essentialalsamixer、alsaconf、aplay、arecord對每個套件依序執行:
tar xvf alsa-driver-*.tar.bz2
cd alsa-driver-*
./configure
make
make install
./snddevices # 建立裝置節點
順序:driver → lib → utils,後者依賴前者。
cd alsa-utils-*
./alsaconf
操作流程:
/etc/modprobe.d/alsa.conf 或 /etc/modules.conf)modprobe snd-<driver> 載入模組alsamixer 取消靜音(M 鍵切換)、調整音量speaker-test -c2 -twav 播放測試音alsamixer 是否靜音、正確聲卡被選為預設(/proc/asound/cards)、模組是否載入(lsmod | grep snd)CONFIG_SND、CONFIG_SND_PCI 等已啟用;嘗試 modprobe snd-hda-intel 等通用驅動soundcore、snd-pcm-oss)可能衝突,加入黑名單 /etc/modprobe.d/blacklist.confalsa-utils、pulseaudio、pipewire。目前 Linux 聲音堆疊:ALSA 核心驅動 → PipeWire/PulseAudio 用戶空間音訊伺服器 → WirePlumber 會話管理器 → 應用程式。配置重點多半在用戶空間層(~/.config/pipewire/、pavucontrol),而非核心驅動層。