You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Audio codec: ESSX8326 (ACPI ID ESSX8326, driver reports as ESSX8336, see note below)
BIOS: ICL_IC325_LPDDR4X_200B_V2.0.28
Environment:
Distro: CachyOS
Kernel: 7.1.4-cachyos
sof-firmware: 2025.12.2-1
Symptom
Speaker produces a pop/click sound on audio stream init/close only. No actual audio output regardless of source (browser, aplay, speaker-test, paplay). Bluetooth audio works normally, confirming the PipeWire/WirePlumber stack itself is functional.
Root cause identified: widget card binding never completes
No "binding complete" (or equivalent) log follows. The deferral is permanent for the entire session, confirmed across multiple reboots and kernel versions (7.1.3, 7.1.4). This means snd_soc_sof_es8336 never successfully binds to snd_soc_es8326 as parent card, so the ASoC widget/DAPM graph never becomes fully active, which is consistent with hardware producing only an init/deinit pop and no sustained signal.
Codec identity clarification
i2c-ESSX8326:00 and es8326 i2c-ESSX8326:00: assuming static mclk confirm the actual codec is ES8326, not ES8336, despite being handled by the sof-essx8336/snd_soc_sof_es8336 machine driver and sof-icl-es8336-ssp0.tplg topology (expected, no ES8326 specific SOF machine driver exists upstream). snd_soc_es8326 module is loaded and correctly claims the i2c device.
GPIO investigation, confirmed NOT the problem
$ sudo cat /sys/kernel/debug/gpio | grep -i speaker
gpio-145 (speakers-enable) out lo ACTIVE LOW
gpio-145 is active-low and driven lo = enabled. Live monitoring via gpioinfo//sys/kernel/debug/gpio across different quirk values:
quirk
gpio-145 (speakers-enable)
gpio-130 (headphone-enable)
0x80 default (HEADPHONE_GPIO)
HIGH = inactive
LOW = active (jack-detect misread, nothing plugged)
0x50 (SPEAKERS_EN_GPIO1 + JD_INVERTED)
LOW = active (forced correctly)
not separately claimed
Kernel default auto-detected quirk mask on this device: 0x80 (confirmed via dmesg | grep "quirk mask").
Suspected root cause
Combination of:
Missing or incomplete DMI entry for Infinix Infinix INBOOK X2 in sof_es8336_quirk_table (sound/soc/intel/boards/sof_es8336.c) for the ICL platform specifically (a working entry exists for the Tiger Lake X2 Plus variant, per @Abhinav5383, but ICL behaves differently)
Amplifier likely requires an additional I2C init sequence (vendor specific register writes) beyond generic GPIO enable and DAPM widget power up, something only implemented in the proprietary Windows driver, not currently modeled in the generic ES8326/SOF codec driver
Hardware:
ESSX8326, driver reports as ESSX8336, see note below)Environment:
Symptom
Speaker produces a pop/click sound on audio stream init/close only. No actual audio output regardless of source (browser, aplay, speaker-test, paplay). Bluetooth audio works normally, confirming the PipeWire/WirePlumber stack itself is functional.
Root cause identified: widget card binding never completes
dmesg on every boot shows:
No "binding complete" (or equivalent) log follows. The deferral is permanent for the entire session, confirmed across multiple reboots and kernel versions (7.1.3, 7.1.4). This means
snd_soc_sof_es8336never successfully binds tosnd_soc_es8326as parent card, so the ASoC widget/DAPM graph never becomes fully active, which is consistent with hardware producing only an init/deinit pop and no sustained signal.Codec identity clarification
i2c-ESSX8326:00andes8326 i2c-ESSX8326:00: assuming static mclkconfirm the actual codec is ES8326, not ES8336, despite being handled by thesof-essx8336/snd_soc_sof_es8336machine driver andsof-icl-es8336-ssp0.tplgtopology (expected, no ES8326 specific SOF machine driver exists upstream).snd_soc_es8326module is loaded and correctly claims the i2c device.GPIO investigation, confirmed NOT the problem
gpio-145is active-low and drivenlo= enabled. Live monitoring viagpioinfo//sys/kernel/debug/gpioacross different quirk values:Kernel default auto-detected quirk mask on this device:
0x80(confirmed viadmesg | grep "quirk mask").Suspected root cause
Combination of:
Infinix Infinix INBOOK X2insof_es8336_quirk_table(sound/soc/intel/boards/sof_es8336.c) for the ICL platform specifically (a working entry exists for the Tiger Lake X2 Plus variant, per @Abhinav5383, but ICL behaves differently)Related issues
Happy to provide additional dmesg/ACPI dumps, test patches, or build/test custom kernels if that would help narrow this down further.