Built-in speakers only output mono mix with ThinkPad X9-14, Fedora 43; firmware issue?

I recently newly installed Fedora 43 on a ThinkPad X9 14” (Gen 1), but I’m only hearing the same mono mix from both the left and right built-in speakers. For example, if I do a sound test in KDE Plasma’s sound settings, I hear the “front left” test sound from both the left and right speakers, and the same goes for the “front right” test sound. This issue does not occur with a Bazzite live image.

Apparently, if the proper firmware isn’t present for Cirrus amps, the audio can be “a mono mix of left and right channels”: Audio drivers for Cirrus Logic CS35L54/56/57/63 Boosted Smart Amplifiers — The Linux Kernel documentation

The audio-related parts in dmesg | grep cs shows this:

[   16.609572] sof-audio-pci-intel-lnl 0000:00:1f.3: hda codecs found, mask 4
[   16.658200] sof-audio-pci-intel-lnl 0000:00:1f.3:  Topology file:     intel/sof-ipc4-tplg/sof-lnl-cs42l43-l0-cs35l56-l3-2ch.tplg
[   16.668609] cs42l43 sdw:0:0:01fa:4243:01: supply vdd-p not found, using dummy regulator
[   16.668683] cs42l43 sdw:0:0:01fa:4243:01: supply vdd-d not found, using dummy regulator
[   16.668700] cs42l43 sdw:0:0:01fa:4243:01: supply vdd-a not found, using dummy regulator
[   16.668710] cs42l43 sdw:0:0:01fa:4243:01: supply vdd-io not found, using dummy regulator
[   16.668728] cs42l43 sdw:0:0:01fa:4243:01: supply vdd-cp not found, using dummy regulator
[   16.671497] cs42l43 sdw:0:0:01fa:4243:01: devid: 0x042a43, rev: 0xa1, otp: 0x03
[   16.702908] cs42l43 sdw:0:0:01fa:4243:01: Slave 6 state check1: UNATTACHED, status was 1
[   16.733690] cs35l56 sdw:0:3:01fa:3556:01:0: supply VDD_P not found, using dummy regulator
[   16.733713] cs35l56 sdw:0:3:01fa:3556:01:0: supply VDD_IO not found, using dummy regulator
[   16.733720] cs35l56 sdw:0:3:01fa:3556:01:0: supply VDD_A not found, using dummy regulator
[   16.745648] cs35l56 sdw:0:3:01fa:3556:01:0: Cirrus Logic CS35L56 Rev B0 OTP3 fw:3.4.4 (patched=0)
[   16.754702] cs35l56 sdw:0:3:01fa:3556:01:0: Slave 1 state check1: UNATTACHED, status was 1
[   16.754719] cs35l56 sdw:0:3:01fa:3556:01:1: supply VDD_P not found, using dummy regulator
[   16.754742] cs35l56 sdw:0:3:01fa:3556:01:1: supply VDD_IO not found, using dummy regulator
[   16.754749] cs35l56 sdw:0:3:01fa:3556:01:1: supply VDD_A not found, using dummy regulator
[   16.765554] cs35l56 sdw:0:3:01fa:3556:01:1: Cirrus Logic CS35L56 Rev B0 OTP3 fw:3.4.4 (patched=0)
[   16.775630] cs35l56 sdw:0:3:01fa:3556:01:1: Slave 2 state check1: UNATTACHED, status was 1
[   16.948588] cs42l43-codec cs42l43-codec: supply vdd-amp not found, using dummy regulator
[   16.988423] cs35l56 sdw:0:3:01fa:3556:01:0: supply VDD_B not found, using dummy regulator
[   16.988452] cs35l56 sdw:0:3:01fa:3556:01:0: supply VDD_AMP not found, using dummy regulator
[   16.989863] cs35l56 sdw:0:3:01fa:3556:01:1: supply VDD_B not found, using dummy regulator
[   16.989890] cs35l56 sdw:0:3:01fa:3556:01:1: supply VDD_AMP not found, using dummy regulator
[   16.995469] cs35l56 sdw:0:3:01fa:3556:01:0: DSP1: Firmware: 1a00d6 vendor: 0x2 v3.4.4, 37 algorithms
[   16.996844] cs35l56 sdw:0:3:01fa:3556:01:1: DSP1: Firmware: 1a00d6 vendor: 0x2 v3.4.4, 37 algorithms
[   17.044703] cs35l56 sdw:0:3:01fa:3556:01:0: Slave 1 state check1: UNATTACHED, status was 1
[   17.045116] cs35l56 sdw:0:3:01fa:3556:01:1: Slave 2 state check1: UNATTACHED, status was 1
[   17.055099] cs35l56 sdw:0:3:01fa:3556:01:0: Calibration disabled due to missing firmware controls
[   17.056355] cs35l56 sdw:0:3:01fa:3556:01:0: Can't read tuning IDs
[   17.062050] cs35l56 sdw:0:3:01fa:3556:01:1: Calibration disabled due to missing firmware controls
[   17.062948] cs35l56 sdw:0:3:01fa:3556:01:1: Can't read tuning IDs

