“虚拟输出”而不是 Debian 9 上的音频设备

srg*_*bnd 10 audio linux debian hdmi

操作系统: Debian 9

核心:

Linux version 4.9.0-6-amd64 (debian-kernel@lists.debian.org) (gcc version 6.3.0 20170516 (Debian 6.3.0-18+deb9u1) ) #1 SMP Debian 4.9.82-1+deb9u3 (2018-03-02)
Run Code Online (Sandbox Code Playgroud)

使用笔记本电脑 6 个月以上后,我再也看不到任何音频设备了。

在此处输入图片说明

我昨天注意到了这一点。现在我所有的声卡都是 HDMI 不知何故。我使用通过 HDMI 连接到外部显示器的笔记本电脑工作。但我之前没有遇到任何音频问题。

trex@beast:~$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 7: HDMI 1 [HDMI 1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 8: HDMI 2 [HDMI 2]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
Run Code Online (Sandbox Code Playgroud)

PCI 信息

trex@beast:~$ lspci -nn | grep -i audio
00:1f.3 Audio device [0403]: Intel Corporation Sunrise Point-LP HD Audio [8086:9d71] (rev 21)
Run Code Online (Sandbox Code Playgroud)

我看到一些编解码器错误:

trex@beast:~$ sudo dmesg | grep -i error | grep -v "wifi\|fs"
[   28.220604] snd_hda_intel 0000:00:1f.3: Codec #0 probe error; disabling it...
Run Code Online (Sandbox Code Playgroud)

我尝试重新启动snd-hda-intel并重新配置pulseaudio,没有成功

sudo apt-get install --reinstall linux-image-`uname -r`
sudo modprobe snd-hda-intel
rm -r ~/.config/pulse*
pulseaudio -k
Run Code Online (Sandbox Code Playgroud)

a3n*_*3nm 15

在我的情况下,问题是由于另一个服务(即 timidity,在系统级别启动)正在使用声卡,因此pulseaudio(从用户级别启动)没有使用它。

要检查这一点,您可以sudo fuser /dev/snd/*查看是否有其他进程正在使用声卡。如果是,您应该安排不启动该过程,这将解决问题。

为了提供更多详细信息,我能够通过编辑/etc/pulse/daemon.confset来隔离问题,然后log-level = debug重新启动pulseaudio pulseaudio -k(然后systemd自动重新生成pulseaudio ),这就是我注意到问题的方式:

Aug  7 11:37:34 zeta pulseaudio[22178]: D: [pulseaudio] module-udev-detect.c: /devices/pci0000:00/0000:00:1f.3/sound/card0 is busy: yes
Run Code Online (Sandbox Code Playgroud)

  • 将 Debian 升级到 buster (10) 时遇到类似问题;谢谢你的提示;去除胆怯直接解决了问题:) (3认同)