Xubuntu 只显示音频的虚拟输出,除非我插入 HDMI,然后我才能使用 HDMI 音频

Xubuntu 只显示音频的虚拟输出,除非我插入 HDMI,然后我才能使用 HDMI 音频

我有一台戴尔 G3 15。运行 Xubuntu 18.04。在 2020 年 2 月 26/27 日之前,一切都运行正常。此后音频停止工作,我只在混音器中看到虚拟输出。我猜当时有一个更新。我认为笔记本电脑有 ALC3204 声卡。我发现,如果我插入 hdmi 显示器,我就可以通过 hdmi 播放音频。

我尝试过的事情:

  • 重新安装 Pulse Audio 并重新启动。
  • 已禁用安全启动。
  • 打开终端并运行 sudo apt-get install pavucontrol pavucontrol 然后进入配置文件以将配置设置为模拟立体声输出,却发现“虚拟输出”再次成为唯一的选项。
  • 打开终端并运行 sudo alsa force-reload。
  • pulseaudio -k && sudo alsa force-reload 没有效果。
  • BIOS -> 禁用音频 -> 启动至 Ubuntu -> 重新启动 -> BIOS -> 启用音频 -> 启动至 Ubuntu 不起作用。我仍然将“虚拟输出”作为唯一的声音输出选项。
  • 我访问了戴尔网站,查看是否可以下载 Realtek ALC3204 的新驱动程序,但我在网站上找到的唯一驱动程序仅适用于 Windows 10。
  • 在 /etc/modprobe.d/alsa-base.conf 中添加了“options snd-hda-intel model=headset-micprobe_mask=0x103”,顺便说一下,这会导致重启后 hdmi 音频停止工作。因此,如果我这样做,无论我做什么,都没有音频。
  • 我试过 USB 音频“卡”,它运行正常。
  • 我刚刚在 /etc/default/grub 中的 GRUB_CMDLINE_LINUX_DEFAULT="quiet splash mem_sleep_default=deep" 行中添加了 snd_hda_intel.dmic_detect=0,然后运行 ​​update-grub 并重新启动。耳机插孔现在可以用了,但扬声器和麦克风仍然不工作。

一些输出

G3-3590:~$ aplay -L
default
    Playback/recording through the PulseAudio sound server
null
    Discard all samples (playback) or generate zero samples (capture)
pulse
    PulseAudio Sound Server
hdmi:CARD=NVidia,DEV=0
    HDA NVidia, HDMI 0
    HDMI Audio Output
dmix:CARD=NVidia,DEV=3
    HDA NVidia, HDMI 0
    Direct sample mixing device
dsnoop:CARD=NVidia,DEV=3
    HDA NVidia, HDMI 0
    Direct sample snooping device
hw:CARD=NVidia,DEV=3
    HDA NVidia, HDMI 0
    Direct hardware device without any conversions
plughw:CARD=NVidia,DEV=3
    HDA NVidia, HDMI 0
    Hardware device with all software conversions
G3-3590:~$ sudo inxi -Fxz
System:    Host: plakkies-G3-3590 Kernel: 5.3.0-46-generic x86_64
           bits: 64 gcc: 7.5.0
           Desktop: Xfce 4.12.3 (Gtk 2.24.31) Distro: Ubuntu 18.04.4 LTS
Machine:   Device: laptop System: Dell product: G3 3590 serial: <filter>
           Mobo: Dell model: 061RYD v: A00 serial: <filter>
           UEFI: Dell v: 1.6.0 date: 08/08/2019
Battery    BAT0: charge: 46.1 Wh 100.0% condition: 46.1/51.0 Wh (90%)
           model: LGC-LGC4.474 DELL 415CG98 status: Full