Meanwhile, the same on the Bazzite live image shows this:

[    9.586462] sof-audio-pci-intel-lnl 0000:00:1f.3: hda codecs found, mask 4
[    9.649370] sof-audio-pci-intel-lnl 0000:00:1f.3:  Topology file:     intel/sof-ipc4-tplg/sof-lnl-cs42l43-l0-cs35l56-l3-2ch.tplg
[    9.649671] cs42l43 sdw:0:0:01fa:4243:01: supply vdd-p not found, using dummy regulator
[    9.649702] cs42l43 sdw:0:0:01fa:4243:01: supply vdd-d not found, using dummy regulator
[    9.649715] cs42l43 sdw:0:0:01fa:4243:01: supply vdd-a not found, using dummy regulator
[    9.649725] cs42l43 sdw:0:0:01fa:4243:01: supply vdd-io not found, using dummy regulator
[    9.649733] cs42l43 sdw:0:0:01fa:4243:01: supply vdd-cp not found, using dummy regulator
[    9.653698] cs42l43 sdw:0:0:01fa:4243:01: devid: 0x042a43, rev: 0xa1, otp: 0x03
[    9.679158] cs42l43 sdw:0:0:01fa:4243:01: Slave 6 state check1: UNATTACHED, status was 1
[    9.727570] cs35l56 sdw:0:3:01fa:3556:01:0: supply VDD_P not found, using dummy regulator
[    9.728126] cs35l56 sdw:0:3:01fa:3556:01:0: supply VDD_IO not found, using dummy regulator
[    9.728147] cs35l56 sdw:0:3:01fa:3556:01:0: supply VDD_A not found, using dummy regulator
[    9.745974] cs35l56 sdw:0:3:01fa:3556:01:0: Cirrus Logic CS35L56 Rev B0 OTP3 fw:3.4.4 (patched=0)
[    9.752813] cs35l56 sdw:0:3:01fa:3556:01:0: Slave 1 state check1: UNATTACHED, status was 1
[    9.752957] cs35l56 sdw:0:3:01fa:3556:01:1: supply VDD_P not found, using dummy regulator
[    9.752977] cs35l56 sdw:0:3:01fa:3556:01:1: supply VDD_IO not found, using dummy regulator
[    9.752985] cs35l56 sdw:0:3:01fa:3556:01:1: supply VDD_A not found, using dummy regulator
[    9.762950] cs35l56 sdw:0:3:01fa:3556:01:1: Cirrus Logic CS35L56 Rev B0 OTP3 fw:3.4.4 (patched=0)
[    9.768452] cs35l56 sdw:0:3:01fa:3556:01:1: Slave 2 state check1: UNATTACHED, status was 1
[   10.045224] cs42l43-codec cs42l43-codec: supply vdd-amp not found, using dummy regulator
[   10.118468] cs35l56 sdw:0:3:01fa:3556:01:0: supply VDD_B not found, using dummy regulator
[   10.118541] cs35l56 sdw:0:3:01fa:3556:01:0: supply VDD_AMP not found, using dummy regulator
[   10.121223] cs35l56 sdw:0:3:01fa:3556:01:1: supply VDD_B not found, using dummy regulator
[   10.121327] cs35l56 sdw:0:3:01fa:3556:01:1: supply VDD_AMP not found, using dummy regulator
[   10.139460] cs35l56 sdw:0:3:01fa:3556:01:0: DSP1: cirrus/cs35l56-b0-dsp1-misc-17aa233c.wmfw: format 3 timestamp 0x670eca18
[   10.139469] cs35l56 sdw:0:3:01fa:3556:01:0: DSP1: cirrus/cs35l56-b0-dsp1-misc-17aa233c.wmfw: Tue 15 Oct 2024 15:01:28 Central Daylight Time
[   10.140515] cs35l56 sdw:0:3:01fa:3556:01:1: DSP1: cirrus/cs35l56-b0-dsp1-misc-17aa233c.wmfw: format 3 timestamp 0x670eca18
[   10.140524] cs35l56 sdw:0:3:01fa:3556:01:1: DSP1: cirrus/cs35l56-b0-dsp1-misc-17aa233c.wmfw: Tue 15 Oct 2024 15:01:28 Central Daylight Time
[   11.266258] cs35l56 sdw:0:3:01fa:3556:01:0: DSP1: Firmware: 1a00d6 vendor: 0x2 v3.11.28, 41 algorithms
[   11.323594] cs35l56 sdw:0:3:01fa:3556:01:0: DSP1: cirrus/cs35l56-b0-dsp1-misc-17aa233c-amp1.bin: v3.11.28
[   11.323599] cs35l56 sdw:0:3:01fa:3556:01:0: DSP1: Misc: C:\Documents\JIRA\DRV-7805 - Cal failure on Alloy 3.11.28\3.11.28_2.41.0.0_smartCalApproved2\Alloy S
[   11.367664] cs35l56 sdw:0:3:01fa:3556:01:1: DSP1: Firmware: 1a00d6 vendor: 0x2 v3.11.28, 41 algorithms
[   11.410176] cs35l56 sdw:0:3:01fa:3556:01:1: DSP1: cirrus/cs35l56-b0-dsp1-misc-17aa233c-amp2.bin: v3.11.28
[   11.410181] cs35l56 sdw:0:3:01fa:3556:01:1: DSP1: Misc: C:\Documents\JIRA\DRV-7805 - Cal failure on Alloy 3.11.28\3.11.28_2.41.0.0_smartCalApproved2\Alloy S
[   12.097232] cs35l56 sdw:0:3:01fa:3556:01:0: Slave 1 state check1: UNATTACHED, status was 1
[   12.106544] cs35l56 sdw:0:3:01fa:3556:01:1: Slave 2 state check1: UNATTACHED, status was 1
[   12.108917] cs35l56 sdw:0:3:01fa:3556:01:0: Calibration applied
[   12.110056] cs35l56 sdw:0:3:01fa:3556:01:0: Tuning PID: 0x24, SID: 0x11, TID: 0x1
[   12.116892] cs35l56 sdw:0:3:01fa:3556:01:1: Calibration applied
[   12.117927] cs35l56 sdw:0:3:01fa:3556:01:1: Tuning PID: 0x24, SID: 0x11, TID: 0x1

