切换默认声卡,同时使用相同的驱动程序

切换默认声卡,同时使用相同的驱动程序

我的 Linux Mint 17.1 的声音有问题。它通常可以正常工作,但大多数时候都会被刺耳的噪音打断。

我遵循了一些教程,以下是我的发现:

$ LC_ALL=C sudo aplay -l
**** List of PLAYBACK Hardware Devices ****
No protocol specified
xcb_connection_has_error() returned true
Home directory not accessible: Permission denied
card 0: HDMI [HDA Intel HDMI], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: HDMI [HDA Intel HDMI], device 7: HDMI 1 [HDMI 1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: HDMI [HDA Intel HDMI], device 8: HDMI 2 [HDMI 2]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: Intel [HDA Intel], device 0: ALC887-VD Analog [ALC887-VD Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: Intel [HDA Intel], device 1: ALC887-VD Digital [ALC887-VD Digital]
  Subdevices: 1/1
  Subdevice #0: subdevice #0


$ lspci -v  # relevant parts
00:03.0 Audio device: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller (rev 06)
    Subsystem: Intel Corporation Device 2010
    Flags: bus master, fast devsel, latency 0, IRQ 50
    Memory at f7d14000 (64-bit, non-prefetchable) [size=16K]
    Capabilities: [50] Power Management version 2
    Capabilities: [60] MSI: Enable+ Count=1/1 Maskable- 64bit-
    Capabilities: [70] Express Root Complex Integrated Endpoint, MSI 00
    Kernel driver in use: snd_hda_intel
--
00:1b.0 Audio device: Intel Corporation Device 8ca0
    Subsystem: Gigabyte Technology Co., Ltd Device a182
    Flags: bus master, fast devsel, latency 0, IRQ 51
    Memory at f7d10000 (64-bit, non-prefetchable) [size=16K]
    Capabilities: [50] Power Management version 2
    Capabilities: [60] MSI: Enable+ Count=1/1 Maskable- 64bit+
    Capabilities: [70] Express Root Complex Integrated Endpoint, MSI 00
    Capabilities: [100] Virtual Channel
    Kernel driver in use: snd_hda_intel

00:1c.0 PCI bridge: Intel Corporation Device 8c90 (rev d0) (prog-if 00 [Normal decode])


$ cat /proc/asound/modules
 0 snd_hda_intel
 1 snd_hda_intel

好像我有两张声卡。我想我应该使用另一张。其中一个教程指导我通过添加类似 的行来设置顺序options snd_hda_intel index=0/etc/modprode.d/alsa-base但在我的例子中,两张卡都使用,snd_hda_intel所以这是没有意义的。

那么我该如何切换到另一张声卡?

如果我的方法不对,而您知道如何用其他方法解决,欢迎提供任何建议。

编辑

我使用关联由@jcoppens 提供。我不需要切换声卡,但是:

  • echo "options snd-hda-intel vid=8086 pid=8ca0 snoop=0" >> /etc/modprobe.d/sound.conf
  • 添加intel_iommu=igfx_off到内核命令行

该问题只存在于英特尔卡中。

答案1

好吧,我没有这些卡并且我的发行版也不同,但我有几点建议:

您尝试添加了吗options snd_hda_intel index=1?看来您正在使用该index=0卡,因此使用该index=1选项您应该启用主板音频(并且可能必须切换背面的连接器)。

另一种方法是编辑 alsa.conf 文件。对于您的发行版,位置可能不同,有时它在/usr/share/alsa。有几行指示默认卡:

defaults.ctl.card 0   <-
defaults.pcm.card 0   <-
defaults.pcm.device 0    <-
defaults.pcm.subdevice -1
defaults.pcm.nonblock 1
defaults.pcm.compat 0    <-
defaults.pcm.minperiodtime 5000         # in us

我建议将标记为 witn 的修改<-为 1,然后重新启动进行检查。

相关内容