PulseAudio 没有声音,只有虚拟输出

PulseAudio 没有声音,只有虚拟输出

我以 root 用户身份登录 Ubuntu 20.04。我安装了 pavucontrol 和 alsa。我的电脑(版本:)Lenovo G510是 Windows10 和 Ubuntu 双启动。

在pavucontrol 的Configuration选项卡中Build-in AudioProfile显示以下选项:

Digital Stereo (HDMI 5) Output (unplugged) (unavaliable)
Digital Stereo (HDMI 4) Output (unplugged) (unavaliable)
Digital Stereo (HDMI 3) Output (unplugged) (unavaliable)
Digital Stereo (HDMI 2) Output (unplugged) (unavaliable)
Digital Surround 7.1 (HDMI 5) Output (unplugged) (unavaliable)
Digital Surround 7.1 (HDMI 4) Output (unplugged) (unavaliable)
Digital Surround 7.1 (HDMI 3) Output (unplugged) (unavaliable)
Digital Surround 7.1 (HDMI 2) Output (unplugged) (unavaliable)
Digital Surround 5.1 (HDMI 5) Output (unplugged) (unavaliable)
Digital Surround 5.1 (HDMI 4) Output (unplugged) (unavaliable)
Digital Surround 5.1 (HDMI 3) Output (unplugged) (unavaliable)
Digital Surround 5.1 (HDMI 2) Output (unplugged) (unavaliable)
Off

也是Output Devices唯一的一场演出Dummy Output

一些信息:

uname -sr
Linux 5.11.1-051101-generic
# lspci -vvv | grep -A8 Audio
00:03.0 Audio device: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller (rev 06)
    Subsystem: Lenovo Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller
    Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
    Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
    Latency: 0, Cache Line Size: 64 bytes
    Interrupt: pin A routed to IRQ 34
    Region 0: Memory at b9610000 (64-bit, non-prefetchable) [size=16K]
    Capabilities: [50] Power Management version 2
        Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
        Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
--
00:1b.0 Audio device: Intel Corporation 8 Series/C220 Series Chipset High Definition Audio Controller (rev 05)
    Subsystem: Lenovo 8 Series/C220 Series Chipset High Definition Audio Controller
    Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
    Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
    Latency: 0, Cache Line Size: 64 bytes
    Interrupt: pin A routed to IRQ 33
    Region 0: Memory at b9614000 (64-bit, non-prefetchable) [size=16K]
    Capabilities: [50] Power Management version 2
        Flags: PMEClk- DSI- D1- D2- AuxCurrent=55mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
        Status: D3 NoSoftRst- PME-Enable+ DSel=0 DScale=0 PME-

aplay -l 
**** List of PLAYBACK Hardware Devices ****
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 0: HDMI [HDA Intel HDMI], device 9: HDMI 3 [HDMI 3]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: HDMI [HDA Intel HDMI], device 10: HDMI 4 [HDMI 4]
  Subdevices: 0/1
  Subdevice #0: subdevice #0
