Alsa-sound-mini-HOWTO(二)

火星人 @ 2014-03-12 , reply:0
←手機掃碼閱讀

  2.4 其它 HOWTO

ALSA-sound-mini-HOWTO 只是迷你版. 有些情形下這篇就有點簡略了, 看其它 HOWTO 可能對您有幫助. 我會點出您嘗試安裝 ALSA 驅動程式時可能會碰上的一些狀況. 一般來說, HOWTO 可以在 metalab(先前的 sunsite)的鏡射站 (mirror site)找到. 因此請先找找 http://metalab.unc.edu/LDP/mirrors.html, 去離你最近的鏡射站閱讀. 您可以在 LDP/HOWTO 目錄下找到 HOWTO 文件. 請注意: 本文件的連結是相對於 /LDP/HOWTO/mini 的. 如果您從鏡射得很一致的站台看, 您就能找到這些 HOWTO.

另外對 2.2.x 核心作點補充. 在 2.2.x 系列核心裡, 音效支援就如同其它支援一般, 它還能用, 但和您習慣的用法不同. 本 HOWTO (就像其它 HOWTO 一樣) 以 2.0 系列核心為主, 不過我會試著指明兩者之不同點. 我將很高興加入任何使本 HOWTO 能跟上 2.2 系列的東西.


音效卡
也許您已經買了片音效卡, 甚至已經裝在您的電腦好幾年了. 現在您可以用它了! 可以先看看 Sound-HOWTO, 看看是不是值得冒這個風險. (您也許想買新的什麽 Mega-Rumble-Blaster 的卡, 試試 ALSA 驅動程式.


隨插即用的卡

多數在 Intel 平台的新音效卡是 ISA PnP 卡, 是 "Plug and Play" 的縮寫. 其意是指這張卡必須經由作業系統設定. 這必須在開機時經由一個程序完成. 您也許需要運用 PnP-utils 套件來完成設定. 最近的每種 Linux 發行套件都包含這些工具. 用法請參照 Plug-and-Play-HOWTO

ALSA 驅動程式似乎對一些卡有做一些自己的 ISA 隨插即用支援. 然而不幸的, 因為我無法找到相關文件, 我無法向您說明怎麽做. 如果有人想試 ALSA 音效支援但不想用 ISA-PnP-tools, 請給我一點說明.


可載入模組
ALSA 音效驅動程式是建為模組的. 您可以在 Kernel-HOWTO 中得到關於模組的更多資訊. 也有個 module-HOWTO, 但目前已無人維護; 請在 Howto-HOWTO 那裡看看無人維護的文件那小節. 有個 Modules-mini-HOWTO 或許有用. (?)


Kerneld
另外有一個對某些人有用的 HOWTO 是 Kerneld-mini-HOWTO. Kerneld 是個在需要時才安裝及移除核心模組的常駐程式(daemon). (筆者對此沒有經驗, 所以歡迎提供任何資訊. ALSA 驅動程式文件包含了一些關於設定 kerneld 的資訊, 並已包含於本 mini-HOWTO.)

3. 如何安裝 ALSA 音效驅動程式


3.1 您需要什麽


一套能動的 Linux 系統(如 Slackware 發行套件), 並有安裝開發工具套件(像 gcc, make 等).)
支援的音效卡
一些 Linux 的知識(您總要曉得 "ls", "cd", "tar" 等怎麽用. )
root 帳號
如果您有 PnP 卡, 您也需要:
isapnptools 軟體套件
在驅程式目錄中的 INSTALL 檔內文提到對有些卡驅動程式內已經能處理 PnP 的支援. 我也從 Jaroslav 那兒得到一樣的論點. 如果我將來得到更多資訊, 我會將它們加進本 mini-HOWTO. (原文是 The INSTALL text in the driver directory suggests that for some cards, PnP support is native. I also received a suggestion from Jaroslav about this. When I get further information about this topic I will add it to this mini-HOWTO. }
請注意如果您想使用 ALSA 驅動程式, 那麽您不應該先載入任何其它音效驅動程式. 如果您的核心中內含音效驅動程式, 那麽有必要重編譯核心. 如果您正在使用舊的 sound.o 模組, 您必須解除它. 如果您使用 kerneld, 這可能就是要您刪去 /lib/modules/<核心版本>/misc 目錄下的 sound.o. 新的 RedHat 系統的音效驅動程式組織方式不太一樣, 要載入好幾個模組, 這種情況您需要解除全部的模組.