What’s gone wrong here? How can I get it to output a proper stereo mix like it does with Bazzite?

Maybe it would help to post dmesg without grep. Here’s everything from “SoundWire enabled on CannonLake+ platform, using SOF driver” until the last “input: sof-soundwire” entry.

Fedora:

[   69.455445] sof-audio-pci-intel-lnl 0000:00:1f.3: SoundWire enabled on CannonLake+ platform, using SOF driver
[   69.455466] sof-audio-pci-intel-lnl 0000:00:1f.3: enabling device (0004 -> 0006)
[   69.455572] sof-audio-pci-intel-lnl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if 0x040100
[   69.455660] sof-audio-pci-intel-lnl 0000:00:1f.3: bound 0000:00:02.0 (ops intel_audio_component_bind_ops [xe])
[   69.462320] sof-audio-pci-intel-lnl 0000:00:1f.3: use msi interrupt mode
[   69.473351] acpi device:2d: find_sdca_function: SDCA function UAJ (type 6) at 0x3
[   69.473360] acpi device:2e: find_sdca_function: SDCA function HID (type 10) at 0x4
[   69.473523] acpi device:29: find_sdca_function: SDCA function SmartAmp (type 1) at 0x1
[   69.473608] acpi device:2b: find_sdca_function: SDCA function SmartAmp (type 1) at 0x1
[   69.495332] sof-audio-pci-intel-lnl 0000:00:1f.3: hda codecs found, mask 4
[   69.495340] sof-audio-pci-intel-lnl 0000:00:1f.3: NHLT device BT(0) detected, ssp_mask 0x4
[   69.495342] sof-audio-pci-intel-lnl 0000:00:1f.3: BT link detected in NHLT tables: 0x4
[   69.495345] sof-audio-pci-intel-lnl 0000:00:1f.3: DMICs detected in NHLT tables: 2
[   69.546120] sof-audio-pci-intel-lnl 0000:00:1f.3: Firmware paths/files for ipc type 1:
[   69.546128] sof-audio-pci-intel-lnl 0000:00:1f.3:  Firmware file:     intel/sof-ipc4/lnl/sof-lnl.ri
[   69.546130] sof-audio-pci-intel-lnl 0000:00:1f.3:  Firmware lib path: intel/sof-ipc4-lib/lnl
[   69.546130] sof-audio-pci-intel-lnl 0000:00:1f.3:  Topology file:     intel/sof-ipc4-tplg/sof-lnl-cs42l43-l0-cs35l56-l3-2ch.tplg
[   69.553152] cs42l43 sdw:0:0:01fa:4243:01: supply vdd-p not found, using dummy regulator
[   69.553174] cs42l43 sdw:0:0:01fa:4243:01: supply vdd-d not found, using dummy regulator
[   69.553184] cs42l43 sdw:0:0:01fa:4243:01: supply vdd-a not found, using dummy regulator
[   69.553190] cs42l43 sdw:0:0:01fa:4243:01: supply vdd-io not found, using dummy regulator
[   69.553195] cs42l43 sdw:0:0:01fa:4243:01: supply vdd-cp not found, using dummy regulator
[   69.557436] cs42l43 sdw:0:0:01fa:4243:01: devid: 0x042a43, rev: 0xa1, otp: 0x03
[   69.583863] sof-audio-pci-intel-lnl 0000:00:1f.3: Loaded firmware library: ADSPFW, version: 2.13.0.1
[   69.586234] NET: Registered PF_QIPCRTR protocol family
[   69.598576] cs42l43 sdw:0:0:01fa:4243:01: Slave 6 state check1: UNATTACHED, status was 1
[   69.619576] RPC: Registered named UNIX socket transport module.
[   69.619583] RPC: Registered udp transport module.
[   69.619584] RPC: Registered tcp transport module.
[   69.619584] RPC: Registered tcp-with-tls transport module.
[   69.619584] RPC: Registered tcp NFSv4.1 backchannel transport module.
[   69.624371] Adding alias for supply vdd-amp,(null) -> vdd-amp,sdw:0:0:01fa:4243:01
[   69.631444] cs35l56 sdw:0:3:01fa:3556:01:0: supply VDD_P not found, using dummy regulator
[   69.631492] cs35l56 sdw:0:3:01fa:3556:01:0: supply VDD_IO not found, using dummy regulator
[   69.631503] cs35l56 sdw:0:3:01fa:3556:01:0: supply VDD_A not found, using dummy regulator
[   69.640151] cs35l56 sdw:0:3:01fa:3556:01:0: Cirrus Logic CS35L56 Rev B0 OTP3 fw:3.4.4 (patched=0)
[   69.648153] cs35l56 sdw:0:3:01fa:3556:01:0: Slave 1 state check1: UNATTACHED, status was 1
[   69.648287] cs35l56 sdw:0:3:01fa:3556:01:1: supply VDD_P not found, using dummy regulator
[   69.648313] cs35l56 sdw:0:3:01fa:3556:01:1: supply VDD_IO not found, using dummy regulator
[   69.648320] cs35l56 sdw:0:3:01fa:3556:01:1: supply VDD_A not found, using dummy regulator
[   69.657149] cs35l56 sdw:0:3:01fa:3556:01:1: Cirrus Logic CS35L56 Rev B0 OTP3 fw:3.4.4 (patched=0)
[   69.664103] cs35l56 sdw:0:3:01fa:3556:01:1: Slave 2 state check1: UNATTACHED, status was 1
[   69.846097] sof-audio-pci-intel-lnl 0000:00:1f.3: Booted firmware version: 2.13.0.1
[   69.918017] cs42l43-codec cs42l43-codec: supply vdd-amp not found, using dummy regulator
[   69.929108] sof-audio-pci-intel-lnl 0000:00:1f.3: Topology: ABI 3:29:1 Kernel ABI 3:23:1
[   69.929377] sof_sdw sof_sdw: ASoC: Parent card not yet available, widget card binding deferred
[   69.937263] sof-audio-pci-intel-lnl 0000:00:1f.3: Loaded firmware library: ADSPFW, version: 2.13.0.1
[   69.963088] cs35l56 sdw:0:3:01fa:3556:01:0: supply VDD_B not found, using dummy regulator
[   69.963123] cs35l56 sdw:0:3:01fa:3556:01:0: supply VDD_AMP not found, using dummy regulator
[   69.965390] cs35l56 sdw:0:3:01fa:3556:01:1: supply VDD_B not found, using dummy regulator
[   69.965421] cs35l56 sdw:0:3:01fa:3556:01:1: supply VDD_AMP not found, using dummy regulator
[   69.970629] cs35l56 sdw:0:3:01fa:3556:01:0: DSP1: Firmware: 1a00d6 vendor: 0x2 v3.4.4, 37 algorithms
[   69.971960] cs35l56 sdw:0:3:01fa:3556:01:1: DSP1: Firmware: 1a00d6 vendor: 0x2 v3.4.4, 37 algorithms
[   70.026177] cs35l56 sdw:0:3:01fa:3556:01:0: Slave 1 state check1: UNATTACHED, status was 1
[   70.026641] cs35l56 sdw:0:3:01fa:3556:01:1: Slave 2 state check1: UNATTACHED, status was 1
[   70.035931] cs35l56 sdw:0:3:01fa:3556:01:0: Calibration disabled due to missing firmware controls
[   70.037340] cs35l56 sdw:0:3:01fa:3556:01:0: Can't read tuning IDs
[   70.045072] cs35l56 sdw:0:3:01fa:3556:01:1: Calibration disabled due to missing firmware controls
[   70.046092] cs35l56 sdw:0:3:01fa:3556:01:1: Can't read tuning IDs
[   70.046599] sof_sdw sof_sdw: hda_dsp_hdmi_build_controls: no PCM in topology for HDMI converter 3
[   70.064955] input: sof-soundwire Jack as /devices/pci0000:00/0000:00:1f.3/sof_sdw/sound/card0/input22
[   70.065066] input: sof-soundwire HDMI/DP,pcm=5 as /devices/pci0000:00/0000:00:1f.3/sof_sdw/sound/card0/input23
[   70.065136] input: sof-soundwire HDMI/DP,pcm=6 as /devices/pci0000:00/0000:00:1f.3/sof_sdw/sound/card0/input24
[   70.065192] input: sof-soundwire HDMI/DP,pcm=7 as /devices/pci0000:00/0000:00:1f.3/sof_sdw/sound/card0/input25

