昨天,我在 Dell Latitude E6520 上安装了 Archlinux,并且声音工作得非常好(我什至听到了无法摆脱的响亮的蜂鸣声)。
今天,我安装了Debian和alsa。第一个惊喜是,在 alsamixer 中,我显示的播放设备数量是原来的一半……我取消了它们的静音,它以某种方式起作用了——至少在我插入耳机时是这样。但是在尝试让声音在《超神英雄》中正常工作后,我尝试了 Chromium(我安装的一款游戏,以为它是 TT 浏览器),但它也没有声音……现在奇怪的是,我在写此消息时正在 Google chrome 上听音乐……
在我看来,第一个命令的输出就像我在 Archlinux 上的输出一样:
lspci -v |grep Audio
00:1b.0 Audio device: Intel Corporation Cougar Point High Definition Audio Controller (rev 04)
01:00.1 Audio device: nVidia Corporation Device 0e08 (rev a1)
但是当我使用alsamixer
并按下F6
(选择声卡)时,我只有3个选择:
- (default)
0 HDA Intel PCH
enter device name...
然而我很确定我在 Archlinux 下有第四个。
我尝试安装这个http://www.dell.com/support/drivers/us/en/19/Product/latitude-e6520?s=dhs 但显然它不起作用......并不是我期望它起作用,它是为 Ubuntu 设计的......
sudo dpkg -i alsa-driver-hda-krug-ubuntu-audio-dev-dkms_2.6.35.22.20110103_all.deb
(Reading database ... 129240 files and directories currently installed.)
Preparing to replace alsa-driver-hda-krug-ubuntu-audio-dev-dkms 2.6.35.22.20110103 (using alsa-driver-hda-krug-ubuntu-audio-dev-dkms_2.6.35.22.20110103_all.deb) ...
------------------------------
Deleting module version: 2.6.35.22.20110103
completely from the DKMS tree.
------------------------------
Done.
Unpacking replacement alsa-driver-hda-krug-ubuntu-audio-dev-dkms ...
Setting up alsa-driver-hda-krug-ubuntu-audio-dev-dkms (2.6.35.22.20110103) ...
Loading new alsa-driver-hda-krug-ubuntu-audio-dev-2.6.35.22.20110103 DKMS files...
First Installation: checking all kernels...
Building only for 2.6.32-5-amd64
Building for architecture amd64
Building initial module for 2.6.32-5-amd64
Error! Bad return status for module build on kernel: 2.6.32-5-amd64 (amd64)
Consult the make.log in the build directory
/var/lib/dkms/alsa-driver-hda-krug-ubuntu-audio-dev/2.6.35.22.20110103/build/ for more information.
这是 make.log 的内容:
/var/lib/dkms/alsa-driver-hda-krug-ubuntu-audio-dev/2.6.35.22.20110103/build$ ls
dkms.conf hda_codec.o hda_hwdep.c idt90.patch patch_analog.c patch_cirrus.o patch_hdmi.c patch_si3054.o
hda_beep.c hda_eld.c hda_intel.c Kbuild patch_analog.o patch_cmedia.c patch_hdmi.o patch_sigmatel.c
hda_beep.h hda_eld.o hda_local.h Kconfig patch_ca0110.c patch_cmedia.o patch_realtek.c patch_sigmatel.o
hda_codec.c hda_generic.c hda_proc.c Makefile patch_ca0110.o patch_conexant.c patch_realtek.o patch_via.c
hda_codec.h hda_generic.o hda_proc.o make.log patch_cirrus.c patch_conexant.o patch_si3054.c patch_via.o
xavierm02@xavierm02-D-L:/var/lib/dkms/alsa-driver-hda-krug-ubuntu-audio-dev/2.6.35.22.20110103/build$ cat make.log
DKMS make.log for alsa-driver-hda-krug-ubuntu-audio-dev-2.6.35.22.20110103 for kernel 2.6.32-5-amd64 (amd64)
Thu Aug 2 17:17:56 EDT 2012
make -C /lib/modules/2.6.32-5-amd64/build M=/var/lib/dkms/alsa-driver-hda-krug-ubuntu-audio-dev/2.6.35.22.20110103/build modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.32-5-amd64'
CC [M] /var/lib/dkms/alsa-driver-hda-krug-ubuntu-audio-dev/2.6.35.22.20110103/build/patch_analog.o
CC [M] /var/lib/dkms/alsa-driver-hda-krug-ubuntu-audio-dev/2.6.35.22.20110103/build/patch_ca0110.o
CC [M] /var/lib/dkms/alsa-driver-hda-krug-ubuntu-audio-dev/2.6.35.22.20110103/build/patch_cirrus.o
CC [M] /var/lib/dkms/alsa-driver-hda-krug-ubuntu-audio-dev/2.6.35.22.20110103/build/patch_cmedia.o
CC [M] /var/lib/dkms/alsa-driver-hda-krug-ubuntu-audio-dev/2.6.35.22.20110103/build/patch_conexant.o
CC [M] /var/lib/dkms/alsa-driver-hda-krug-ubuntu-audio-dev/2.6.35.22.20110103/build/patch_hdmi.o
CC [M] /var/lib/dkms/alsa-driver-hda-krug-ubuntu-audio-dev/2.6.35.22.20110103/build/hda_eld.o
CC [M] /var/lib/dkms/alsa-driver-hda-krug-ubuntu-audio-dev/2.6.35.22.20110103/build/patch_sigmatel.o
CC [M] /var/lib/dkms/alsa-driver-hda-krug-ubuntu-audio-dev/2.6.35.22.20110103/build/patch_realtek.o
CC [M] /var/lib/dkms/alsa-driver-hda-krug-ubuntu-audio-dev/2.6.35.22.20110103/build/patch_si3054.o
CC [M] /var/lib/dkms/alsa-driver-hda-krug-ubuntu-audio-dev/2.6.35.22.20110103/build/patch_via.o
CC [M] /var/lib/dkms/alsa-driver-hda-krug-ubuntu-audio-dev/2.6.35.22.20110103/build/hda_codec.o
CC [M] /var/lib/dkms/alsa-driver-hda-krug-ubuntu-audio-dev/2.6.35.22.20110103/build/hda_generic.o
CC [M] /var/lib/dkms/alsa-driver-hda-krug-ubuntu-audio-dev/2.6.35.22.20110103/build/hda_proc.o
CC [M] /var/lib/dkms/alsa-driver-hda-krug-ubuntu-audio-dev/2.6.35.22.20110103/build/hda_hwdep.o
/var/lib/dkms/alsa-driver-hda-krug-ubuntu-audio-dev/2.6.35.22.20110103/build/hda_hwdep.c: In function ‘parse_hints’:
/var/lib/dkms/alsa-driver-hda-krug-ubuntu-audio-dev/2.6.35.22.20110103/build/hda_hwdep.c:435: error: implicit declaration of function ‘skip_spaces’
/var/lib/dkms/alsa-driver-hda-krug-ubuntu-audio-dev/2.6.35.22.20110103/build/hda_hwdep.c:435: warning: assignment makes pointer from integer without a cast
/var/lib/dkms/alsa-driver-hda-krug-ubuntu-audio-dev/2.6.35.22.20110103/build/hda_hwdep.c:450: warning: assignment makes pointer from integer without a cast
make[4]: *** [/var/lib/dkms/alsa-driver-hda-krug-ubuntu-audio-dev/2.6.35.22.20110103/build/hda_hwdep.o] Error 1
make[3]: *** [_module_/var/lib/dkms/alsa-driver-hda-krug-ubuntu-audio-dev/2.6.35.22.20110103/build] Error 2
make[2]: *** [sub-make] Error 2
make[1]: *** [all] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-2.6.32-5-amd64'
make: *** [all] Error 2
我不认为戴尔网站上的驱动程序是可行的,因为我没有使用它来让 Archlinux 上的一切正常工作,但我一点也不确定。
我想我在 Archlinux 上做的另一件事是安装一个名称很长的软件包,它(可能)与音频有关,让我知道uname -r
安装的是哪个。我浏览了我的整个历史,但找不到在哪里发现我必须安装这个...我也不记得该包的名称...但我很确定它与 alsa 有关.. (因为唯一可能的事情是关于 nvidia 的,我用下载的 tar.gz 安装了 nvidia ...)
顺便说一句,uname -r
返回2.6.32-5-amd64
。
我安装了pulseaudio。
PS:目前声音仅适用于耳机,但这不是最大的问题。
PS 2:如果我将输出设置为 ALSA,则 Mumble 中的声音可以正常工作。在 HoN 中将声音设置为 ALSA 不会改变任何东西。 Chromium 不给你任何选择。
如果有什么问题,HoN 将在 X 服务器的另一个实例中于 :1 上启动,而其余部分则保留在 :0 上。
答案1
关于为什么您没有从扬声器中听到声音的可能答案是您打开了静音,或者在 alsamixer 中将音量控制设置为零。在我可以访问的英特尔 HDA 设备上,这意味着将“扬声器”设置为“OO”而不是“MM”。请记住,alsamixer 界面可以滚动(左右标有一系列箭头)!
nVidia 设备很可能用于通过 HDMI/DVI/DisplayPort 传输音频,因此它不会影响您当前的音频问题。
您在 alsamixer 选择中没有看到 nVidia 设备,但可以在 lspci 的输出中看到它的原因几乎可以肯定是因为您没有加载适当的驱动程序。 lspci 仅显示您插入的设备,无论是否有驱动程序,而 alsamixer 显示可用作声卡的设备 - 因此它们必须加载驱动程序。
如果您想通过数字视频端口获得音频,我相信您需要安装闭源 nVidia 驱动程序(在 Debian 非免费版本中提供) - 目前您可能正在使用开源 nouveau 驱动程序。 Debian 文档位于https://wiki.debian.org/NvidiaGraphicsDrivers应该告诉你如何做到这一点。