2.2 版核心對音效則採用了新的方式. 您應該要包含音效的支援! 是的, 沒有說錯, 您在核心中加入了對音效的支援, 但沒有包含任何音效卡的部份. 然後重編譯及安裝核心, 接著編譯 ALSA 驅動程式.


3.2 取得驅動程式
ALSA 驅動程式可在 ftp://ftp.alsa-project.org/pub 找到, 並且在 ftp://linux.a2000.nl/alsa 有一份鏡射(mirror). 要安裝 ALSA 的完整功能, 您需要驅動程式, 函式庫及一些公用程式; 也就是說如果您由鏡射站抓您應該 ftp://linux.a2000.nl/alsa/driver/alsa-driver-0.3.0-pre4.tar.gz, ftp://linux.a2000.nl/alsa/lib/alsa-lib-0.3.0pre4.tar.gz, 還有 ftp://linux.a2000.nl/alsa/utils/alsa-utils-0.3.0-pre4.tar.gz. (喔, 上面的不是完整的連結, 您最好到原地點看看有沒有新版, 並抓最新的.)


3.3 解開驅動程式
用合理的命令像 tar -zxf 解開驅動程式. 以下的是寫給新手或常忘記的人: (You extract the drivers by some reasonable command, like the all-time tar -zxf . For newbies and for those with amnesia:)


cd /usr/src


tar -zxf ~/alsa-driver-0.3.0-pre4.tar.gz

(如果成功了, 您可能一直使用 root 身份進系統, 這是不對的, 停下來並讀一下 DOS/Win95-to-Linux-HOWTO. 不是這樣的話, 您已經知道這是關於系統管理(administrative)的事, 您需要 superuser/root 許可權. 所以, 您需要 root 許可權, 輸入 su 以及密碼.


tar -zxf ~/alsa-lib-0.3.0pre4.tar.gz


tar -zxf ~/alsa-utils-0.3.0-pre4.tar.gz

下這樣的命令也可以, 且更有趣: find ~ -name alsa* -exec tar -zxf {} \; (孩子, 不要在家試這個, 這只是個範例而已. )注意如果您使用 Netscape 下載驅動程式, 您可能抓下的是解開過的, 但延伸檔名還是 .tgz. 如果 tar 抱怨檔案格式不對, 把 tar 命令中的 "z" 選項去掉, 可以得到較好的結果.


3.4 編譯
在您可以編譯及使用函式庫以前, 您需要先有驅動程式. 而有了函式庫後才可以編譯使用公用程式. 所以我們開始吧:


cd alsa-driver-0.3.0-pre4

(給那些不太有經驗的: 在 "alsa-d" 後接著按 ("tab" 鍵). 這樣就會叫出 命令列自動補完(command line completion).)

(譯註: 有更好的翻法嗎?)


./configure


make

現在您需要用 root 身份安裝東東(可能您已經是 root 了)

make install

如果它回應像 "version.h" 檔找不到之類的, 您可能沒有妥善安裝核心原始碼. 要編譯 ALSA 驅動程式需要核心原始碼中的一些檔案, 所以您把想用的 linux-2.x.y.tar.gz 在 /usr/src 下解開, 並下 make menuconfig 命令. (實際上, make symlinks 可能就夠了). 現在編譯函式庫:


cd ../alsa-lib-0.3.0-pre4


./configure


make


make install

OK, 您已經成功了, 再來是公用程式:


cd ../alsa-utils-0.3.0-pre4


./configure


make


make install

注意: 在第一次編譯公用程式時可先不打 "make install". 甚至您可以先不要動函式庫及公用程式, 只檢查一下確定驅動程式能不能用.


3.5 準備設備檔
在驅動程式目錄下有個命令稿(script)可以把 ALSA 的音效設備檔安裝進 /dev 目錄. 在驅動程式目錄下打入


./snddevices

如此應該有 /dev/snd 子目錄了(先看看有沒有. 如果您甚至連 "ls" 命令都不熟, 請考慮先讀別的 HOWTO. 在安裝本驅動程式前您應該有些基本的 Linux 知識才對.)


現在您可以安插驅動程式了. 請跳到下一段吧.





[火星人 via ] Alsa-sound-mini-HOWTO(二)已經有213次圍觀

http://www.coctec.com/docs/linux/show-post-67773.html