在我的笔记本电脑上,声音首选项中仅出现虚拟输出。这是 Mint 20.3,但同样,在 Endeavor 或 Fedora live-USB 记忆棒上运行时什么也找不到。 AUX 中的耳机也不起作用。在 Windows 中,音频可以正常工作。显然声卡是HDA Intel PCH(见aplay -l
下文)。arecord --list-devices
给出一个空结果(如下)。另请参见arecord --list-pcms
下文/sbin/lsmod | grep snd
。
我怎样才能让它发挥作用?
$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 3: HDMI 0 [HDMI 0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 7: HDMI 1 [HDMI 1]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 8: HDMI 2 [HDMI 2]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 9: HDMI 3 [HDMI 3]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 10: HDMI 4 [HDMI 4]
Subdevices: 1/1
Subdevice #0: subdevice #0
arecord --list-devices
**** List of CAPTURE Hardware Devices ****
$ arecord --list-pcms
default
Playback/recording through the PulseAudio sound server
surround21
2.1 Surround output to Front and Subwoofer speakers
surround40
4.0 Surround output to Front and Rear speakers
surround41
4.1 Surround output to Front, Rear and Subwoofer speakers
surround50
5.0 Surround output to Front, Center and Rear speakers
surround51
5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71
7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
null
Discard all samples (playback) or generate zero samples (capture)
samplerate
Rate Converter Plugin Using Samplerate Library
speexrate
Rate Converter Plugin Using Speex Resampler
jack
JACK Audio Connection Kit
oss
Open Sound System
pulse
PulseAudio Sound Server
upmix
Plugin for channel upmix (4,6,8)
vdownmix
Plugin for channel downmix (stereo) with a simple spacialization
usbstream:CARD=PCH
HDA Intel PCH
USB Stream Output
$ /sbin/lsmod | grep snd
snd_sof_pci 20480 0
snd_sof_intel_hda_common 73728 1 snd_sof_pci
snd_soc_hdac_hda 24576 1 snd_sof_intel_hda_common
snd_sof_intel_hda 20480 1 snd_sof_intel_hda_common
snd_sof_intel_byt 20480 1 snd_sof_pci
snd_sof_intel_ipc 20480 1 snd_sof_intel_byt
snd_sof 106496 4 snd_sof_pci,snd_sof_intel_hda_common,snd_sof_intel_byt,snd_sof_intel_ipc
snd_sof_xtensa_dsp 16384 1 snd_sof_pci
snd_hda_ext_core 32768 3 snd_sof_intel_hda_common,snd_soc_hdac_hda,snd_sof_intel_hda
snd_soc_acpi_intel_match 32768 2 snd_sof_pci,snd_sof_intel_hda_common
snd_soc_acpi 16384 2 snd_sof_pci,snd_soc_acpi_intel_match
ledtrig_audio 16384 1 snd_sof
snd_soc_core 249856 3 snd_sof,snd_sof_intel_hda_common,snd_soc_hdac_hda
snd_compress 24576 1 snd_soc_core
ac97_bus 16384 1 snd_soc_core
snd_pcm_dmaengine 16384 1 snd_soc_core
snd_hda_codec_hdmi 61440 1
snd_hda_intel 53248 1
snd_intel_dspcfg 28672 3 snd_hda_intel,snd_sof_pci,snd_sof_intel_hda_common
snd_hda_codec 139264 3 snd_hda_codec_hdmi,snd_hda_intel,snd_soc_hdac_hda
snd_hda_core 90112 7 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_ext_core,snd_hda_codec,snd_sof_intel_hda_common,snd_soc_hdac_hda,snd_sof_intel_hda
snd_hwdep 20480 1 snd_hda_codec
snd_pcm 106496 8 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_sof,snd_sof_intel_hda_common,snd_soc_core,snd_hda_core,snd_pcm_dmaengine
snd_seq_midi 20480 0
snd_seq_midi_event 16384 1 snd_seq_midi
snd_rawmidi 36864 1 snd_seq_midi
snd_seq 69632 2 snd_seq_midi,snd_seq_midi_event
snd_seq_device 16384 3 snd_seq,snd_seq_midi,snd_rawmidi
snd_timer 36864 2 snd_seq,snd_pcm
snd 90112 13 snd_seq,snd_seq_device,snd_hda_codec_hdmi,snd_hwdep,snd_hda_intel,snd_hda_codec,snd_timer,snd_compress,snd_soc_core,snd_pcm,snd_rawmidi
soundcore 16384 1 snd
答案1
您认为为扬声器和耳机插头供电的声卡可能不是:您会注意到所有这些都[HDMI]
在其名称中。这是因为它们是不同的接口,您可以使用它们通过 HDMI 将音频传输到带有扬声器的外部屏幕!
因此,由于我猜没有插入这样的屏幕,因此您无法从会话中选择其中之一。
您的模拟声卡未在那里列出。如果它确实是由英特尔 PCH 处理的(不知道这是否是一个问题,我的笔记本电脑上不是这种情况),那么这意味着它在某种程度上被禁用了。
更有可能的是,您有另一个设备充当模拟声卡,但由于某种原因无法工作。检查lspci
和lsusb
类似声卡的东西,并尝试弄清楚他们的供应商(或志愿者?)是否像编写 Windows 驱动程序一样投入精力编写 Linux 驱动程序。您还可以使用Windows下的设备管理器来找出您实际的声音硬件是什么!