声卡在 Ubuntu 18.04 中显示为虚拟输出

ber*_*wal 22 sound pulseaudio alsa drivers 18.04

虚拟输出显示在 Ubuntu 18.04中的设置->声音中。

在此处输入图片说明 虚拟输出

我试过:

sudo alsa force-reload
Run Code Online (Sandbox Code Playgroud)

它什么都不做。我不知道还有什么可以尝试的。

$ lsb_release -a
没有可用的 LSB 模块。 
分销商 ID: Ubuntu 
描述:Ubuntu 18.04 LTS 
发布: 18.04 
代号:仿生 

$ lsmod | grep snd_hda_intel
snd_hda_intel 40960 3
snd_hda_codec 126976 4 snd_hda_intel,snd_hda_codec_hdmi,snd_hda_codec_generic,snd_hda_codec_realtek
snd_hda_core 81920 5 snd_hda_intel,snd_hda_codec,snd_hda_codec_hdmi,snd_hda_codec_generic,snd_hda_codec_realtek
snd_pcm 98304 4 snd_hda_intel,snd_hda_codec,snd_hda_core,snd_hda_codec_hdmi
snd 81920 18 snd_hda_intel、snd_hwdep、snd_seq、snd_hda_codec、snd_timer、snd_rawmidi、snd_hda_codec_hdmi、snd_hda_codec_generic、snd_seq_device、snd_realp_hda

$ lspci -nnk | grep -A2 音频
00:1f.3 音频设备 [0403]:英特尔公司 Sunrise Point-H 高清音频 [8086:a170](修订版 31)
     子系统:微星国际有限公司 [MSI] Sunrise Point-H HD Audio [1462:fa15]
    正在使用的内核驱动程序:snd_hda_intel
    内核模块:snd_hda_intel

$ cat /etc/modprobe.d/alsa-base.conf
# 自动加载器别名
安装 sound-slot-0 /sbin/modprobe snd-card-0
安装 sound-slot-1 /sbin/modprobe snd-card-1
安装 sound-slot-2 /sbin/modprobe snd-card-2
安装 sound-slot-3 /sbin/modprobe snd-card-3
安装 sound-slot-4 /sbin/modprobe snd-card-4
安装 sound-slot-5 /sbin/modprobe snd-card-5
安装 sound-slot-6 /sbin/modprobe snd-card-6
安装 sound-slot-7 /sbin/modprobe snd-card-7

# 使可选模块加载到通用模块之上
安装 snd /sbin/modprobe --ignore-install snd $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-ioctl32 ; /sbin/modprobe --quiet --use-blacklist snd-seq ; }
#
# 解决错误 #499695(在 Ubuntu 中恢复,参见 LP #319505)
安装 snd-pcm /sbin/modprobe --ignore-install snd-pcm $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-pcm-oss ; :; }
安装 snd-mixer /sbin/modprobe --ignore-install snd-mixer $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-mixer-oss ; :; }
安装 snd-seq /sbin/modprobe --ignore-install snd-seq $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-seq-midi ; /sbin/modprobe --quiet --use-blacklist snd-seq-oss ; :; }
#
安装 snd-rawmidi /sbin/modprobe --ignore-install snd-rawmidi $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-seq-midi ; :; }
# 使可选模块加载到声卡驱动模块之上
安装 snd-emu10k1 /sbin/modprobe --ignore-install snd-emu10k1 $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-emu10k1-synth ; }
安装 snd-via82xx /sbin/modprobe --ignore-install snd-via82xx $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-seq ; }