Bazzite:

[    9.516406] sof-audio-pci-intel-lnl 0000:00:1f.3: SoundWire enabled on CannonLake+ platform, using SOF driver
[    9.516420] sof-audio-pci-intel-lnl 0000:00:1f.3: enabling device (0004 -> 0006)
[    9.516485] sof-audio-pci-intel-lnl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if 0x040100
[    9.516532] sof-audio-pci-intel-lnl 0000:00:1f.3: bound 0000:00:02.0 (ops intel_audio_component_bind_ops [xe])
[    9.523493] sof-audio-pci-intel-lnl 0000:00:1f.3: use msi interrupt mode
[    9.533653] acpi device:2d: find_sdca_function: SDCA function UAJ (type 6) at 0x3
[    9.533664] acpi device:2e: find_sdca_function: SDCA function HID (type 10) at 0x4
[    9.533880] acpi device:29: find_sdca_function: SDCA function SmartAmp (type 1) at 0x1
[    9.534000] acpi device:2b: find_sdca_function: SDCA function SmartAmp (type 1) at 0x1
[    9.559574] sof-audio-pci-intel-lnl 0000:00:1f.3: hda codecs found, mask 4
[    9.559581] sof-audio-pci-intel-lnl 0000:00:1f.3: NHLT device BT(0) detected, ssp_mask 0x4
[    9.559585] sof-audio-pci-intel-lnl 0000:00:1f.3: BT link detected in NHLT tables: 0x4
[    9.559588] sof-audio-pci-intel-lnl 0000:00:1f.3: DMICs detected in NHLT tables: 2
[    9.614502] sof-audio-pci-intel-lnl 0000:00:1f.3: Firmware paths/files for ipc type 1:
[    9.614507] sof-audio-pci-intel-lnl 0000:00:1f.3:  Firmware file:     intel/sof-ipc4/lnl/sof-lnl.ri
[    9.614508] sof-audio-pci-intel-lnl 0000:00:1f.3:  Firmware lib path: intel/sof-ipc4-lib/lnl
[    9.614508] sof-audio-pci-intel-lnl 0000:00:1f.3:  Topology file:     intel/sof-ipc4-tplg/sof-lnl-cs42l43-l0-cs35l56-l3-2ch.tplg
[    9.633007] cs42l43 sdw:0:0:01fa:4243:01: supply vdd-p not found, using dummy regulator
[    9.633061] cs42l43 sdw:0:0:01fa:4243:01: supply vdd-d not found, using dummy regulator
[    9.633081] cs42l43 sdw:0:0:01fa:4243:01: supply vdd-a not found, using dummy regulator
[    9.633092] cs42l43 sdw:0:0:01fa:4243:01: supply vdd-io not found, using dummy regulator
[    9.633104] cs42l43 sdw:0:0:01fa:4243:01: supply vdd-cp not found, using dummy regulator
[    9.635811] cs42l43 sdw:0:0:01fa:4243:01: devid: 0x042a43, rev: 0xa1, otp: 0x03
[    9.644071] sof-audio-pci-intel-lnl 0000:00:1f.3: Loaded firmware library: ADSPFW, version: 2.13.0.1
[    9.672649] cs42l43 sdw:0:0:01fa:4243:01: Slave 6 state check1: UNATTACHED, status was 1
[    9.697642] Adding alias for supply vdd-amp,(null) -> vdd-amp,sdw:0:0:01fa:4243:01
[    9.711799] cs35l56 sdw:0:3:01fa:3556:01:0: supply VDD_P not found, using dummy regulator
[    9.711832] cs35l56 sdw:0:3:01fa:3556:01:0: supply VDD_IO not found, using dummy regulator
[    9.711845] cs35l56 sdw:0:3:01fa:3556:01:0: supply VDD_A not found, using dummy regulator
[    9.723804] cs35l56 sdw:0:3:01fa:3556:01:0: Cirrus Logic CS35L56 Rev B0 OTP3 fw:3.4.4 (patched=0)
[    9.740781] cs35l56 sdw:0:3:01fa:3556:01:0: Slave 2 state check1: UNATTACHED, status was 1
[    9.741865] cs35l56 sdw:0:3:01fa:3556:01:1: supply VDD_P not found, using dummy regulator
[    9.741900] cs35l56 sdw:0:3:01fa:3556:01:1: supply VDD_IO not found, using dummy regulator
[    9.741913] cs35l56 sdw:0:3:01fa:3556:01:1: supply VDD_A not found, using dummy regulator
[    9.749126] cs35l56 sdw:0:3:01fa:3556:01:1: Cirrus Logic CS35L56 Rev B0 OTP3 fw:3.4.4 (patched=0)
[    9.776206] cs35l56 sdw:0:3:01fa:3556:01:1: Slave 1 state check1: UNATTACHED, status was 1
[    9.900337] sof-audio-pci-intel-lnl 0000:00:1f.3: Booted firmware version: 2.13.0.1
[    9.972941] cs42l43-codec cs42l43-codec: supply vdd-amp not found, using dummy regulator
[    9.982824] sof-audio-pci-intel-lnl 0000:00:1f.3: Topology: ABI 3:29:1 Kernel ABI 3:23:1
[    9.983082] sof_sdw sof_sdw: ASoC: Parent card not yet available, widget card binding deferred
[    9.991933] sof-audio-pci-intel-lnl 0000:00:1f.3: Loaded firmware library: ADSPFW, version: 2.13.0.1
[   10.062277] cs35l56 sdw:0:3:01fa:3556:01:0: supply VDD_B not found, using dummy regulator
[   10.062324] cs35l56 sdw:0:3:01fa:3556:01:0: supply VDD_AMP not found, using dummy regulator
[   10.064679] cs35l56 sdw:0:3:01fa:3556:01:1: supply VDD_B not found, using dummy regulator
[   10.064719] cs35l56 sdw:0:3:01fa:3556:01:1: supply VDD_AMP not found, using dummy regulator
[   10.080184] cs35l56 sdw:0:3:01fa:3556:01:1: DSP1: cirrus/cs35l56-b0-dsp1-misc-17aa233c.wmfw: format 3 timestamp 0x670eca18
[   10.080193] cs35l56 sdw:0:3:01fa:3556:01:1: DSP1: cirrus/cs35l56-b0-dsp1-misc-17aa233c.wmfw: Tue 15 Oct 2024 15:01:28 Central Daylight Time
[   10.080235] cs35l56 sdw:0:3:01fa:3556:01:0: DSP1: cirrus/cs35l56-b0-dsp1-misc-17aa233c.wmfw: format 3 timestamp 0x670eca18
[   10.080247] cs35l56 sdw:0:3:01fa:3556:01:0: DSP1: cirrus/cs35l56-b0-dsp1-misc-17aa233c.wmfw: Tue 15 Oct 2024 15:01:28 Central Daylight Time
[   11.371673] cs35l56 sdw:0:3:01fa:3556:01:0: DSP1: Firmware: 1a00d6 vendor: 0x2 v3.11.28, 41 algorithms
[   11.372941] cs35l56 sdw:0:3:01fa:3556:01:1: DSP1: Firmware: 1a00d6 vendor: 0x2 v3.11.28, 41 algorithms
[   11.402586] cs35l56 sdw:0:3:01fa:3556:01:0: DSP1: cirrus/cs35l56-b0-dsp1-misc-17aa233c-amp1.bin: v3.11.28
[   11.402596] cs35l56 sdw:0:3:01fa:3556:01:0: DSP1: Misc: C:\Documents\JIRA\DRV-7805 - Cal failure on Alloy 3.11.28\3.11.28_2.41.0.0_smartCalApproved2\Alloy S
[   11.438778] cs35l56 sdw:0:3:01fa:3556:01:1: DSP1: cirrus/cs35l56-b0-dsp1-misc-17aa233c-amp2.bin: v3.11.28
[   11.438787] cs35l56 sdw:0:3:01fa:3556:01:1: DSP1: Misc: C:\Documents\JIRA\DRV-7805 - Cal failure on Alloy 3.11.28\3.11.28_2.41.0.0_smartCalApproved2\Alloy S
[   12.121965] cs35l56 sdw:0:3:01fa:3556:01:0: Slave 2 state check1: UNATTACHED, status was 1
[   12.142232] cs35l56 sdw:0:3:01fa:3556:01:1: Slave 1 state check1: UNATTACHED, status was 1
[   12.145141] cs35l56 sdw:0:3:01fa:3556:01:0: Calibration applied
[   12.146536] cs35l56 sdw:0:3:01fa:3556:01:0: Tuning PID: 0x24, SID: 0x11, TID: 0x1
[   12.152307] cs35l56 sdw:0:3:01fa:3556:01:1: Calibration applied
[   12.153116] cs35l56 sdw:0:3:01fa:3556:01:1: Tuning PID: 0x24, SID: 0x11, TID: 0x1
[   12.153409] sof_sdw sof_sdw: hda_dsp_hdmi_build_controls: no PCM in topology for HDMI converter 3
[   12.169974] input: sof-soundwire Jack as /devices/pci0000:00/0000:00:1f.3/sof_sdw/sound/card0/input21
[   12.170040] input: sof-soundwire HDMI/DP,pcm=5 as /devices/pci0000:00/0000:00:1f.3/sof_sdw/sound/card0/input22
[   12.170074] input: sof-soundwire HDMI/DP,pcm=6 as /devices/pci0000:00/0000:00:1f.3/sof_sdw/sound/card0/input23
[   12.170102] input: sof-soundwire HDMI/DP,pcm=7 as /devices/pci0000:00/0000:00:1f.3/sof_sdw/sound/card0/input24