card 1: PCH [HDA Intel PCH], device 0: CX20757 Analog [CX20757 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

您还可以提出以下问题:

Is it muted? --No

Does the sound icon appear? --Yes, and I can still manipulate the audio, but obviously nothing happens

Have you tried opening alsa mixer and unmuting everything? --yes

我尝试过以下技巧(链接在这里):

  1. 只需重新启动 PulseAudio,使用以下命令:pulseaudio -k

  2. 检查 snd_hda_intel 内核模块是否正在使用。

    lsmod | grep snd_hda_intel
    

    并且它表明snd_hda_intel正在使用中。

    snd-hda-intel model=generic然后我在文件末尾 添加了选项/etc/modprobe.d/alsa-base.conf并重新启动。但它不起作用。

  3. 在文件中将设置modelauto而不是 。generic/etc/modprobe.d/alsa-base.conf

  4. 以 root 身份编辑并在该文件末尾/etc/modprobe.d/alsa-base.conf添加选项dmic_detect=0。以 root 身份编辑并在文件末尾添加。然后重新启动。 选项仍然相同。snd-hda-intel/etc/modprobe.d/blacklist.confblacklist snd_soc_sklProfileConfiguration

  5. 重新安装 pulseaudio。

  6. 像下面这样使用 pacmd(链接在这里):

    >>> set-cart-profile 1 output:analog-stereo+input:analog-stereo
    No card found by this name or index.
    >>> set-sink-port 0 analog-output-headphones
    Failed to set sink port to 'analog-output-headphones'.
    
  7. 运行以下命令:(链接在此处)

    pulseaudio --check
    pulseaudio -D
    
  8. 删除 ~/.config/pulse 然后重新启动。

  9. 运行以下命令:

    sudo apt-get update
    sudo apt-get upgrade
    sudo apt-get remove --purge alsa-base pulseaudio
    sudo apt-get install alsa-base pulseaudio pavucontrol
    sudo alsa force-reload
    reboot
    
    sudo add-apt-repository ppa:mikhailnov/pulseeffects
    sudo apt-get update
    sudo apt-get install pulseeffects
    
  10. 运行此命令(链接在这里): pulseaudio -k && sudo alsa force-reload 但是 pulseaudio 卡在“正在建立与 pulseaudio 的连接。请等待。”

尝试了这些技巧后,系统仍然没有声音。

答案1

您可以使用以下命令检查您的内核模块:

modprobe --show-depends snd_hda_intel

如果它返回如下错误:

modprobe: FATAL: Module snd_hda_intel not found in directory /lib/modules/...

这是由于您更新内核时缺少此更新导致的linux-modules-extra。要解决此问题,您必须手动安装linux-modules-extra内核。

运行此命令来安装它:

sudo apt install linux-modules-extra-$(uname -r)

然后重新启动计算机。

根据我的经验,您在更新内核时可能会再次遇到这种情况apt upgrade

我发现问题出在gcp我使用的内核上。因此,我更改了内核generic,这个问题再也没有在我的电脑上发生过。

还有其他建议为您的内核安装元包,linux-generic包括modules、等。modules-extraheaders

如果您手动删除了一些内核包,则该包可能会丢失。

要修复缺少内核包的问题,​​请在终端中运行:

sudo apt install linux-generic

这能解决你的问题吗?

编辑:Dummy Output重新启动计算机后,您会发现计算机上不再有任何内容Sound Settings,现在可以设置Output Device适合您的系统的内容。

声音设置截图

答案2

默认情况下,声音输出是HDMI,而不是内置扬声器。所以我们在系统中找不到内置扬声器的设置。

打开终端并使用以下命令检查 alsamixer 状态。

alsamixer

如果 alsamixer 中的默认设置是 HDMI 或其他音频输出设置,请继续阅读下文,了解如何修复它。

现在我们需要做的是强制 Ubuntu 默认使用模拟输出而不是 HDMI 接口,这里我们需要一些信息。打开终端并输入以下命令。

aplay -l

终端会列出设备、卡号等。记下卡号和模拟输出设备号。我的输出如下所示:

*** List of PLAYBACK Hardware Devices ****
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 0: HDMI [HDA Intel HDMI], device 9: HDMI 3 [HDMI 3]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: HDMI [HDA Intel HDMI], device 10: HDMI 4 [HDMI 4]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: PCH [HDA Intel PCH], device 0: CX20757 Analog [CX20757 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

修改配置文件。

sudo gedit /etc/asound.conf

上述命令也会打开该文件。当然,请添加以下几行替换您的卡和设备号。

defaults.pcm.card 1
defaults.pcm.device 0

保存文件并重新启动计算机,您将听到声音。

值得注意的是,该问题的修复适用于所有 Linux 发行版,例如 Linux Mint、Elementary OS、Fedora、Arch Linux 等。当然,此“无声音修复”仅在 HDMI 为默认设置时可用。

答案3

我的新英特尔 NUC 也遇到了同样的问题。这些人的戴尔 XPS 也遇到了同样的问题。

https://bugs.launchpad.net/ubuntu/hirsute/+source/linux/+bug/1935850

解决方案是使用线程中建议的补丁重建内核。一个更简单的解决方案(但不一定更好)是等到您的常规更新包含补丁。根据线程,补丁在下一个内核周期 -35 的日志中。

相关内容