Repository navigation
Dell XPS 14 DA14260 (Panther Lake, 1028:0db9): speakers use default SoundWire machine driver and sound quality is tinny #5725
Description
Summary
Built-in speaker output works on my new Dell XPS 14 DA14260, but the sound quality is quite tinny and not as what I've seen from speaker tests online. It seems like kernel falls back to the default SoundWire machine driver with function topologies instead of finding a board-specific machine driver.
Note: I've used AI to help me debug some of the issues so I can give you the best possible bug report with my limited understanding of SOF and audio on Linux beyond the basics. I did not want to do too invasive steps just yet as described by https://thesofproject.github.io/latest/getting_started/intel_debug/suggestions.html but let me know if you would like some of the information described there.
I've seen some reports here about failures, but basic functionality here works fine:
- Sound card registers
- Speakers are detected and usable
- Raw ALSA playback works
- PipeWire routing is correct
- SOF firmware boots
- Cirrus amp firmware/tuning loads
- Calibration seems to be applied on all amps
- Mixer state looks sane
But the fallback machine-driver path remains, and speaker quality sounds flat compared with expected behaviour.
Hardware
- Laptop: Dell XPS 14 DA14260
➜ lspci -nnk | rg -A3 -i "audio|multimedia"
00:05.0 Multimedia controller [0480]: Intel Corporation Panther Lake IPU [8086:b05d] (rev 04)
Subsystem: Dell Device [1028:0db9]
Kernel driver in use: intel-ipu7
Kernel modules: intel_ipu7
--
00:1f.3 Audio device [0403]: Intel Corporation Device [8086:e428] (rev 01)
Subsystem: Dell Device [1028:0db9]
Kernel driver in use: sof-audio-pci-intel-ptl
Kernel modules: snd_sof_pci_intel_ptl, snd_hda_intel
00:1f.4 SMBus [0c05]: Intel Corporation Device [8086:e422] (rev 01)
Subsystem: Dell Device [1028:0db9]
Software
- Distro:
Fedora 43 - Kernels tested:
- Fedora
6.19.11 - vanilla
7.0.0-0.rc7.260407.bfe62a45.254.vanilla.fc43.x86_64
- Fedora
- Firmware/BIOS:
- current according to
fwupdmgr
- current according to
Actual Behavior
- Built-in speakers work.
- Output is routed correctly to the internal speaker sink.
- Direct ALSA playback to the speaker PCM works.
- Sound quality is tinny compared with expectations, or what I saw online.
- Subjectively there was no meaningful improvement between
6.19.11and7.0-rc7.
Expected Behavior
Either:
- this subsystem should match a board-specific SoundWire machine driver, or
- the generic function-topology path should already provide correct speaker tuning/quality
At the moment it appears to be partial bring-up only.
Findings
I put the output of the list of commands I could find through AI to see if it could give a summary of what it thinks is happening.
It wonder whether subsystem 1028:0db9 currently missing board-specific SoundWire machine-driver support, or whether the generic default-machine-driver path expected to provide full/correct speaker tuning on this model?
Strong evidence that the audio stack is basically functional
- Raw ALSA playback works on the speaker PCM.
- PipeWire/WirePlumber are functioning normally.
- The sound card and speaker path register correctly.
- Dell-specific Cirrus firmware/tuning blobs for subsystem
1028:0db9are present and loaded. - Calibration is applied on all four amps.
- ALSA mixer state looks sane:
Speaker Switchis onAMP1..AMP4 Speaker Switchare onAMP1..AMP4 Speaker Volumeare maxedPost Mixer Speaker Playback Volumeis maxedPost Mixer Speaker Playback DRC switchis on
Strong evidence that model-specific support is still missing or incomplete
The kernel still reports:
sof-audio-pci-intel-ptl 0000:00:1f.3: No SoundWire machine driver found for the ACPI-reported configuration:
sof-audio-pci-intel-ptl 0000:00:1f.3: link 0 mfg_id 0x01fa part_id 0x4245 version 0x3
sof-audio-pci-intel-ptl 0000:00:1f.3: link 2 mfg_id 0x01fa part_id 0x3557 version 0x3
sof-audio-pci-intel-ptl 0000:00:1f.3: link 3 mfg_id 0x01fa part_id 0x3557 version 0x3
sof-audio-pci-intel-ptl 0000:00:1f.3: Use SoundWire default machine driver with function topologies
The function-topology path is then used instead of a board-specific machine driver.
At the same time, the amp firmware/tuning/calibration path is active, which suggests this is not a missing-firmware or muted-mixer problem.
Interpretation
This looks like partial bring-up with generic function topologies rather than full model-specific SoundWire machine-driver support/tuning for this exact Dell SKU.
These look related, though not identical:
- No audio on Dell XPS 16 2026 (Panther Lake) - CS42L45 + CS35L57 - no driver for CS42L45, missing firmware #5720 No audio on Dell XPS 16 2026 (Panther Lake) - CS42L45 + CS35L57 - no driver for CS42L45, missing firmware
- [BUG] Audio not working on Dell XPS 14 (9440) with Cirrus Logic CS42L43 #4974 Audio not working on Dell XPS 14 (9440) with Cirrus Logic CS42L43
- [BUG] Audio driver fails to load on Dell XPS 16 2024 (9640) with a Cirrus Logic CS42L43 #4879 Audio driver fails to load on Dell XPS 16 2024 (9640) with a Cirrus Logic CS42L43
Also relevant upstream context: - January 2026 cs35l56 patch series for new Dell laptops / Dell SSIDExV2 handling
Logs and other output
➜ uname -r
7.0.0-0.rc7.260407.bfe62a45.254.vanilla.fc43.x86_64
PCI audio device and driver binding
➜ lspci -nnk | rg -A3 -i "audio|multimedia"
00:05.0 Multimedia controller [0480]: Intel Corporation Panther Lake IPU [8086:b05d] (rev 04)
Subsystem: Dell Device [1028:0db9]
Kernel driver in use: intel-ipu7
Kernel modules: intel_ipu7
--
00:1f.3 Audio device [0403]: Intel Corporation Device [8086:e428] (rev 01)
Subsystem: Dell Device [1028:0db9]
Kernel driver in use: sof-audio-pci-intel-ptl
Kernel modules: snd_sof_pci_intel_ptl, snd_hda_intel
00:1f.4 SMBus [0c05]: Intel Corporation Device [8086:e422] (rev 01)
Subsystem: Dell Device [1028:0db9]
ALSA info alsa-info.sh --no-upload:
https://gist.github.com/AndreasBackx/8fb9c905c1e4e1a5ef8a4b522746e453
Current boot audio logs
Command:
journalctl -b --no-pager | rg -i "sof|soundwire|cs35|cs42|machine driver|topolog|calibration"
https://gist.github.com/AndreasBackx/858c74ef0bf2d1af07e3707b5c7e3e1a
Kernel ring buffer audio logs
sudo dmesg | rg -i "sof|soundwire|cs35|cs42|machine driver|topolog|calibration"
https://gist.github.com/AndreasBackx/9c664b5eea769b2bc61c994dedf82097
ALSA playback devices
➜ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: sofsoundwire [sof-soundwire], device 0: Jack Out (*) []
Subdevices: 0/1
Subdevice #0: subdevice #0
card 0: sofsoundwire [sof-soundwire], device 2: Speaker (*) []
Subdevices: 0/1
Subdevice #0: subdevice #0
card 0: sofsoundwire [sof-soundwire], device 5: HDMI1 (*) [HDMI 1]
Subdevices: 0/1
Subdevice #0: subdevice #0
card 0: sofsoundwire [sof-soundwire], device 6: HDMI2 (*) [HDMI 2]
Subdevices: 0/1
Subdevice #0: subdevice #0
card 0: sofsoundwire [sof-soundwire], device 7: HDMI3 (*) [HDMI 3]
Subdevices: 0/1
Subdevice #0: subdevice #0
card 0: sofsoundwire [sof-soundwire], device 31: Deepbuffer Jack Out (*) []
Subdevices: 1/1
Subdevice #0: subdevice #0
ALSA capture devices
➜ arecord -l
**** List of CAPTURE Hardware Devices ****
card 0: sofsoundwire [sof-soundwire], device 1: Jack In (*) []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: sofsoundwire [sof-soundwire], device 4: Microphone (*) []
Subdevices: 0/1
Subdevice #0: subdevice #0
Raw ALSA speaker playback test
Note:
- this produces harsh pink noise by design
- the important part is whether it successfully opens and plays through the speaker PCM
➜ speaker-test -Dhw:0,2 -c2 -r48000 -F S16_LE
speaker-test 1.2.15.2
Playback device is hw:0,2
Stream parameters are 48000Hz, S16_LE, 2 channels
Using 16 octaves of pink noise
Rate set to 48000Hz (requested 48000Hz)
Buffer size range from 768 to 1048576
Period size range from 384 to 524288
Periods = 4
was set period_size = 12000
was set buffer_size = 48000
0 - Front Left
1 - Front Right
Time per period = 5.004328
0 - Front Left
1 - Front Right
Time per period = 6.000841
0 - Front Left
1 - Front Right
Time per period = 5.999052
0 - Front Left
1 - Front Right
Time per period = 6.000084
0 - Front Left
^C 1 - Front Right
Time per period = 2.499764
PipeWire device graph
wpctl status
https://gist.github.com/AndreasBackx/a916c3956d926f208660074a6f555c32
PulseAudio/PipeWire sink details
pactl list sinks
https://gist.github.com/AndreasBackx/4ef6a1aa13fb355110dec45687f4f15d
ALSA mixer controls
amixer -c 0 scontrols
https://gist.github.com/AndreasBackx/74fd51004222c09b997c45d98c0c1d0d
ALSA mixer values
amixer -c 0 contents
https://gist.github.com/AndreasBackx/99811ece36dcf6ea567f6fd26be10b5c
Audio service status
➜ systemctl --user status pipewire pipewire-pulse wireplumber --no-pager
● pipewire.service - PipeWire Multimedia Service
Loaded: loaded ([/usr/lib/systemd/user/pipewire.service](file:///usr/lib/systemd/user/pipewire.service); disabled; preset: disabled)
Drop-In: /usr/lib/systemd/user/pipewire.service.d
└─00-uresourced.conf
/usr/lib/systemd/user/service.d
└─10-timeout-abort.conf
Active: active (running) since Wed 2026-04-08 14:24:22 BST; 1h 11min ago
Invocation: 2a2a4546442a4e07bcfea427850378dd
TriggeredBy: ● pipewire.socket
Main PID: 4638 (pipewire)
Tasks: 3 (limit: 37907)
Memory: 36.2M (peak: 42.1M)
CPU: 2min 23.428s
CGroup: /user.slice/user-1000.slice/user@1000.service/session.slice/pipewire.service
└─4638 /usr/bin/pipewire
Apr 08 14:26:30 fedora pipewire[4638]: mod.raop-sink: sess.latency.msec 250.000000 should…81859
Apr 08 14:38:56 fedora pipewire[4638]: mod.raop-sink: sess.latency.msec 250.000000 should…81859
Apr 08 14:49:29 fedora pipewire[4638]: mod.raop-sink: sess.latency.msec 250.000000 should…81859
Apr 08 14:54:13 fedora pipewire[4638]: mod.raop-sink: sess.latency.msec 250.000000 should…81859
Apr 08 15:07:10 fedora pipewire[4638]: mod.raop-sink: sess.latency.msec 250.000000 should…81859
Apr 08 15:09:01 fedora pipewire[4638]: mod.raop-sink: sess.latency.msec 250.000000 should…81859
Apr 08 15:16:01 fedora pipewire[4638]: mod.raop-sink: sess.latency.msec 250.000000 should…81859
Apr 08 15:22:35 fedora pipewire[4638]: mod.raop-sink: sess.latency.msec 250.000000 should…81859
Apr 08 15:31:11 fedora pipewire[4638]: mod.raop-sink: expected 179025536 != timestamp 235
Apr 08 15:32:43 fedora pipewire[4638]: mod.raop-sink: sess.latency.msec 250.000000 should…81859
● pipewire-pulse.service - PipeWire PulseAudio
Loaded: loaded ([/usr/lib/systemd/user/pipewire-pulse.service](file:///usr/lib/systemd/user/pipewire-pulse.service); disabled; preset: disabled)
Drop-In: /usr/lib/systemd/user/service.d
└─10-timeout-abort.conf
Active: active (running) since Wed 2026-04-08 14:24:27 BST; 1h 11min ago
Invocation: 26eba72db6ba466bb45f50d2000218e6
TriggeredBy: ● pipewire-pulse.socket
Main PID: 6066 (pipewire-pulse)
Tasks: 3 (limit: 37907)
Memory: 78.7M (peak: 80M)
CPU: 3min 28.991s
CGroup: /user.slice/user-1000.slice/user@1000.service/session.slice/pipewire-pulse.service
└─6066 /usr/bin/pipewire-pulse
Apr 08 15:07:45 fedora pipewire-pulse[6066]: mod.protocol-pulse: [PulseAudio Volume Contr…nel:5
Apr 08 15:09:36 fedora pipewire-pulse[6066]: mod.protocol-pulse: [PulseAudio Volume Contr…nel:5
Apr 08 15:12:08 fedora pipewire-pulse[6066]: mod.protocol-pulse: [PulseAudio Volume Contr…nel:8
Apr 08 15:16:36 fedora pipewire-pulse[6066]: mod.protocol-pulse: [PulseAudio Volume Contr…nel:8
Apr 08 15:18:53 fedora pipewire-pulse[6066]: mod.protocol-pulse: [PulseAudio Volume Contr…nel:5
Apr 08 15:23:10 fedora pipewire-pulse[6066]: mod.protocol-pulse: [PulseAudio Volume Contr…nel:5
Apr 08 15:31:46 fedora pipewire-pulse[6066]: mod.protocol-pulse: [PulseAudio Volume Contr…nel:7
Apr 08 15:33:12 fedora pipewire-pulse[6066]: mod.protocol-pulse: [PulseAudio Volume Contr…nel:4
Apr 08 15:33:18 fedora pipewire-pulse[6066]: mod.protocol-pulse: [PulseAudio Volume Contr…nel:0
Apr 08 15:33:44 fedora pipewire-pulse[6066]: mod.protocol-pulse: [PulseAudio Volume Contr…nel:9
● wireplumber.service - Multimedia Service Session Manager
Loaded: loaded ([/usr/lib/systemd/user/wireplumber.service](file:///usr/lib/systemd/user/wireplumber.service); enabled; preset: enabled)
Drop-In: /usr/lib/systemd/user/service.d
└─10-timeout-abort.conf
Active: active (running) since Wed 2026-04-08 14:24:22 BST; 1h 11min ago
Invocation: 8a6b95a22bfe4959af99cf465977d29d
Main PID: 4639 (wireplumber)
Tasks: 9 (limit: 37907)
Memory: 12.7M (peak: 15.1M)
CPU: 6.527s
CGroup: /user.slice/user-1000.slice/user@1000.service/session.slice/wireplumber.service
└─4639 /usr/bin/wireplumber
Apr 08 14:24:22 fedora systemd[4169]: Started wireplumber.service - Multimedia Service S…nager.
Apr 08 14:24:23 fedora wireplumber[4639]: [0:00:51.993519112] [4639] INFO Camera camera_…0.5.2
Apr 08 14:24:23 fedora wireplumber[4639]: [0:00:52.002461401] [4773] INFO SimplePipeline…edia0
Hint: Some lines were ellipsized, use -l to show in full.
Package versions
➜ rpm -q kernel kernel-core pipewire wireplumber alsa-sof-firmware alsa-ucm alsa-lib alsa-utils linux-firmware
kernel-6.19.10-200.fc43.x86_64
kernel-6.19.11-200.fc43.x86_64
kernel-7.0.0-0.rc7.260407.bfe62a45.254.vanilla.fc43.x86_64
kernel-core-6.19.10-200.fc43.x86_64
kernel-core-6.19.11-200.fc43.x86_64
kernel-core-7.0.0-0.rc7.260407.bfe62a45.254.vanilla.fc43.x86_64
pipewire-1.4.11-1.fc43.x86_64
wireplumber-0.5.14-1.fc43.x86_64
alsa-sof-firmware-2025.12.2-1.fc43.noarch
alsa-ucm-1.2.15.3-1.fc43.noarch
alsa-lib-1.2.15.3-1.fc43.x86_64
alsa-utils-1.2.15.2-1.fc43.x86_64
linux-firmware-20260309-1.fc43.noarch
Firmware update status
➜ fwupdmgr get-updates
Devices with no available firmware updates:
• Corsair MP700 PRO XT
• Internal SPI Controller (BIOS)
• System Firmware
• TPM
• Bios DB Key
• Bios FW Aux Authority
• KEK CA
• Key Exchange Key
• Option ROM UEFI CA
• Windows UEFI CA
Devices with the latest available firmware version:
• UEFI CA
• UEFI dbx
No updates available
Let me know if there is anything more I can provide or if there's something I can do.
Activity
rfvirgil commentedon Apr 8, 2026
Function topologies are not a fallback. It should be using function topologies on Pantherlake. And it should be using the SoundWire machine driver because they are SoundWire parts.
It looks like the machine driver might have got the wrong number of amps somehow and only routed audio to the tweeters.
There are clearly 4x CS35L57 amps, and this normally means 2x tweeters and 2x woofers.
But the machine driver has loaded:
[ 27.196693] sof-audio-pci-intel-ptl 0000:00:1f.3: loading topology 2: intel/sof-ipc4-tplg/sof-sdca-2amp-id2.tplg@bardliao Any idea why it's loading the 2amp tplg instead of the 4amp ?
AndreasBackx commentedon Apr 8, 2026
Thank you for having a look, I don't have any understanding how most of this works. Just hoping to further the sof effort, and of course resolve the issues with my own hardware.
In the meantime, when I closed my laptop, and I guess it might've went to sleep I got the following spamming errors in my system logs from sof along with no audio output anymore: https://gist.github.com/AndreasBackx/a7c662c781fa1b9b4b2d98de2047ccd3
bardliao commentedon Apr 9, 2026
@rfvirgil The 2amp topology means the amps are on 2 SDW links. And it is expected in this case.
bardliao commentedon Apr 9, 2026
@AndreasBackx Is it possible to get the log before the spamming errors? It would be useful if we can get the first error.
ujfalusi commentedon Apr 9, 2026
@AndreasBackx, can you open a new issue for the DSP boot error, it is really concerning and so far we have not seen similar issue.
From the logs it appears that enabling the DSP fails on your system and pipewire enters an endless loop of trying to use audio - which fails constantly.
For this please copy sof-dyndbg.conf.txt as /etc/modprobe.d/sof-dyndbg.conf reboot and attach the full kernel boot log and it would help to capture the log corresponding to the event itself (open terminal, make it unlimited history, run
dmesg -w, close the lid, open the lid and if the error appears, save the captured kernel log).As for the speaker tuning: You can try to enable/disable the DRC in SOF
and see if that makes any difference, it is now enabled by default:
alsa-project/alsa-ucm-conf#419
alsa-project/alsa-ucm-conf#481
and it is aimed to enhance the speaker performance, OEMs can add their tuning to alsa-ucm-conf, we can only provide generic, good enough parameters.
The Cirrus codec on the other hand looks like to be loading a device tuned .bin fro cs35l57, I would guess it should be tuned to a good performance. You have recent alsa-ucm-conf, I would guess that all needed kcontrol is in the right position as well.
ujfalusi commentedon Apr 9, 2026
@AndreasBackx , I see that pipewire is 1.4.11, I wonder if you also hit by the xrun issue that can happen with pre 1.6.0 pipewire (which have SOF specific headroom configuration).
Can you try the workaround in #5284 (comment) and see if it can fix the DSP power issue?
AndreasBackx commentedon Apr 9, 2026
I've created thesofproject/sof#10700 with the logs, but please let me know if there's more I can provide.
@ujfalusi thank you very much for the elaborate steps. I'm currently with family but should be able to get the information to you by tomorrow and try the workaround.
AndreasBackx commentedon Apr 10, 2026
Gave this a try but I don't seem to have the control mentioned:
I've replied to the DSP error questions on the other issue and managed to reproduce the error again: thesofproject/sof#10700 (comment)
Let me know if I missed anything and thanks again!
jso8910 commentedon Apr 15, 2026
I have the XPS 16, and I did an experiment with alsamixer.
Amp 4 is mapped to the back left speaker, which is VERY quiet (not sure if this is normal). I assume this is the tweeter
Amp 3 is mapped to the front left speaker, which seems to be a woofer.
Amp 2 is mapped to the back right speaker, again a tweeter.
Amp 1 is mapped to the front right speaker, a woofer.
Complete uninformed conjecture, but I think that the issue with the sound may be because all 4 channels are playing the same audio, or there is otherwise some optimization/mixing that is missing, leading to bass being less loud.
sinclair-m commentedon Apr 16, 2026
EDIT this was user error: Issue was resolved via Issue #5720 #5720
Thank you @ujfalusi @bardliao and @charleskeepax I rebuild with kernel linux-mainline 7.1rc1-1 which has the SND_SOC_SDCA_CLASS kernel config enabled, and sof now gives full functionality to the sound/speaker system on the DA16260 laptop. Very much appreciate all the support and work for SOF.
Thank you
Outdate Bug Report Below:
I would like to add to this Bug report, as built as best as I can with ai guidance. Raw outputs are available at: https://pastebin.com/nEgnm2Yj%
[PTL][Dell DA16260][1028:0dba] No SoundWire machine driver found → sof_sdw card registration fails (CS42L43 + CS35L57 x4)
Summary
On a Dell XPS 16 (model DA16260), subsystem
1028:0dba, running a kernel (7.0.0-rc4-1-MANJARO), audio fails to initialize.The failure occurs at SoundWire machine driver selection / ASoC card registration.
Key Error
sof-audio-pci-intel-ptl 0000:00:1f.3: No SoundWire machine driver found for the ACPI-reported configuration:
link 0 mfg_id 0x01fa part_id 0x4245 version 0x3
link 2 mfg_id 0x01fa part_id 0x3557 version 0x3
link 3 mfg_id 0x01fa part_id 0x3557 version 0x3
Use SoundWire default machine driver with function topologies platform sof_sdw: deferred probe pending: sof_sdw: snd_soc_register_card failed -517
Observed Behavior
aplay -l→ only HDMI or USB devicespactl list short sinks→auto_null/proc/asound/cards→ emptyHardware
8086:e4281028:0dbaSoundWire devices detected:
01fa:4245(likely CS42L43 codec)01fa:3557×4 (CS35L57 amplifiers)Kernel
7.0.0-rc4-1-MANJARO
SOF Status
DSP detected
Firmware file: intel/sof-ipc4/ptl/sof-ptl.ri
Loaded firmware library: ADSPFW, version: 2.14.1.1
Booted firmware version: 2.14.1.1
Cirrus Devices
cs35l56 sdw:...: Cirrus Logic CS35L57 Rev B2 OTP1 fw:4.2.1 (patched=0)
Slave X state check1: UNATTACHED
All amps remain UNATTACHED.
SoundWire Failure
soundwire_intel ... prepare clock stop failed -110
platform sof_sdw: snd_soc_register_card failed -517
Firmware Availability
The system has Dell-specific firmware installed:
/lib/firmware/cirrus/
SOF PTL firmware and topology files are also present.
SoundWire Topology Observed
From kernel logs:
Total: 1 codec + 4 amplifiers across multiple SoundWire links
This appears to be a multi-amp speaker configuration not handled by current generic topology matching.
Interpretation
Failure appears to be:
@ujfalsui @bardliao, @ charleskeepax, thank you, it was the SND_SOC_SDCA_CLASS in the kernel config, I rebuilt to kernel7.1rc and as per Issue #5720 #5720 I was misunderstanding the root cause of the issue. Thank you for all the work to have this functionality.
#5720
Additional Notes
Use SoundWire default machine driver with function topologies, but card registration still fails.
Reproduction
Occurs consistently on boot.
PasteBin of system outputs uploaded and attached
sof_sdw_bugreport_20260415_190609.txt
Thank you
ujfalusi commentedon Apr 22, 2026
@sinclair-m , the issue you are facing is different, @bardliao , do we have similar one already (thesofproject/sof#10711 ?)? If not I think this warrants a new issue?
Also: try a firmware update to see if it helps.
bardliao commentedon Apr 22, 2026
@ujfalusi @sinclair-m It looks similar to thesofproject/sof#10711 (comment). But I have no idea why -517 without debug logs. Please rename sof-dyndbg.conf.txt to sof-dyndbg.conf and put it in the /etc/modprobe.d/ and share the dmesg after rebooting.
And yes, it warrants a new issue. @rom-ruszok FYI
charleskeepax commentedon Apr 24, 2026
@sinclair-m Do you have SND_SOC_SDCA_CLASS in your kernel config? It sounds a bit like you just don't have the SDCA class driver so the device doesn't bind against any drivers. EDIT: But yes this is a separate issue so it would probably be best to create a new issue for it if you have more questions.
charleskeepax commentedon Apr 24, 2026
@jso8910 Could you clarify a little when you say:
Are you saying both amps 2,4 are very quiet, or are you saying that Amp 4 is especially quiet even compared to amp 2?
It is likely normal for the tweeters to be fairly quiet with general playback, testing with a couple of sine tones would probably make sense. Say something like 1kHz and something like 8kHz, you should hear the lower tone come through clearly on the woofers and be really quiet on the tweeters, then the inverse for the higher tone.
@jso8910 @AndreasBackx
Would anyone be able to provide a short video/audio recording of the playback? I am not sure it will give the fidelity to hear the issue fully but might give us some start on how bad this issue is which might help us to discern which direction to investigate.
AndreasBackx commentedon Apr 24, 2026
I can look into playing back specific sine waves, but I thought this video showcased my issue (or one of them the best):
https://www.youtube.com/watch?v=jxtJcrRJEIU
0-100Hz is basically not producing any sound while it is on other laptops like a Macbook Pro. My guess is that this is the tinniness I am hearing, but is hard to really use examples for otherwise. I've also got these 2 recordings of other music videos:
https://www.youtube.com/watch?v=RD-QAyXsjkE
^ The beginning of this song highlights the tinniness a bit as well.
https://www.youtube.com/watch?v=wX7cjNdxqI0
If you'd like me to give some more specific samples like the 1 or 8KHz sine waves, let me know.
16 remaining items
singalsu commentedon Jul 10, 2026
@AndreasBackx I created some helpers to set up equalizers in SOF
gregnetau commentedon Jul 18, 2026
I'm not sure if this is the same issue, but I just got a Wildcat Lake Dell XPS 13 and found this issue and had Claude dig in with Opus 4.8 and it only took around 10 mins to find the root cause:
File: sound/soc/intel/boards/sof_sdw.c, inside sof_sdw_quirk_table[]:
YMMV - but i believe it's the same hardware - see full post here: thesofproject/sof#11007
charleskeepax commentedon Jul 20, 2026
Yeah afraid the hardware configurations are different between the two models, this one is not a sidecar amp SKU so that change would be inappropriate here.
AndreasBackx commentedon Aug 21, 2026
@singalsu thank you sharing the tuning information. That microphone seems to go for 100-120 pounds here, which is a bit more than I was hoping to spend as I'm not using this device regularly, especially for music. I'll mull over the purchase...
In the meantime, say we have the measurement, what would be the next steps and how much effort is required to improve the situation? The page shared is quite detailed and talks about a few things I have little knowledge of. 😅️ How feasible is it for someone like me or what is the usual process that happens for new devices as I'm assuming most people have little expertise with this?
charleskeepax commentedon Sep 28, 2026
It looks like we might have identified a problem in the ACPI which sometimes causes the wrong speaker ID GPIO to be selected on this model. Is anyone still active on this ticket who might be able to run a couple small tests for me? Ideally someone who feels the audio quality is not good on their system.
Check GPP_E_20 is on pin 46:
cat /sys/kernel/debug/pinctrl/INTC10BC:01/pins
Check chip1 is INTC10BC:01:
cat /sys/class/gpio/chip1/label
Export GPIO:
echo 46 > /sys/class/gpio/chip1/export
Check value:
cat /sys/class/gpio/chip1/gpio46/value
Then report the value returned (note the kernel will need CONFIG_GPIO_SYSFS, although you can do similar things through the new gpio chardev, let me know if I need to figure out instructions for that). And also have a look through the kernel log for lines like the following:
[ 14.649013] cs35l56 sdw:0:3:01fa:3557:01:0: DSP1: cirrus/cs35l57-b2-dsp1-misc-10280dba-spkid0-l3u0.bin (v1): v4.5.9gregnetau commentedon Sep 28, 2026
I am on Wildcat Lake XPS 14 - here is my output from the nearest neighbor i could find on those debugs:
Unfortunately I dont have any GPIO functions available in my /sys/class on my CachyOS laptop.
SirCAS commentedon Sep 28, 2026
I'll be happy to help out too. Running Ubuntu on a Dell XPS 14 DA14260.
Just for good measure - here is system info:
Check GPP_E_20 is on pin 46:
Check chip1 is INTC10BC:01:
Export GPIO 46 and read value:
As for kernel logs:
charleskeepax commentedon Sep 28, 2026
@gregnetau - I believe your laptop is a different model., which as far as we know is working fine.
@SirCAS
Check chip1 is INTC10BC:01:
root@xps-14:~# cat /sys/class/gpio/chip1/label
INTC10BC:00
Looks like your chip mapping is different could you find the chip with the label INTC10BC:01, and then repeat the last couple steps.
SirCAS commentedon Sep 28, 2026
@charleskeepax - Sorry, I missed that. Anyway, seems to be chip2 for my setup - here you go:
charleskeepax commentedon Sep 29, 2026
Excellent, could you remove the spkid0 files and create symlinks in their place to the spkid1 files. This should force the loaded tune to match the value being returned by the correct gpio. Then reboot and see if the audio quality issue has been resolved/improved? Thank you very much for your help here.
mdlam92 commentedon Oct 2, 2026
@charleskeepax Additional evidence for the speaker-ID GPIO mapping problem on an XPS 14 DA14260: on this machine it causes complete audio failure, rather than just incorrect tuning.
These diagnostics and the local workaround were collected with AI assistance. The observations below are actual command output; the workaround is not proposed as an upstream-ready patch.
System
7.2.7-arch1-18086:e428, subsystem1028:0db9sof-firmware 2026.09.1-1,linux-firmware-cirrus 20260916-1CONFIG_SND_SOC_SDCA_CLASS=m,CONFIG_SND_SOC_SDCA_CLASS_FUNCTION=m,CONFIG_SND_SOC_SDCA_FDL=y; SDCA class drivers loadedBefore workaround
ALSA reports no sound cards (
aplay -l), and PulseAudio exposes onlyauto_null. All four CS35L57 SoundWire devices have no driver bound. Each amplifier fails with:Decoded ACPI mapping
I dumped the running firmware tables with
acpidump -band disassembled the DSDT withiasl -d dsdt.dat. The four amplifier nodes are\_SB.PC00.HDAS.IDA.SNDW.SWD2throughSWD5, with SoundWire addresses:Each has this property:
Each corresponding
AF01._CRSreturns the same GPIO resource:The live controller confirms the mapping:
Pin-controller diagnostics identify offset 20 as
GPP_F_20, and offset 46 asGPP_E_20./sys/kernel/debug/gpioshows:GPIO 46 is unclaimed. Thus the firmware-selected speaker-ID GPIO is offset 20, already owned by a
wakeconsumer, rather than the 46 / GPP_E_20 identified in your September 28 comment. I have not identified the device owningwake.Local workaround and observed recovery
I rebuilt only
snd-soc-cs35l56from stable v7.2.7 source against the installed kernel headers. The local quirk is restricted to this exact DMI model, BIOS 1.10.1, and PCI subsystem1028:0db9, on SoundWire. It bypasses the erroneous ACPI speaker-ID lookup, requests GPIO offset 46 onINTC10BC:01as an input using a temporary GPIO lookup table with a distinct consumer name, reads the physical value, and releases it. Access is serialized across amplifier probes. It does not hard-code a speaker ID, replace firmware files, or alter thewakeconsumer.After unloading/reloading the amplifier modules live, all four report:
All four then load the existing Dell
10280db9-spkid1firmware/tuning (v4.5.9) and reportCalibration applied. For example:The ALSA card now registers with Jack Out, Speaker, HDMI1/2/3 and deepbuffer playback devices. PulseAudio creates speaker, headphone and HDMI sinks. Left/right WAV samples played through the speaker sink with
paplaysuccessfully, without new kernel error-level messages during the check.Verification limits: audible output has not yet been confirmed by the user, and the workaround has not yet been verified across reboot/suspend. This establishes recovery of amplifier binding, firmware/calibration, card registration and playback submission, not a subjective sound-quality result.
Would this be best handled as a model-specific GPIO quirk, an amplifier-driver correction, or a Dell BIOS fix? Happy to provide further focused diagnostics or the local patch. In particular, this seems worth accounting for in the proposed fix because the wrong mapping can prevent the entire sound card from registering when the selected GPIO is already claimed.
jekel commentedon Oct 3, 2026
Hello, here is some data from my setup:
Dell XPS 14 DA14260
BIOS 1.11.0
cat /sys/kernel/debug/pinctrl/INTC10BC:01/pins
charleskeepax commentedon Oct 5, 2026
@jekel looks like your system should also be using spkid1. Could you remove the spkid0 files (/lib/firmware/cirrus/cs35l57-b2-dsp1-misc-10280db9-spkid0-lXuY.bin) and create symlinks in their place to the spkid1 files? This should force the loaded tune to match the value being returned by the correct gpio. Then reboot and see if the audio quality issues have been resolved/improved?
jekel commentedon Oct 5, 2026
@charleskeepax i'd say that nothing changed... audio quality seems the same, balance l/r problem still persists
charleskeepax commentedon Oct 6, 2026
@jekel sigh... thanks for testing for us, apologies it didn't help. Will keep poking things at this end.