我的输出设备中出现了一个虚拟输出,但没有声音。我已经在这个网站上阅读了很多问题,但没有任何建议的解决方案能持续为我工作。
诊断
lspci -nnk | grep -A3
06:00.1 Audio device [0403]: Advanced Micro Devices, Inc. [AMD/ATI] Device [1002:1637]
Subsystem: Lenovo Device [17aa:5082]
Kernel driver in use: snd_hda_intel
Kernel modules: snd_hda_intel
--
06:00.5 Multimedia controller [0480]: Advanced Micro Devices, Inc. [AMD] Raven/Raven2/FireFlight/Renoir Audio Processor [1022:15e2] (rev 01)
Subsystem: Lenovo Raven/Raven2/FireFlight/Renoir Audio Processor [17aa:5084]
Kernel driver in use: snd_rn_pci_acp3x
Kernel modules: snd_pci_acp3x, snd_rn_pci_acp3x
06:00.6 Audio device [0403]: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 10h-1fh) HD Audio Controller [1022:15e3]
Subsystem: Lenovo Family 17h (Models 10h-1fh) HD Audio Controller [17aa:5082]
Kernel driver in use: snd_hda_intel
Kernel modules: snd_hda_intel
aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: Generic [HD-Audio Generic], device 3: HDMI 0 [HDMI 0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: Generic [HD-Audio Generic], device 7: HDMI 1 [HDMI 1]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: Generic [HD-Audio Generic], device 8: HDMI 2 [HDMI 2]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: Generic_1 [HD-Audio Generic], device 0: ALC257 Analog [ALC257 Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
fuser -v /dev/snd/*
USER PID ACCESS COMMAND
/dev/snd/controlC0: jonas 1176 F.... pulseaudio
/dev/snd/controlC2: jonas 1176 F.... pulseaudio
find /lib/modules | grep snd | grep hda | grep intel
/lib/modules/5.4.0-52-generic/kernel/sound/soc/sof/intel/snd-sof-intel-hda.ko
/lib/modules/5.4.0-52-generic/kernel/sound/soc/sof/intel/snd-sof-intel-hda-common.ko
/lib/modules/5.4.0-52-generic/kernel/sound/soc/intel/boards/snd-soc-skl_hda_dsp.ko
/lib/modules/5.4.0-52-generic/kernel/sound/pci/hda/snd-hda-intel.ko
/lib/modules/5.4.0-52-generic/kernel/sound/hda/snd-intel-dspcfg.ko
/lib/modules/5.8.0-25-generic/kernel/sound/soc/sof/intel/snd-sof-intel-hda.ko
/lib/modules/5.8.0-25-generic/kernel/sound/soc/sof/intel/snd-sof-intel-hda-common.ko
/lib/modules/5.8.0-25-generic/kernel/sound/soc/intel/boards/snd-soc-skl_hda_dsp.ko
/lib/modules/5.8.0-25-generic/kernel/sound/pci/hda/snd-hda-intel.ko
/lib/modules/5.8.0-25-generic/kernel/sound/hda/snd-intel-dspcfg.ko
这是我尝试过的:
1.pulseaudio -k && sudo alsa force-reload
如果我经常发出这个命令(大约 3-7 次),那么最终我的扬声器会显示为输出设备并且声音可以正常工作。但是,重新启动后,这不再起作用。
我怎样才能使它保持一致?
此命令的典型输出如下所示
Unloading ALSA sound driver modules: snd-soc-dmic snd-acp3x-rn snd-acp3x-pdm-dma snd-soc-core snd-compress snd-hda-codec-hdmi snd-pcm-dmaengine snd-hda-codec-realtek snd-hda-codec-generic snd-hda-intel snd-seq-midi snd-seq-midi-event snd-intel-dspcfg snd-hda-codec snd-rawmidi snd-hda-core snd-seq snd-hwdep snd-pcm snd-seq-device snd-rn-pci-acp3x snd-pci-acp3x snd-timer (failed: modules still loaded: snd-soc-dmic snd-soc-core snd-compress snd-pcm-dmaengine snd-hda-codec-realtek snd-hda-codec-generic snd-hda-codec snd-hda-core snd-hwdep snd-pcm snd-timer).
Loading ALSA sound driver modules: snd-soc-dmic snd-acp3x-rn snd-acp3x-pdm-dma snd-soc-core snd-compress snd-hda-codec-hdmi snd-pcm-dmaengine snd-hda-codec-realtek snd-hda-codec-generic snd-hda-intel snd-seq-midi snd-seq-midi-event snd-intel-dspcfg snd-hda-codec snd-rawmidi snd-hda-core snd-seq snd-hwdep snd-pcm snd-seq-device snd-rn-pci-acp3x snd-pci-acp3x snd-timer.
有时,failed: modules still loaded
零件不会出现。但我没有认识到任何不同的结果。
这略微更改aplay -l
为
**** List of PLAYBACK Hardware Devices ****
card 0: Generic [HD-Audio Generic], device 3: HDMI 0 [HDMI 0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: Generic [HD-Audio Generic], device 7: HDMI 1 [HDMI 1]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: Generic [HD-Audio Generic], device 8: HDMI 2 [HDMI 2]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: Generic_1 [HD-Audio Generic], device 0: ALC257 Analog [ALC257 Analog]
Subdevices: 0/1
Subdevice #0: subdevice #0
所以card 1
现在它是Subdevices: 0/1
而不是Subdevices: 1/1
.
2.添加行/etc/modprobe.d/alsa-base
根据this question中的解决方案,我添加了该行
options snd-hda-intel model=generic
到/etc/modprobe.d/alsa-base
. 这实际上取代了Dummy output
by HD-Audio Generic Digital Stereo (HDMI)
。我猜这会启用 HDMI 音频输出?我无法对此进行测试,但扬声器不起作用。
这改变了输出aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: Generic [HD-Audio Generic], device 3: Generic Digital [Generic Digital]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: Generic_1 [HD-Audio Generic], device 0: ALC257 Analog [ALC257 Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
其他两条提议的线路
options snd-hda-intel dmic_detect=0
blacklist snd_soc_skl
没有任何我认可的效果。
3.胆怯
有些人对程序有问题timidity
,但它没有安装在我的系统上。
我很茫然,现在该怎么办。任何帮助,将不胜感激 :)
有相同或类似的问题。在
sudo apt-get install --reinstall alsa-base pulseaudio
or之后有效pactl load-module module-detect
。但是每次重启后问题都会再次出现。还看到人们建议
/etc/pulse/default.pa
通过取消注释来编辑:虽然对我不起作用。