[BUG] HP Omen 14 not detected
The integrated driver is not being detected in the HP OMEN Transcend 14,
the output of the command:
cat /sys/bus/acpi/devices/*/adr | grep 025d
0x000030025d071101
0x000330025d131601
According to #4880 the board should be:
Firmware file: intel/sof-ipc4/mtl/sof-mtl.ri
Topology file: intel/sof-ace-tplg/sof-mtl-rt711-l0-rt1316-l3-2ch.tplg.gz)
but instead it is defaulting to :
Firmware file: intel/sof-ipc4/arl/sof-arl.ri
Topology file: intel/sof-ace-tplg/sof-arl-rt711-l0-2ch.tplg
I already checked and the kernel has all the patches described in thesofproject/sof#4880 applied. I'm using kernel 6.15.13 and sof-firmware 2025.05 on opensuse
Here is all dmesg output related to sof with debuging information included
[ 3.397313] [ T126] audit: type=1400 audit(1751281624.332:4): avc: denied { read } for pid=1 comm="systemd" name="sof-dyndbg.conf" dev="nvme0n1p5" ino=504204 scontext=system_u:system_r:init_t:s0 tcontext=unconfined_u:object_r:user_home_t:s0 tclass=file permissive=0
[ 3.837045] [ T126] audit: type=1400 audit(1751281624.772:5): avc: denied { read } for pid=753 comm="systemd-modules" name="sof-dyndbg.conf" dev="nvme0n1p5" ino=504204 scontext=system_u:system_r:systemd_modules_load_t:s0 tcontext=unconfined_u:object_r:user_home_t:s0 tclass=file permissive=0
[ 4.508059] [ T800] snd_intel_dspcfg:snd_intel_dsp_driver_probe: snd_hda_intel 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040100
[ 4.508082] [ T800] snd_intel_sdw_acpi:sdw_intel_scan_controller: acpi PRP00001:00: ACPI reports 4 SDW Link devices
[ 4.508090] [ T800] snd_intel_sdw_acpi:sdw_intel_scan_controller: acpi PRP00001:00: Link 1 not selected in firmware
[ 4.508094] [ T800] snd_hda_intel 0000:00:1f.3: SoundWire enabled on CannonLake+ platform, using SOF driver
[ 5.501429] [ T800] snd_hda_intel 0000:01:00.1: enabling device (0000 -> 0002)
[ 5.501547] [ T800] snd_hda_intel 0000:01:00.1: Disabling MSI
[ 5.501561] [ T800] snd_hda_intel 0000:01:00.1: Handle vga_switcheroo audio client
[ 5.595669] [ T800] snd_intel_dspcfg:snd_intel_dsp_driver_probe: sof-audio-pci-intel-mtl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040100
[ 5.595696] [ T800] snd_intel_sdw_acpi:sdw_intel_scan_controller: acpi PRP00001:00: ACPI reports 4 SDW Link devices
[ 5.595705] [ T800] snd_intel_sdw_acpi:sdw_intel_scan_controller: acpi PRP00001:00: Link 1 not selected in firmware
[ 5.595710] [ T800] snd_sof_pci:sof_pci_probe: sof-audio-pci-intel-mtl 0000:00:1f.3: PCI DSP detected
[ 5.595729] [ T800] sof-audio-pci-intel-mtl 0000:00:1f.3: enabling device (0000 -> 0002)
[ 5.595966] [ T800] sof-audio-pci-intel-mtl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if 0x040100
[ 5.596046] [ T800] sof-audio-pci-intel-mtl 0000:00:1f.3: bound 0000:00:02.0 (ops intel_audio_component_bind_ops [i915])
[ 5.602536] [ T800] snd_sof_intel_hda_common:hda_dsp_ctrl_get_caps: sof-audio-pci-intel-mtl 0000:00:1f.3: checking for capabilities at offset 0xc00
[ 5.602542] [ T800] snd_sof_intel_hda_common:hda_dsp_ctrl_get_caps: sof-audio-pci-intel-mtl 0000:00:1f.3: found ML capability at 0xc00
[ 5.602544] [ T800] snd_sof_intel_hda_common:hda_dsp_ctrl_get_caps: sof-audio-pci-intel-mtl 0000:00:1f.3: checking for capabilities at offset 0x500
[ 5.602547] [ T800] snd_sof_intel_hda_common:hda_dsp_ctrl_get_caps: sof-audio-pci-intel-mtl 0000:00:1f.3: found DRSM capability at 0x500
[ 5.602549] [ T800] snd_sof_intel_hda_common:hda_dsp_ctrl_get_caps: sof-audio-pci-intel-mtl 0000:00:1f.3: checking for capabilities at offset 0x700
[ 5.602553] [ T800] snd_sof_intel_hda_common:hda_dsp_ctrl_get_caps: sof-audio-pci-intel-mtl 0000:00:1f.3: found SPIB capability at 0x700
[ 5.602555] [ T800] snd_sof_intel_hda_common:hda_dsp_ctrl_get_caps: sof-audio-pci-intel-mtl 0000:00:1f.3: checking for capabilities at offset 0x800
[ 5.602559] [ T800] snd_sof_intel_hda_common:hda_dsp_ctrl_get_caps: sof-audio-pci-intel-mtl 0000:00:1f.3: found DSP capability at 0x800
[ 5.603534] [ T43] snd_sof_intel_hda_common:hda_dsp_stream_init: sof-audio-pci-intel-mtl 0000:00:1f.3: hda global caps = 0x1009a01
[ 5.603540] [ T43] snd_sof_intel_hda_common:hda_dsp_stream_init: sof-audio-pci-intel-mtl 0000:00:1f.3: detected 9 playback and 10 capture streams
[ 5.603704] [ T43] sof-audio-pci-intel-mtl 0000:00:1f.3: use msi interrupt mode
[ 5.603708] [ T43] snd_sof_intel_hda_generic:hda_dsp_probe: sof-audio-pci-intel-mtl 0000:00:1f.3: using IPC IRQ 201
[ 5.604186] [ T43] snd_sof:snd_sof_pci_update_bits_unlocked: sof-audio-pci-intel-mtl 0000:00:1f.3: Debug PCIR: 00000000 at 00000044
[ 5.604192] [ T43] snd_sof_intel_hda_generic:hda_init_caps: sof-audio-pci-intel-mtl 0000:00:1f.3: PP capability, will probe DSP later.
[ 5.607006] [ T43] snd_sof:snd_sof_pci_update_bits_unlocked: sof-audio-pci-intel-mtl 0000:00:1f.3: Debug PCIR: 00000000 at 00000048
[ 5.611214] [ T43] snd_sof_intel_hda:hda_codec_detect_mask: sof-audio-pci-intel-mtl 0000:00:1f.3: codec_mask = 0x4
[ 5.611235] [ T43] snd_sof:snd_sof_pci_update_bits_unlocked: sof-audio-pci-intel-mtl 0000:00:1f.3: Debug PCIR: 00000000 at 00000048
[ 5.611239] [ T43] snd_sof:snd_sof_pci_update_bits_unlocked: sof-audio-pci-intel-mtl 0000:00:1f.3: Debug PCIW: 00000040 at 00000048
[ 5.612767] [ T43] snd_intel_sdw_acpi:sdw_intel_scan_controller: acpi PRP00001:00: ACPI reports 4 SDW Link devices
[ 5.612773] [ T43] snd_intel_sdw_acpi:sdw_intel_scan_controller: acpi PRP00001:00: Link 1 not selected in firmware
[ 5.613325] [ T43] snd_sof_intel_hda:hda_codec_probe: sof-audio-pci-intel-mtl 0000:00:1f.3: HDA codec thesofproject/sof#2 probed OK: response: 8086281d
[ 5.613998] [ T43] snd_sof_intel_hda:request_codec_module: snd_hda_codec_hdmi ehdaudio0D2: loading codec module: hdaudio:v8086281Dr00100000a01
[ 5.616627] [ T43] sof-audio-pci-intel-mtl 0000:00:1f.3: hda codecs found, mask 4
[ 5.616630] [ T43] sof-audio-pci-intel-mtl 0000:00:1f.3: NHLT device BT(0) detected, ssp_mask 0x4
[ 5.616632] [ T43] sof-audio-pci-intel-mtl 0000:00:1f.3: BT link detected in NHLT tables: 0x4
[ 5.616635] [ T43] snd_intel_dspcfg:intel_nhlt_get_dmic_geo: sof-audio-pci-intel-mtl 0000:00:1f.3: found 1 format definitions
[ 5.616637] [ T43] snd_intel_dspcfg:intel_nhlt_get_dmic_geo: sof-audio-pci-intel-mtl 0000:00:1f.3: max channels found 2
[ 5.616639] [ T43] snd_intel_dspcfg:intel_nhlt_get_dmic_geo: sof-audio-pci-intel-mtl 0000:00:1f.3: Array with 2 dmics
[ 5.616640] [ T43] snd_intel_dspcfg:intel_nhlt_get_dmic_geo: sof-audio-pci-intel-mtl 0000:00:1f.3: dmic number 2 max_ch 2
[ 5.616642] [ T43] sof-audio-pci-intel-mtl 0000:00:1f.3: DMICs detected in NHLT tables: 2
[ 5.619001] [ T802] snd_soc_rt1316_sdw:rt1316_sdw_init: rt1316-sdca sdw:0:3:025d:1316:01: rt1316_sdw_init
[ 5.619005] [ T802] snd_soc_rt1316_sdw:rt1316_read_prop: rt1316-sdca sdw:0:3:025d:1316:01: rt1316_read_prop
[ 5.619655] [ T43] snd_sof:sof_test_topology_file: sof-audio-pci-intel-mtl 0000:00:1f.3: Failed to open topology file: intel/sof-ace-tplg/sof-arl-rt711-l0-2ch.tplg
[ 5.619659] [ T43] sof-audio-pci-intel-mtl 0000:00:1f.3: SOF firmware and/or topology file not found.
[ 5.619663] [ T43] sof-audio-pci-intel-mtl 0000:00:1f.3: Supported default profiles
[ 5.619664] [ T43] sof-audio-pci-intel-mtl 0000:00:1f.3: - ipc type 1 (Requested):
[ 5.619666] [ T43] sof-audio-pci-intel-mtl 0000:00:1f.3: Firmware file: intel/sof-ipc4/arl/sof-arl.ri
[ 5.619667] [ T43] sof-audio-pci-intel-mtl 0000:00:1f.3: Topology file: intel/sof-ace-tplg/sof-arl-rt711-l0-2ch.tplg
[ 5.619669] [ T43] sof-audio-pci-intel-mtl 0000:00:1f.3: Check if you have 'sof-firmware' package installed.
[ 5.619670] [ T43] sof-audio-pci-intel-mtl 0000:00:1f.3: Optionally it can be manually downloaded from:
[ 5.619672] [ T43] sof-audio-pci-intel-mtl 0000:00:1f.3: https://github.com/thesofproject/sof-bin/
[ 5.620189] [ T43] snd_sof_pci_intel_mtl:mtl_enable_sdw_irq: sof-audio-pci-intel-mtl 0000:00:1f.3: FW Poll Status: reg[0x114c]=0x0 successful
[ 5.621269] [ T43] snd_sof_pci_intel_mtl:mtl_power_down_dsp: sof-audio-pci-intel-mtl 0000:00:1f.3: FW Poll Status: reg[0x1000]=0x0 successful
[ 5.621514] [ T43] sof-audio-pci-intel-mtl 0000:00:1f.3: error: sof_probe_work failed err: -2
(by error I posted this issue in the thsofproject/linux , I think here is the right place )
@bardliao Can you take a look? Why the 1316 amps are not found and kernel tries to look for tplg with just the 711 codec?
@pyaggi Can you attach output of alsa-info (see https://thesofproject.github.io/latest/getting_started/intel_debug/suggestions.html) so we can verify the machine configuration?
Duplicate (same issue) of https://github.com/thesofproject/linux/issues/5470 ?
@pyaggi It is likely that below config is not listed in soc-acpi-intel-arl-match.c.
0x000030025d071101
0x000330025d131601
The https://github.com/thesofproject/linux/commit/0f8edb15fb6e436f0da7ab25ffcbcaab3def7e8c commit is for MTL and you need a similar commit on soc-acpi-intel-arl-match.c. In fact, thsofproject/linux is a better place to report this issue. Let's move to thsofproject/linux and close ttps://github.com/thesofproject/linux/issues/5470
@pyaggi The driver is looking for arl because your CPU is probably ARL instead of MTL.
@pyaggi Could you try https://github.com/thesofproject/linux/pull/5475 and rename the sof-mtl-rt711-l0-rt1316-l3-2ch.tplg to sof-arl-rt711-l0-rt1316-l3-2ch.tplg?
@kv2019i here' s the output of alsa-info alsa-info.txt
@bardliao I did try to rename sof-mtl-rt711-l0-rt1316-l3-2ch.tplg to sof-arl-rt711-l0-2ch.tplg, as it is the one is reporting, it complains about not finding something, I'll do it again, and also what you mention, but I need to restart the computer to test the changes (is any other way ?), so I'll let you know in a while.
@ujfalusi yes, my bad, sorry
@bardliao this is the output of dmesg when I renamed the sof-mtl-rt711-l0-rt1316-l3-2ch.tplg to sof-arl-rt711-l0-2ch.tplg, as it is the one is looking for. I also renamed as you suggested (it is ignored in that case) as I also applied the patch you suggested to soc-acpi-intel-arl-match.c.
@pyaggi Could you replave the /etc/modprobe.d/sof-dyndbg.conf by sof-dyndbg.conf.txt (Rename it to sof-dyndbg.conf) to set below options options soundwire_bus dyndbg=+pmf options snd_soc_sdw_utils dyndbg=+pmf
Also, I suspect that you might not boot with the kernel that apply https://github.com/thesofproject/linux/pull/5475. Could you share the output of cat /proc/version?
@bardliao with your sof-dyndbg conf: sound_msg.txt
/proc/version:
Linux version 6.15.3-2-default ([email protected]) (gcc (SUSE Linux) 15.1.1 20250528, GNU ld (GNU Binutils; openSUSE Tumbleweed) 2.43.1.20241209-8) #3 SMP PREEMPT_DYNAMIC Tue Jul 1 18:25:32 -03 2025
Seems to be my version, anyway here is a diff of my kernel/sound tree just in case I did something wrong: kernel_sound.diff.txt
I just saw the patch #5475, when I was catching up with your messages and you suggested what you did in that patch I patched by myself, I will now apply your patch in case I messed up. Let you know in a moment...
@pyaggi It seems you did the change by yourself and not cherry pick my patch. Can you make sure
514,519d492
< },
< {
< .link_mask = 0x9, /* 2 active links required */
< .links = mtl_rt711_l0_rt1316_l3,
< .drv_name = "sof_sdw",Add commentMore actions
< .sof_tplg_filename = "sof-arl-rt711-l0-rt1316-l3.tplg",
is in front of
{
.link_mask = 0x1, /* link0 required */
.links = arl_rvp,
.drv_name = "sof_sdw",
.sof_tplg_filename = "sof-arl-rt711.tplg",
},
{
.link_mask = 0x1, /* link0 required */
.links = arl_sdca_rvp,
.drv_name = "sof_sdw",
.sof_tplg_filename = "sof-arl-rt711-l0.tplg",
},
? Like my snd_soc_acpi_intel_arl_sdw_machines[]
struct snd_soc_acpi_mach snd_soc_acpi_intel_arl_sdw_machines[] = {
...
{
.link_mask = BIT(0) | BIT(3),
.links = arl_rt711_l0_rt1316_l3,
.drv_name = "sof_sdw",
.sof_tplg_filename = "sof-arl-rt711-l0-rt1316-l3.tplg",
},
{
.link_mask = 0x1, /* link0 required */
.links = arl_rvp,
.drv_name = "sof_sdw",
.sof_tplg_filename = "sof-arl-rt711.tplg",
},
{
.link_mask = 0x1, /* link0 required */
.links = arl_sdca_rvp,
.drv_name = "sof_sdw",
.sof_tplg_filename = "sof-arl-rt711-l0.tplg",
},
...
{},
};
Otherwise, the driver will match arl_sdca_rvp first and use the sof-arl-rt711-l0-2ch.tplg
Edit: Disregard this message, I messed up the compilation of my kernel when I applied your patch. I'll fix it tomorrow and let you know, as now I see the file has a dependency not available in my kernel source ( "sof-function-topology-lib.h")
Well, I tried a couple of things, your patch didn' t work either, with your patch the topology that was trying to load was
sof-arl-rt711-l0.tplg. It failed because that tplg didn' t exist. sound_msg.txt
So I copied the file sof-mtl-rt711-l0-rt1316-l3.tplg into it. But it failed to load sound_msg_1.txt
So I copied the file sof-mtl-rt711-2ch.tplg into it. It loaded,a device was created, but no sound output was produced.
I notice the problem is the BIT(3) is never raised, as I removed it from the matcher, and I also removed all other entries for the rt711 from soc-acpi-intel-arl-match.c, so It finaly loaded the topology sof-arl-rt711-l0-rt1316-l3.tplg . It created a lot of devices but no sound output was produced in any. sound_msg_2.txt
@pyaggi Could you share the alsa-info when the sof-arl-rt711-l0-rt1316-l3.tplg is loaded? No sound output could be mixer setting issue.
@bardliao your patch is working, now the device is being detected and 7 output devices are created:
only the first one works, it outputs audio to the headphone connector, it is available even when the headphones are not connected and no switching happen when the headphone is pluged or unpluged.
most of the other outputs are spatial sound (seven channels each) and most of them hangs the stream when trying to output on the first two channels.
no sound is output through the internal speakers.
@bardliao Here is alsa-info output: alsa-info.txt
@pyaggi, with Pro audio you need to manually configure all sorts of mixer controls to be able to get the speaker working.
alsamixer c1 and poke around until you hear something, You probably need to use the "Pro 2" for speaker.
Try to switch not HiFi audio and then you should only have the speaker option, Headphone will appear if you have headset connected.
you can also test in command line with aplay: aplay -Dplughw:1,2 <path to wav> for speaker and again, poke the alsamixer controls.
@bardliao Great job man !, finally it is working, now a couple of question if you don't mind:
I had to enable the rt1316-1 DAC, and that was it. Shouldn't that be enabled by default ?
I see a lot of options/mixers/etc available that are not controllable through KDE, that is something that KDE has to work on, or it is something that sof is not announcing/handling, can I do something about it ?
Also KDE adds 7 devices for sof-soundwire, but I only see one in alsa-mixer (as a card).
@pyaggi, you should stop using Pro audio profile unless you really need to, it gives you close to metal access to PCMs, but then you need to fiddle with mixers in low level, Pro Audio expects you to know the hardware and know what to change.
As for the 7 devices: again, you are using Pro audio which presents you PCM devices:
!!Aplay/Arecord output
!!--------------------
APLAY
**** List of PLAYBACK Hardware Devices ****
card 0: NVidia [HDA NVidia], device 3: HDMI 0 [HDMI 0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: sofsoundwire [sof-soundwire], device 0: Jack Out (*) []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: sofsoundwire [sof-soundwire], device 2: Speaker (*) []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: sofsoundwire [sof-soundwire], device 5: HDMI1 (*) []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: sofsoundwire [sof-soundwire], device 6: HDMI2 (*) []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: sofsoundwire [sof-soundwire], device 7: HDMI3 (*) []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: sofsoundwire [sof-soundwire], device 31: Deepbuffer Jack Out (*) []
Subdevices: 1/1
Subdevice #0: subdevice #0
ARECORD
**** List of CAPTURE Hardware Devices ****
card 1: sofsoundwire [sof-soundwire], device 1: Jack In (*) []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: sofsoundwire [sof-soundwire], device 3: Amp feedback (*) []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: sofsoundwire [sof-soundwire], device 10: DMIC Raw (*) []
Subdevices: 1/1
Subdevice #0: subdevice #0
You need to select the profile which is matching with your use case, I don't have sdw machine in front, but you likely want Speaker, Headset, HDMI listed in the line. That should handle the use cases and takes care of mixers, moving audio from one PCM device to another (:0,0 is headset PCM, :0,2 is Speaker), etc.
Ok, I see ... but I'm not really choosing to use it, it is my distro (OpenSuse/Kde) that picked and configure those 7 devices (I think using pipewire). So is there an alternative ?
@bardliao Great job man !, finally it is working, now a couple of question if you don't mind: I had to enable the rt1316-1 DAC, and that was it. Shouldn't that be enabled by default ? I see a lot of options/mixers/etc available that are not controllable through KDE, that is something that KDE has to work on, or it is something that sof is not announcing/handling, can I do something about it ? Also KDE adds 7 devices for sof-soundwire, but I only see one in alsa-mixer (as a card).
@pyaggi I am not an expert of mixer settings. But maybe just like @ujfalusi said, Pro audio may not be the best audio server to config the mixer settings. I would expect that UCM will set every required mixer setting for you. @shumingfan FYI
Uh-oh, it looks like there is a regression in UCM/PW. Booted up a sdw laptop and indeed in KDE/Plasma I have option for 'Pro Audio' or 'Off', GNOME only shows 'Pro Audio' This is a TGL laptop in IPC4, but that does not matter: This looks good:
# cat /proc/asound/pcm
00-00: Jack Out (*) : : playback 1
00-01: Jack In (*) : : capture 1
00-02: Speaker (*) : : playback 1
00-04: Microphone (*) : : capture 1
00-05: HDMI1 (*) : : playback 1
00-06: HDMI2 (*) : : playback 1
00-07: HDMI3 (*) : : playback 1
00-31: Deepbuffer Jack Out (*) : : playback 1
This is not:
# alsaucm dump text
Verb.HiFi {
Comment "Play HiFi quality Music"
Device.Mic {
Comment "SoundWire microphones"
Values {
CaptureCTL "_ucm0001.hw:sofsoundwire"
CaptureMicInfoFile "/var/lib/alsa/card0.conf.d/dmics-nhlt.json"
CaptureMixerElem "rt715 Capture"
CapturePCM "_ucm0001.hw:sofsoundwire,4"
CapturePriority 100
CaptureSwitch "rt715 Capture Switch"
CaptureVolume "rt715 Capture Volume"
PlaybackCTL "_ucm0001.hw:sofsoundwire"
TQ HiFi
}
}
Device.Headphones {
Comment Headphones
Values {
CaptureCTL "_ucm0001.hw:sofsoundwire"
JackControl "Headphone Jack"
PlaybackCTL "_ucm0001.hw:sofsoundwire"
PlaybackPCM "_ucm0001.hw:sofsoundwire"
PlaybackPriority 200
TQ HiFi
}
}
Device.Headset {
Comment "Headset Microphone"
Values {
CaptureCTL "_ucm0001.hw:sofsoundwire"
CapturePCM "_ucm0001.hw:sofsoundwire,1"
CapturePriority 200
CaptureSwitch "rt711 ADC 08 Capture Switch"
CaptureVolume "rt711 ADC 08 Capture Volume"
JackControl "Headset Mic Jack"
PlaybackCTL "_ucm0001.hw:sofsoundwire"
TQ HiFi
}
}
Device.HDMI1 {
Comment "HDMI / DisplayPort 1 Output"
Values {
CaptureCTL "_ucm0001.hw:sofsoundwire"
JackControl "HDMI/DP,pcm=5 Jack"
PlaybackCTL "_ucm0001.hw:sofsoundwire"
PlaybackPCM "_ucm0001.hw:sofsoundwire,5"
PlaybackPriority 500
TQ HiFi
}
}
Device.HDMI2 {
Comment "HDMI / DisplayPort 2 Output"
Values {
CaptureCTL "_ucm0001.hw:sofsoundwire"
JackControl "HDMI/DP,pcm=6 Jack"
PlaybackCTL "_ucm0001.hw:sofsoundwire"
PlaybackPCM "_ucm0001.hw:sofsoundwire,6"
PlaybackPriority 600
TQ HiFi
}
}
Device.HDMI3 {
Comment "HDMI / DisplayPort 3 Output"
Values {
CaptureCTL "_ucm0001.hw:sofsoundwire"
JackControl "HDMI/DP,pcm=7 Jack"
PlaybackCTL "_ucm0001.hw:sofsoundwire"
PlaybackPCM "_ucm0001.hw:sofsoundwire,7"
PlaybackPriority 700
TQ HiFi
}
}
}
Speaker is missing and since you don't have headphone or HDMI connected there is no valid HiFi outputs present, I think this is the reason.
@bardliao,
~# amixer -c0 info
Card sysdefault:0 'sofsoundwire'/'DellInc.-Latitude9520--'
Mixer name : 'Intel Tigerlake HDMI'
Components : 'HDA:80862812,80860101,00100000 cfg-amp:1 iec61937-pcm:7,6,5 hs:rt711 mic:rt715'
Controls : 60
Simple ctrls : 35
this is missing the spk: in components list, SpeakerCodec1 is Empty and thus the speaker conf is not included...
If.spkdev {
Condition {
Type String
Empty "${var:SpeakerCodec1}"
}
False.Include.spkdev.File "/sof-soundwire/${var:SpeakerCodec1}.conf"
}
@bardliao, since this device have rt1308 as speaker codec I did this:
diff --git a/ucm2/sof-soundwire/sof-soundwire.conf b/ucm2/sof-soundwire/sof-soundwire.conf
index 5dcafd8b89b5..7127dcad3a4f 100644
--- a/ucm2/sof-soundwire/sof-soundwire.conf
+++ b/ucm2/sof-soundwire/sof-soundwire.conf
@@ -10,7 +10,7 @@ Include.card-init.File "/lib/card-init.conf"
Include.ctl-remap.File "/lib/ctl-remap.conf"
Define {
- SpeakerCodec1 ""
+ SpeakerCodec1 "rt1308"
SpeakerChannels1 "2"
SpeakerAmps1 "0"
HeadsetCodec1 ""
And KDE/Plasma, GNOME now works as expected and alsaucm has the Speaker:
Verb.HiFi {
Comment "Play HiFi quality Music"
Device.Speaker {
Comment Speaker
Values {
CaptureCTL "_ucm0001.hw:sofsoundwire"
PlaybackCTL "_ucm0001.hw:sofsoundwire"
PlaybackPCM "_ucm0001.hw:sofsoundwire,2"
PlaybackPriority 100
TQ HiFi
}
}
...
Kernel regression?
@pyaggi, can you share the output of alsaucm dump text on your machine?
@ujfalusi
alsaucm -c0 dump text
ALSA lib parser.c:244:(error_node) UCM is not supported for this HDA model (HDA NVidia at 0x84080000 irq 17)
ALSA lib main.c:1554:(snd_use_case_mgr_open) error: failed to import hw:0 use case configuration -6
alsaucm: error failed to open sound card hw:0: No such device or address
alsaucm -c1 dump text
Verb.HiFi {
Comment "Play HiFi quality Music"
Device.Speaker {
Comment Speaker
Values {
CaptureCTL "_ucm0001.hw:sofsoundwire"
PlaybackCTL "_ucm0001.hw:sofsoundwire"
PlaybackPCM "_ucm0001.hw:sofsoundwire,2"
PlaybackPriority 100
TQ HiFi
}
}
Device.Mic {
Comment "Digital Microphone"
Values {
CaptureCTL "_ucm0001.hw:sofsoundwire"
CaptureMicInfoFile "/var/lib/alsa/card1.conf.d/dmics-nhlt.json"
CaptureMixerElem Dmic0
CapturePCM "_ucm0001.hw:sofsoundwire,10"
CapturePriority 100
CaptureSwitch "Dmic0 Capture Switch"
CaptureVolume "Dmic0 Capture Volume"
PlaybackCTL "_ucm0001.hw:sofsoundwire"
TQ HiFi
}
}
Device.Headphones {
Comment Headphones
Values {
CaptureCTL "_ucm0001.hw:sofsoundwire"
JackControl "Headphone Jack"
PlaybackCTL "_ucm0001.hw:sofsoundwire"
PlaybackPCM "_ucm0001.hw:sofsoundwire"
PlaybackPriority 200
TQ HiFi
}
}
Device.Headset {
Comment "Headset Microphone"
Values {
CaptureCTL "_ucm0001.hw:sofsoundwire"
CaptureMixerElem "rt711 FU0F"
CapturePCM "_ucm0001.hw:sofsoundwire,1"
CapturePriority 200
CaptureSwitch "rt711 FU0F Capture Switch"
CaptureVolume "rt711 FU0F Capture Volume"
JackControl "Headset Mic Jack"
PlaybackCTL "_ucm0001.hw:sofsoundwire"
TQ HiFi
}
}
Device.HDMI1 {
Comment "HDMI / DisplayPort 1 Output"
Values {
CaptureCTL "_ucm0001.hw:sofsoundwire"
JackControl "HDMI/DP,pcm=5 Jack"
PlaybackCTL "_ucm0001.hw:sofsoundwire"
PlaybackPCM "_ucm0001.hw:sofsoundwire,5"
PlaybackPriority 500
TQ HiFi
}
}
Device.HDMI2 {
Comment "HDMI / DisplayPort 2 Output"
Values {
CaptureCTL "_ucm0001.hw:sofsoundwire"
JackControl "HDMI/DP,pcm=6 Jack"
PlaybackCTL "_ucm0001.hw:sofsoundwire"
PlaybackPCM "_ucm0001.hw:sofsoundwire,6"
PlaybackPriority 600
TQ HiFi
}
}
Device.HDMI3 {
Comment "HDMI / DisplayPort 3 Output"
Values {
CaptureCTL "_ucm0001.hw:sofsoundwire"
JackControl "HDMI/DP,pcm=7 Jack"
PlaybackCTL "_ucm0001.hw:sofsoundwire"
PlaybackPCM "_ucm0001.hw:sofsoundwire,7"
PlaybackPriority 700
TQ HiFi
}
}
}
dmidecode -s system-product-name
OMEN Transcend Gaming Laptop 14-fb1xxx
@bardliao I can't find the files you mention 5dcafd8b89b5..7127dcad3a4f in my source code, I assume it is for a newer kernel, or something outside it, should I try to do something ?
@bardliao I can't find the files you mention 5dcafd8b89b5..7127dcad3a4f in my source code, I assume it is for a newer kernel, or something outside it, should I try to do something ?
@pyaggi That is an UCM file. Please check the /usr/share/alsa/ucm2/ folder in your laptop. https://github.com/alsa-project/alsa-ucm-conf/blob/master/ucm2/sof-soundwire/sof-soundwire.conf Maybe you should try the latest UCM version.
@pyaggi, the alsaucm output looks good, it has the Speaker, Headphones, Headset, DMIC and the HDMIs listed, KDE/Plasma should behave like this:
https://github.com/user-attachments/assets/05f48b4c-d010-420b-ac7c-0e1455db42dc
@bardliao @ujfalusi with the modification on the ucm configuration file, now kde show this
it still says sof-soundwire but it works perfectly fine.