CPU:       6 core Intel Core i7-9750H (-MT-MCP-) 
           arch: Skylake rev.10 cache: 12288 KB
           flags: (lm nx sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx) bmips: 31199
           clock speeds: max: 4500 MHz 1: 1370 MHz 2: 3619 MHz 3: 4391 MHz
           4: 3604 MHz 5: 3808 MHz 6: 3193 MHz 7: 4152 MHz 8: 3590 MHz
           9: 3847 MHz 10: 3612 MHz 11: 3615 MHz 12: 3585 MHz
Graphics:  Card-1: Intel Device 3e9b bus-ID: 00:02.0
           Card-2: NVIDIA Device 2191 bus-ID: 01:00.0
           Display Server: X.Org 1.20.5
           drivers: modesetting,nvidia (unloaded: fbdev,vesa,nouveau)
           Resolution: [email protected]
           OpenGL: renderer: GeForce GTX 1660 Ti with Max-Q Design/PCIe/SSE2
           version: 4.6.0 NVIDIA 435.21 Direct Render: Yes
Audio:     Card-1 Intel Cannon Lake PCH cAVS
           driver: sof-audio-pci bus-ID: 00:1f.3
           Card-2 NVIDIA Device 1aeb driver: snd_hda_intel bus-ID: 01:00.1
           Sound: Advanced Linux Sound Architecture v: k5.3.0-46-generic
G3-3590:~$ dmesg |grep audio
[    3.555373] snd_hda_intel 0000:01:00.1: Handle vga_switcheroo audio client
[    3.640969] sof-audio-pci 0000:00:1f.3: warning: No matching ASoC machine driver found
[    3.640974] sof-audio-pci 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if 0x040100
[    3.641097] sof-audio-pci 0000:00:1f.3: use msi interrupt mode
[    3.645485] sof-audio-pci 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[    3.649680] sof-audio-pci 0000:00:1f.3: hda codecs found, mask 5
[    3.649682] sof-audio-pci 0000:00:1f.3: using HDA machine driver skl_hda_dsp_generic now
[    3.701574] sof-audio-pci 0000:00:1f.3: Direct firmware load for intel/sof/sof-cfl.ri failed with error -2
[    3.701577] sof-audio-pci 0000:00:1f.3: error: request firmware intel/sof/sof-cfl.ri failed err: -2
[    3.701580] sof-audio-pci 0000:00:1f.3: error: failed to load DSP firmware -2
[    3.701945] sof-audio-pci 0000:00:1f.3: error: sof_probe_work failed err: -2
[    3.925713] snd_hda_codec_generic hdaudioC0D0: autoconfig for Generic: line_outs=0 (0x0/0x0/0x0/0x0/0x0) type:line
[    3.925716] snd_hda_codec_generic hdaudioC0D0:    speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[    3.925717] snd_hda_codec_generic hdaudioC0D0:    hp_outs=0 (0x0/0x0/0x0/0x0/0x0)
[    3.925717] snd_hda_codec_generic hdaudioC0D0:    mono: mono_out=0x0
[    3.925718] snd_hda_codec_generic hdaudioC0D0:    dig-out=0x7/0x0
[    3.925718] snd_hda_codec_generic hdaudioC0D0:    inputs:
[    4.755902] usbcore: registered new interface driver snd-usb-audio

感谢您的任何帮助,您可以提供。

答案1

额外的内核参数可能有助于查看音频损坏

以 root 身份打开 /etc/default/grub 并将“snd_hda_intel.dmic_detect=0”添加到以下行:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash snd_hda_intel.dmic_detect=0"

然后执行

grub-mkconfig -o /boot/grub/grub.cfg

在终端并重新启动。

答案2

在一些帮助下找到了答案。我问了一个比我更了解的人,他指出了这一点。如何使用 HDA 卡获取声音?

它解决了这个问题。

如果该链接消失,请按照以下步骤操作。

以 root 身份打开 alsa-base.conf - 例如:

sudo gedit /etc/modprobe.d/alsa-base.conf

并在文件末尾添加以下几行

options snd-hda-intel single_cmd=1
options snd-hda-intel probe_mask=1
options snd-hda-intel model=basic

相关内容