萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 作業系統 >  >> Linux 教學

Linux 安裝聲卡驅動完整指南:ALSA 驅動編譯、配置與疑難排解

Linux 聲音子系統以 ALSA(Advanced Linux Sound Architecture) 為核心。本文以原始碼編譯安裝 ALSA 驅動為例,涵蓋依賴準備、下載、編譯、配置與常見問題排查。

一、安裝前依賴檢查

  • kernel-source / kernel-devel:核心原始碼/開發頭文件,編譯核心模組必備。多數發行版預設未裝,需 yum install kernel-devel / apt install linux-headers-$(uname -r)
  • gcc、make:編譯工具鏈,yum groupinstall "Development Tools" / apt install build-essential

二、下載 ALSA 三大元件(版本需一致)

官網:alsa-project.org

  1. alsa-driver:核心驅動模組
  2. alsa-lib:用戶空間庫,提供 API
  3. alsa-utils:工具集,含 alsamixer、alsaconf、aplay、arecord

三、編譯安裝流程(以 root 執行)

對每個套件依序執行:

tar xvf alsa-driver-*.tar.bz2
cd alsa-driver-*
./configure
make
make install
./snddevices   # 建立裝置節點

順序:driver → lib → utils,後者依賴前者。

四、配置聲卡:alsaconf 圖形化向導

cd alsa-utils-*
./alsaconf

操作流程:

  1. 按幾次 OK 進入自動偵測
  2. 列出偵測到的聲卡晶片組,選擇正確型號
  3. 確認寫入配置檔(通常為 /etc/modprobe.d/alsa.conf 或 /etc/modules.conf)

五、驗證與疑難排解

  1. 重啟系統或 modprobe snd-<driver> 載入模組
  2. 執行 alsamixer 取消靜音(M 鍵切換)、調整音量
  3. speaker-test -c2 -twav 播放測試音

常見問題

  • 無聲音:檢查 alsamixer 是否靜音、正確聲卡被選為預設(/proc/asound/cards)、模組是否載入(lsmod | grep snd)
  • alsaconf 找不到聲卡:確認核心配置 CONFIG_SND、CONFIG_SND_PCI 等已啟用;嘗試 modprobe snd-hda-intel 等通用驅動
  • 衝突:舊版 OSS 模組(soundcore、snd-pcm-oss)可能衝突,加入黑名單 /etc/modprobe.d/blacklist.conf
  • 發布版整合:現代發行版(Ubuntu 20.04+、Fedora 30+、RHEL 8+)預裝完整 ALSA + PulseAudio/PipeWire,**極少需手動編譯**,優先使用套件管理器安裝 alsa-utils、pulseaudio、pipewire。

現代聲音架構補充

目前 Linux 聲音堆疊:ALSA 核心驅動 → PipeWire/PulseAudio 用戶空間音訊伺服器 → WirePlumber 會話管理器 → 應用程式。配置重點多半在用戶空間層(~/.config/pipewire/、pavucontrol),而非核心驅動層。

copyright © 萬盛學電腦網 all rights reserved