I checked the kernel version of each of Fedora and Bazzite, and Fedora has 6.18.5-200.fc43, while Bazzite has 6.17.7-ba22.fc43. Could the newer kernel have introduced some sort of regression?

Please, someone at least tell me if I need to provide more information. Surely I’m not the only one dealing with this.

Oh this is a regression alright. I tried the Fedora 43 install media (the latest ISO available as of writing this) and the audio works perfectly fine there, and the audio also works fine after re-installing using that media. However, after I upgraded all packages and did nothing else, then restarted, audio is now mono. What has changed between the current F43 ISO and the latest packages available that might cause this? Where should I report this if this is a bug?

For the record, the kernel was upgraded from 6.17.1-300.fc43 to 6.18.6-200.fc43 with that first upgrade after the fresh install.

Which version of alsa-sof-firmware is intalled?

It could also be a kernel issue. Have you tried booting the 6.17.1 kernel? Does it restore stereo output?
There is also kernel 6.18.7 available.

I can’t help with your specific issue, but I also have weird sound behaviour since I upgraded to F43: the sound output unmutes every 30-60 minutes. I guess I’ll test different Kernels.

There’s a tool called hda-analyzer, which gives you access to all registers of your sound chip. Maybe you can fiddle around with it to find out which register is set wrong, to improve your bug report? –> https://github.com/gm-vm/hda-analyzer/tree/master/hda-analyzer