# 加载 saa7134-alsa 而不是 saa7134(无论如何都会被它拖进来)
安装 saa7134 /sbin/modprobe --ignore-install saa7134 $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist saa7134-alsa ; :; }
# 防止异常驱动抢索引0
选项 bt87x 指数=-2
选项 cx88_alsa 索引=-2
选项 saa7134-alsa 索引=-2
选项 snd-atiixp-调制解调器索引=-2
选项 snd-intel8x0m 索引=-2
选项 snd-via82xx-modem 索引=-2
选项 snd-usb-audio 索引=-2
选项 snd-usb-caiaq 索引=-2
选项 snd-usb-ua101 索引=-2
选项 snd-usb-us122l 索引=-2
选项 snd-usb-usx2y 索引=-2
# Ubuntu #62691,为 snd-cmipci 启用 MPU
选项 snd-cmipci mpu_port=0x330 fm_port=0x388
# 防止 snd-pcsp 作为第一个声卡加载
选项 snd-pcsp 索引=-2
# 防止 snd-usb-audio 被加载为第一个声卡
选项 snd-usb-audio 索引=-2
选项 snd-hda-intel 模型=自动

也试过:

$ pacmd 列表卡
0 张卡可用。
$ aplay -l
aplay: device_list:270: 没有找到声卡...

我将进一步注意:当我使用 USB 声卡时,它在启动时不起作用,它根本不显示。当我断开它并再次连接它时,它开始工作。如何确定哪个应用程序捕获声卡?

小智 11

只是想补充一点,我按照类似的说明在使用运行 Ubuntu cosmic (18.10) 的戴尔 XPS 13 重新启动后短暂地进行了声音工作。在“自动”和“通用”之间切换没有太大变化

sudo alsa force-reload
Run Code Online (Sandbox Code Playgroud)

为我工作。


小智 2

当我将定制桌面从 16.04.x 升级到 18.04.1(均为 LTS)时,我也遇到了这个问题。升级后声音没了。lspci列出了音频设备,但与您的不同,系统顽固地拒绝加载相关模块。lshw显示该设备“无人认领”。

$ lspci -nnk | grep -A2 Audio
<snip>
00:1f.3 Audio device [0403]: Intel Corporation 200 Series PCH HD Audio [8086:a2f0]
        Subsystem: ASUSTeK Computer Inc. 200 Series PCH HD Audio [1043:8723]
<snip>

$ sudo lshw -c sound
     *-multimedia UNCLAIMED
          description: Audio device
          product: 200 Series PCH HD Audio
          vendor: Intel Corporation
Run Code Online (Sandbox Code Playgroud)

我尝试了很多 Ask Ubuntu 和网络答案(例如这些 答案),但它们对我不起作用。最终我尝试了help.ubuntu.com 上的声音故障排除程序,故障排除程序的第 3 步帮助我恢复了声音。本质上我所做的是运行以下命令并重新启动。

sudo apt-add-repository ppa:ubuntu-audio-dev/alsa-daily
sudo apt-get update
sudo apt-get install linux-image-extra-`uname -r`
sudo apt-get install --reinstall linux-image-extra-`uname -r`  
sudo apt-get install oem-audio-hda-daily-dkms
Run Code Online (Sandbox Code Playgroud)

现在lspci显示(和声音作品):

$ lspci -nnk | grep -A2 Audio
00:1f.3 Audio device [0403]: Intel Corporation 200 Series PCH HD Audio [8086:a2f0]
    Subsystem: ASUSTeK Computer Inc. 200 Series PCH HD Audio [1043:8723]
    Kernel driver in use: snd_hda_intel
    Kernel modules: snd_hda_intel
Run Code Online (Sandbox Code Playgroud)


小智 2

我对这个问题有一个稍微不同的变体。

命令

lsmod | grep snd_hda_intel
Run Code Online (Sandbox Code Playgroud)

lspci -nnk | grep -A2 Audio
Run Code Online (Sandbox Code Playgroud)

两者都表明我已经snd_hda_intel在系统上,但是音频控制始终是Dummy Output

sigint 提到的声音故障排除之后,我意识到这是唯一需要的。oem-audio-hda-daily-dkms

sudo apt-add-repository ppa:ubuntu-audio-dev/alsa-daily
sudo apt-get install oem-audio-hda-daily-dkms
Run Code Online (Sandbox Code Playgroud)

我的硬件:

  • 主板:华擎 Z370 Pro4
  • i7 8700k