我有一台 HP Spectre x360 13t,但无法通过扬声器播放音频。我知道 Archlinux 的朋友能够解决这个问题。不同之处在于 Archlinux 默认加载了不同的驱动程序。以下是他们的“pactl list cards”输出:
Card #0
Name: alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic
Driver: module-alsa-card.c
Owner Module: 6
Properties:
alsa.card = "0"
alsa.card_name = "sof-hda-dsp"
alsa.long_card_name = "HP-HPSpectrex360Convertible14t_ea000--87F7"
alsa.driver_name = "snd_soc_skl_hda_dsp"
device.bus_path = "pci-0000:00:1f.3-platform-skl_hda_dsp_generic"
sysfs.path = "/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0"
device.bus = "pci"
device.vendor.id = "8086"
device.vendor.name = "Intel Corporation"
device.product.id = "a0c8"
device.product.name = "Tiger Lake-LP Smart Sound Technology Audio Controller"
device.string = "0"
device.description = "Tiger Lake-LP Smart Sound Technology Audio Controller"
module-udev-detect.discovered = "1"
device.icon_name = "audio-card-pci"
Profiles:
HiFi: Play HiFi quality Music (sinks: 4, sources: 2, priority: 8000, available: yes)
off: Off (sinks: 0, sources: 0, priority: 0, available: yes)
Active Profile: HiFi
Ports:
[Out] HDMI3: HDMI3 Output (type: HDMI, priority: 700, latency offset: 0 usec, not available)
Part of profile(s): HiFi
[Out] HDMI2: HDMI2 Output (type: HDMI, priority: 600, latency offset: 0 usec, not available)
Part of profile(s): HiFi
[Out] HDMI1: HDMI1 Output (type: HDMI, priority: 500, latency offset: 0 usec, not available)
Part of profile(s): HiFi
[Out] Speaker: Speaker (type: Speaker, priority: 100, latency offset: 0 usec, availability unknown)
Part of profile(s): HiFi
[Out] Headphones: Headphones (type: Headphones, priority: 200, latency offset: 0 usec, not available)
Part of profile(s): HiFi
[In] Mic2: Headphones Stereo Microphone (type: Mic, priority: 200, latency offset: 0 usec, not available)
Part of profile(s): HiFi
[In] Mic1: Digital Microphone (type: Mic, priority: 100, latency offset: 0 usec, availability unknown)
Part of profile(s): HiFi
这里是 Ubuntu(21.10,内核 5.15):
Card #0
Name: alsa_card.pci-0000_00_1f.3-platform-sof_sdw
Driver: module-alsa-card.c
Owner Module: 22
Properties:
alsa.card = "0"
alsa.card_name = "sof-soundwire"
alsa.long_card_name = "Intel Soundwire SOF"
alsa.driver_name = "snd_soc_sof_sdw"
device.bus_path = "pci-0000:00:1f.3-platform-sof_sdw"
sysfs.path = "/devices/pci0000:00/0000:00:1f.3/sof_sdw/sound/card0"
device.bus = "pci"
device.vendor.id = "8086"
device.vendor.name = "Intel Corporation"
device.product.id = "a0c8"
device.product.name = "Tiger Lake-LP Smart Sound Technology Audio Controller"
device.string = "0"
device.description = "Tiger Lake-LP Smart Sound Technology Audio Controller"
module-udev-detect.discovered = "1"
device.icon_name = "audio-card-pci"
Profiles:
output:stereo-fallback: Stereo Output (sinks: 1, sources: 0, priority: 37868, available: yes)
off: Off (sinks: 0, sources: 0, priority: 0, available: yes)
Active Profile: output:stereo-fallback
Ports:
analog-output-speaker: Speakers (type: Speaker, priority: 10000, latency offset: 0 usec, not available)
Properties:
device.icon_name = "audio-speakers"
Part of profile(s): output:stereo-fallback
analog-output-headphones: Headphones (type: Headphones, priority: 9900, latency offset: 0 usec, available)
Properties:
device.icon_name = "audio-headphones"
Part of profile(s): output:stereo-fallback
请注意,Archlinux 加载“snd_soc_skl_hda_dsp”,而 Ubuntu 加载“snd_soc_sof_sdw”。
所以我的问题是:我如何强制加载 Archlinux 所做的那个?我知道有机制可以将“黑名单”和“选项 .. index=-2”放入我的 alsa-base.con 中,但对 snd_soc_sof_sdw 执行此操作似乎没有任何作用。我感觉我错过了一些基本的东西。
谢谢