Yes, I tried booting the 6.17.1 kernel, and it outputs stereo audio correctly. In fact, I tried the live ISOs of several distros such as Manjaro and CachyOS in addition to Bazzite and Fedora, and the pattern seems to be that none with 6.18.x kernels can output stereo audio correctly with the internal speakers, while 6.17.x works fine. 6.18.4. 6.18.5, 6.18.6, and 6.18.7 all have this problem.

I created an issue recently in the SOF kernel repo for this: Internal speakers only output mono mix after kernel upgrade on ThinkPad X9-14 · Issue #5656 · thesofproject/linux · GitHub

As for the version of alsa-sof-firmware, it’s 2025.12.1.

I tried upgrading/downgrading to a couple of different kernel versions on Fedora just now. 6.17.13 doesn’t have the issue, but 6.18.0 does. It’s still present in 6.19.0-rc7 as well.

As stated in the GitHub issue (Internal speakers only output mono mix after kernel upgrade to 6.18 on ThinkPad X9-14 · Issue #5656 · thesofproject/linux · GitHub), this has been confirmed to be an issue introduced with the 6.18 kernel, and a fix has already been merged into the upstream linux-firmware repo. I assume that the fix will be included in the next linux-firmware package update, but I was able to get it working for now by manually adding these symbolic links to /usr/lib/firmware/cirrus: cirrus: cs35l56: Add WHENCE links for 17aa233c spkid0 firmware · CirrusLogic/linux-firmware@db024df · GitHub