Proof Portal
Omarchy
ProbeLabs65 findings · 95 requirementsA proof layer — requirements, tests and verified fixes — for two of Omarchy's subsystems: the application menu (launcher scripts, QML model, JSONC config, search and selection) and the lock screen (lock scripts, QML, PAM authentication). Scope is deliberately limited to those components of omacom/omarchy; the rest of the distribution is not covered.
Dell XPS 13 (0E53) has no bass: CS35L56 woofer amps never load firmware without the sof_sdw sidecar quirk
Reported by jonnyace · filed Aug 18, 2026Closed upstream on 2026-08-25 by the merge of PR #7032 (closed by dhh). GitHub close reason: completed.
At a glance
- 1 · What is claimed?
- Only the report text below — no validator has restated it as checkable claims yet.
- 2 · What does it affect?
- Not yet mapped to any requirement or component.
- 3 · Is it reproducible?
- No validation has been run yet.
- 4 · What remains unclear?
- Not validated yet: no claims, no reproducer.
- 5 · What happens next?
- Our staff decide whether the report is valid. Where this project allows it, agents decide whether it duplicates another report or a known issue. No decision has been recorded yet.
Original report
System details
Dell XPS 13 DX13260 (Wildcat Lake), DMI SKU 0E53, audio subsystem 1028:0e53. Cirrus CS42L43 on SoundWire link 2, two Cirrus CS35L56 Rev B2 amps on SPI behind it. Omarchy 4.0.0-1, stock linux 7.1.8.arch1-3.
What's wrong?
Why file this when a fix is already open: @spencerbull's basecamp/omarchy#7032 and omacom-io/omarchy-pkgs#150 already implement the fix, so this issue proposes no code. It exists because nothing in the tracker describes the symptom. Anyone searching "XPS 13 no bass" finds the Panther Lake and XPS 16 audio issues and concludes their problem is unrelated. This gives the symptom a searchable home and gives #7032 something to close.
Symptom
The laptop has four drivers: two woofers on the CS35L56 amps, two tweeters on the CS42L43's internal amp. Only the tweeters produce sound. Both woofers stay silent, so the speakers sound thin and bass-less.
Root cause
sof_sdw attaches sidecar amps only when SOC_SDW_SIDECAR_AMPS (BIT(16), 65536) is set for the machine. Kernel 7.1's sof_sdw_ssid_quirk_table[] carries no row for 1028:0e53, so the flag stays clear. From there the failure cascades: asoc_sdw_bridge_cs35l56_add_sidecar() never creates the cs42l43-cs35l56 DAI link, the CS35L56 components never join a card, and wm_adsp never downloads their firmware.
That last step is what turns a tuning gap into silence. The CS35L56 driver docs state that for this exact topology (CS42L43 on SoundWire, CS35L56 on SPI), firmware is "mandatory to enable receiving the audio from the CS42L43." Un-patched amps are not merely untuned, they are mute. The CS35L56 DSP also serves as the system crossover, so while it sits bypassed the tweeters receive an unfiltered full-range signal.
Evidence
Before, no amp controls exist and neither amp joins the card:
$ amixer -c 0 controls | grep -ciE 'cs35l56|AMPL|AMPR'
0
$ journalctl -b -k | grep cs35l56
cs35l56 spi-cs35l56-left: Cirrus Logic CS35L56 Rev B2 OTP1 fw:4.2.1 (patched=0)
cs35l56 spi-cs35l56-right: Cirrus Logic CS35L56 Rev B2 OTP1 fw:4.2.1 (patched=0)Both amps probe on SPI and bind the driver, but the boot contains no DSP1: lines at all.
After setting the quirk and rebooting, the firmware downloads:
cs35l56 spi-cs35l56-right: DSP1: cirrus/cs35l56-b2-dsp1-misc-10280e53-spkid1.wmfw: format 3 timestamp 0x68d1a788
cs35l56 spi-cs35l56-left: DSP1: cirrus/cs35l56-b2-dsp1-misc-10280e53-spkid1.wmfw: format 3 timestamp 0x68d1a788
cs35l56 spi-cs35l56-right: DSP1: Firmware: 1a01d6 vendor: 0x2 v4.5.9, 42 algorithms
cs35l56 spi-cs35l56-left: DSP1: Firmware: 1a01d6 vendor: 0x2 v4.5.9, 42 algorithms
cs35l56 spi-cs35l56-right: DSP1: cirrus/cs35l56-b2-dsp1-misc-10280e53-spkid1-ampr.bin (v1): v4.5.9
cs35l56 spi-cs35l56-left: DSP1: cirrus/cs35l56-b2-dsp1-misc-10280e53-spkid1-ampl.bin (v1): v4.5.9
cs35l56 spi-cs35l56-right: Calibration applied
cs35l56 spi-cs35l56-left: Calibration applied
cs35l56 spi-cs35l56-right: Tuning PID: 0x112481, SID: 0x352112, TID: 0x342200
cs35l56 spi-cs35l56-left: Tuning PID: 0x112481, SID: 0x352102, TID: 0x342200The AMPL and AMPR control counts go from 0 to 24, with a distinct SID per side. The blobs carry ...\Projects\Roma\_tuning bins\260422_bin_Roma_0E53_ internally, which confirms they are Dell's per-side tuning for this SKU rather than a generic fallback. Bass returns, volume stays clean, and the headset jack and internal mics behave as before.
Worth noting for scoping: a stock Omarchy box already ships every piece this needs. Kernel 7.1 provides soc_sdw_bridge_cs35l56.c, alsa-ucm-conf provides sof-soundwire/cs35l56-bridge.conf, and linux-firmware-cirrus provides the cs35l56-b2-dsp1-misc-10280e53-* blobs. Only the quirk bit is absent.
Fix
Upstream commit `efd80de2de9d` ("ASoC: Intel: sof_sdw: Add quirks for new Dell laptops") adds the missing row:
SND_PCI_QUIRK(0x1028, 0x0e53, "Dell XPS WCL", SOC_SDW_SIDECAR_AMPS),That lands in Linux 7.2-rc5 and Arch ships 7.1.8, which is why the machine needs a temporary override in the meantime. sof_sdw exposes the same value through its quirk module parameter, and both the in-kernel table and the parameter assign plainly to sof_sdw_quirk, so options snd_soc_sof_sdw quirk=65536 is equivalent on this machine. That override is what produced the "after" log above; I did not test the packaged fix itself.
I reached this diagnosis independently and only afterwards found #7032, which at least makes for useful corroboration that the one-bit change is the right one.
Notes for anyone who hits this before the fix ships
patched=0 keeps printing after the fix, and that is correct. It means the driver owns the RESET line and the amp runs ROM firmware at that moment. The download happens later, when the component joins the card, so the DSP1: lines and Calibration applied are the signal to look for.
Two things correctly stay the same and are not regressions. No SoundWire machine driver found for the ACPI-reported configuration still logs, because no soc-acpi-intel-wcl-match.c exists upstream and the PTL table holds no CS42L43-on-link-2 entry, which leaves the generic SDCA function-topology path as the intended route for this laptop. Topologies also stay sof-sdca-mic-id4.tplg plus sof-sdca-1amp-id2.tplg, because the amps attach over a codec-to-codec bridge link rather than a topology PCM.
Two dead ends worth skipping. Do not force sof-ptl-cs42l43-agg-l3-cs35l56-l2.tplg; it ships in sof-firmware and looks like a match, but it describes CS42L43 on link 3 with SoundWire CS35L56 on link 2, which is different wiring and a different amp transport, and forcing it drives the SmartAmps through routing they are not calibrated for. Do not reach for EQ either, since no amount of bass boost recovers drivers that receive no signal.
One flag for whoever picks this up: the existing dell-xps-2026 tuning matches SKUs 0DB9 and 0DBA only, so it does not affect this machine today. If anyone extends it to cover 0E53, the measurements want to come after the amps work, otherwise the profile bakes in a broken baseline.
I have not attached omarchy-debug output because I am filing from a different machine, but I am happy to add it if that helps.
View raw text
### System details
Dell XPS 13 DX13260 (Wildcat Lake), DMI SKU `0E53`, audio subsystem `1028:0e53`. Cirrus CS42L43 on SoundWire link 2, two Cirrus CS35L56 Rev B2 amps on SPI behind it. Omarchy 4.0.0-1, stock `linux 7.1.8.arch1-3`.
### What's wrong?
**Why file this when a fix is already open:** @spencerbull's basecamp/omarchy#7032 and omacom-io/omarchy-pkgs#150 already implement the fix, so this issue proposes no code. It exists because nothing in the tracker describes the symptom. Anyone searching "XPS 13 no bass" finds the Panther Lake and XPS 16 audio issues and concludes their problem is unrelated. This gives the symptom a searchable home and gives #7032 something to close.
## Symptom
The laptop has four drivers: two woofers on the CS35L56 amps, two tweeters on the CS42L43's internal amp. Only the tweeters produce sound. Both woofers stay silent, so the speakers sound thin and bass-less.
## Root cause
`sof_sdw` attaches sidecar amps only when `SOC_SDW_SIDECAR_AMPS` (`BIT(16)`, 65536) is set for the machine. Kernel 7.1's `sof_sdw_ssid_quirk_table[]` carries no row for `1028:0e53`, so the flag stays clear. From there the failure cascades: `asoc_sdw_bridge_cs35l56_add_sidecar()` never creates the `cs42l43-cs35l56` DAI link, the CS35L56 components never join a card, and `wm_adsp` never downloads their firmware.
That last step is what turns a tuning gap into silence. The [CS35L56 driver docs](https://docs.kernel.org/sound/codecs/cs35l56.html) state that for this exact topology (CS42L43 on SoundWire, CS35L56 on SPI), firmware is "mandatory to enable receiving the audio from the CS42L43." Un-patched amps are not merely untuned, they are mute. The CS35L56 DSP also serves as the system crossover, so while it sits bypassed the tweeters receive an unfiltered full-range signal.
## Evidence
Before, no amp controls exist and neither amp joins the card:
```
$ amixer -c 0 controls | grep -ciE 'cs35l56|AMPL|AMPR'
0
$ journalctl -b -k | grep cs35l56
cs35l56 spi-cs35l56-left: Cirrus Logic CS35L56 Rev B2 OTP1 fw:4.2.1 (patched=0)
cs35l56 spi-cs35l56-right: Cirrus Logic CS35L56 Rev B2 OTP1 fw:4.2.1 (patched=0)
```
Both amps probe on SPI and bind the driver, but the boot contains no `DSP1:` lines at all.
After setting the quirk and rebooting, the firmware downloads:
```
cs35l56 spi-cs35l56-right: DSP1: cirrus/cs35l56-b2-dsp1-misc-10280e53-spkid1.wmfw: format 3 timestamp 0x68d1a788
cs35l56 spi-cs35l56-left: DSP1: cirrus/cs35l56-b2-dsp1-misc-10280e53-spkid1.wmfw: format 3 timestamp 0x68d1a788
cs35l56 spi-cs35l56-right: DSP1: Firmware: 1a01d6 vendor: 0x2 v4.5.9, 42 algorithms
cs35l56 spi-cs35l56-left: DSP1: Firmware: 1a01d6 vendor: 0x2 v4.5.9, 42 algorithms
cs35l56 spi-cs35l56-right: DSP1: cirrus/cs35l56-b2-dsp1-misc-10280e53-spkid1-ampr.bin (v1): v4.5.9
cs35l56 spi-cs35l56-left: DSP1: cirrus/cs35l56-b2-dsp1-misc-10280e53-spkid1-ampl.bin (v1): v4.5.9
cs35l56 spi-cs35l56-right: Calibration applied
cs35l56 spi-cs35l56-left: Calibration applied
cs35l56 spi-cs35l56-right: Tuning PID: 0x112481, SID: 0x352112, TID: 0x342200
cs35l56 spi-cs35l56-left: Tuning PID: 0x112481, SID: 0x352102, TID: 0x342200
```
The `AMPL` and `AMPR` control counts go from 0 to 24, with a distinct `SID` per side. The blobs carry `...\Projects\Roma\_tuning bins\260422_bin_Roma_0E53_` internally, which confirms they are Dell's per-side tuning for this SKU rather than a generic fallback. Bass returns, volume stays clean, and the headset jack and internal mics behave as before.
Worth noting for scoping: a stock Omarchy box already ships every piece this needs. Kernel 7.1 provides `soc_sdw_bridge_cs35l56.c`, `alsa-ucm-conf` provides `sof-soundwire/cs35l56-bridge.conf`, and `linux-firmware-cirrus` provides the `cs35l56-b2-dsp1-misc-10280e53-*` blobs. Only the quirk bit is absent.
## Fix
Upstream commit [`efd80de2de9d`](https://github.com/torvalds/linux/commit/efd80de2de9d) ("ASoC: Intel: sof_sdw: Add quirks for new Dell laptops") adds the missing row:
```c
SND_PCI_QUIRK(0x1028, 0x0e53, "Dell XPS WCL", SOC_SDW_SIDECAR_AMPS),
```
That lands in Linux 7.2-rc5 and Arch ships 7.1.8, which is why the machine needs a temporary override in the meantime. `sof_sdw` exposes the same value through its `quirk` module parameter, and both the in-kernel table and the parameter assign plainly to `sof_sdw_quirk`, so `options snd_soc_sof_sdw quirk=65536` is equivalent on this machine. That override is what produced the "after" log above; I did not test the packaged fix itself.
I reached this diagnosis independently and only afterwards found #7032, which at least makes for useful corroboration that the one-bit change is the right one.
## Notes for anyone who hits this before the fix ships
`patched=0` keeps printing after the fix, and that is correct. It means the driver owns the RESET line and the amp runs ROM firmware at that moment. The download happens later, when the component joins the card, so the `DSP1:` lines and `Calibration applied` are the signal to look for.
Two things correctly stay the same and are not regressions. `No SoundWire machine driver found for the ACPI-reported configuration` still logs, because no `soc-acpi-intel-wcl-match.c` exists upstream and the PTL table holds no CS42L43-on-link-2 entry, which leaves the generic SDCA function-topology path as the intended route for this laptop. Topologies also stay `sof-sdca-mic-id4.tplg` plus `sof-sdca-1amp-id2.tplg`, because the amps attach over a codec-to-codec bridge link rather than a topology PCM.
Two dead ends worth skipping. Do not force `sof-ptl-cs42l43-agg-l3-cs35l56-l2.tplg`; it ships in `sof-firmware` and looks like a match, but it describes CS42L43 on link 3 with SoundWire CS35L56 on link 2, which is different wiring and a different amp transport, and forcing it drives the SmartAmps through routing they are not calibrated for. Do not reach for EQ either, since no amount of bass boost recovers drivers that receive no signal.
One flag for whoever picks this up: the existing `dell-xps-2026` tuning matches SKUs `0DB9` and `0DBA` only, so it does not affect this machine today. If anyone extends it to cover `0E53`, the measurements want to come after the amps work, otherwise the profile bakes in a broken baseline.
I have not attached `omarchy-debug` output because I am filing from a different machine, but I am happy to add it if that helps.
Validation
Not checked yet. A validator will restate this report as checkable claims, map it to the project's requirements and write a reproducer that the proof engine runs.
Linked
Not linked to any known issue, other report or change yet.
Decision
Decisions are recorded by our staff — or, where this project allows it, by agents: checked by a second, independent agent, or by a single agent where the project's policy says so. Any decision reached so far is shown below.
No decision has been recorded yet.