当前位置:Linux教程 - Linux - Alsa-sound-mini-HOWTO(二)

Alsa-sound-mini-HOWTO(二)

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 知识才对.)


现在您可以安插驱动程式了. 请跳到下一段吧.