I have an HP Spectre x360 13t and I'm unable to play audio out of the speakers. I know that our friends over at Archlinux was able to get this working. The difference seems to be that Archlinux loaded a different driver by default. Here is their output of '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
and here us Ubuntu's (21.10, kernel 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
Note that Archlinux loads 'snd_soc_skl_hda_dsp' while Ubuntu loads 'snd_soc_sof_sdw'.
So my question is: How do I force the loading of the one that Archlinux does? I know there are mechanisms to put 'blacklists' and 'option .. index=-2' in my alsa-base.con but doing this to the snd_soc_sof_sdw does not seem to do anything. I have a feeling there's something basic I'm missing.
Thanks