我的输出设备中出现了虚拟输出,没有声音。我已经阅读了此网站上的很多问题,但没有一个解决方案对我有效。
诊断
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
根据解决方案这个问题我添加了行
options snd-hda-intel model=generic
改为/etc/modprobe.d/alsa-base
。这实际上用 替换了Dummy output
。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
,但我的系统上没有安装该程序。
我现在完全不知道该怎么办。如能得到任何帮助我将不胜感激 :)
答案1
有相同或类似的问题。sudo apt-get install --reinstall alsa-base pulseaudio
或之后可以正常工作pactl load-module module-detect
。 但每次重启后问题都会再次出现。
还看到有人建议/etc/pulse/default.pa
通过取消注释来编辑:
load-module module-alsa-sink
load-module module-alsa-source device=hw:1,0 <-- change this to 0,0
但对我而言没用。