Describe the bug
On Surface Pro 11 laptops with Intel Lunar Lake, the Realtek RT1320 Soundwire codec is enumerated by the system, but its audio functions are not correctly adapted through the SOF/ASoC stack
The affected RT1320 provides two audio functions: AMP/SmartAmp for the internal speakers and DMIC for the internal microphone
with the upstream kernel/SOF configuration, the RT1320 is not correctly configured for this platform, and the expected playback/capture paths are not created correctly
The issue seems to involve the interaction between: Intel Lunar Lake machine configuration, RT1320 codex/DAI configurationn, Soundwire slave matching, SOF topology selection and Surface Pro 11 Intel platform-specific configuration
A patch in the Linux Surface kernel tree fixes the issue by:
- Adding a Surface Pro 11 Intel DMI machine check
- Selecting sof-lnl-rt1320-l0.tplg for this platform
- Describing the RT1320 with both AMP and DMIC endpoints
- Adding the rt1320-aif2 DMIC DAI
- Increasing the RT1320 DAI count from 1 to 2
- Including the SoundWire class_id when matching ACPI-described slaves with enumerated SoundWire peripherals
- Adjusting the SOF Soundwire AMP stream name to match the topology expentations
Reference patches, made by AndreGrilerson:
The described fix has been made from the 0017 patch, nevertheless, both patches sould do more or less the same
0017 sound patch
0027 sound patch
This developer also uploaded an alternative to the .patch with changes to files in sound/soc wich may be usefull to solve the problem
to diagnose or workaroud this issue i checked if the hardware was fisically enumerated (console output moved to its designated section).
The RT1320 is expected to be visible on the SoundWire bus, while the priblem occurs when the SoundWire/ASoC/SOF stack attempts to build the complete audio configuration.
Appliying one of the two patches solves the issue (the 0027 patch was applied to the same kernel running the issue, 7.1.11, solving the issue)
To Reproduce
- Boot any non-patched linux distribution in a Surface Pro 11 with intel
Reproduction Rate
The issue has a reproduction rate of [10:10] in every Surface Pro 11 with intel
Expected behavior
The RT1320 Soundwire codec should be correctly matched and configured by the SOF/ASoc stack.
The system should expose the expected internal audio functions of playback through the RT1320 AMP/SmartAmp path for the speaker and capture through the RT1320 DMIC path for the microphone.
The appropiate Lunar Lake RT1320 topology sholud be selected (sof-lnl-rt1320-l0.tplg) and the SoundWIre peripheral should be correctly matched against its ACPI description, including the Soundwire class ID
The actual behaviour difers greately of what should happen
The RT1320 is phisically present on the SoundWire subsystem, but the expected audio configuration is not correctly created, making both devices not be correctly exposed through ALSA
Impact
The impact is high, mainly because it makes unuasble a key part of the system needed for task like video creation, gaming, consuming media, video conferences...
Environment
Everyting is at its latest version (30/08/2026)
- Branch name and commit hash of the 2 repositories: sof (firmware/topology) and linux (kernel driver).
- Kernel: linux 7.1.11.arch1-1
- SOF: sof-firmware 2025.12.2-1
- Name of the topology file
- Topology: sof-lnl-rt1320-l0.tplg
- Name of the platform(s) on which the bug is observed.
- Platform: Surface Pro 11 with intel lunar lake (any linux distribution)
Screenshots or console output
Microsoft Corporation
Surface Pro for Business 11th Edition with Intel
Linux archlinux 7.1.11-arch1-1 #1 SMP PREEMPT_DYNAMIC Fri, 28 Aug 2026 03:36:07 +0000 x86_64 GNU/Linux
00:05.0 Multimedia controller [0480]: Intel Corporation Core Ultra 200V Series Processors IPU [8086:645d] (rev 04)
Subsystem: Intel Corporation Device [8086:7270]
Kernel driver in use: intel-ipu7
Kernel modules: intel_ipu7
00:07.0 PCI bridge [0604]: Intel Corporation Core Ultra 200V Series Processors USB Type-C Subsystem PCIe Root Port #21 [8086:a84e] (rev 10)
Subsystem: Intel Corporation Device [8086:7270]
--
00:1f.3 Multimedia audio controller [0401]: Intel Corporation Core Ultra 200V Series Processors HD Audio [8086:a828] (rev 10)
Subsystem: Realtek Semiconductor Co., Ltd. Device [10ec:3070]
Kernel driver in use: sof-audio-pci-intel-lnl
Kernel modules: snd_sof_pci_intel_lnl, snd_hda_intel
00:1f.5 Serial bus controller [0c80]: Intel Corporation Core Ultra 200V Series Processors SPI (flash) Controller [8086:a823] (rev 10)
Subsystem: Intel Corporation Device [8086:7270]
Kernel driver in use: intel-spi
Kernel modules: spi_intel_pci
total 0
lrwxrwxrwx 1 root root 0 ago 30 10:23 sdw:0:0:025d:1320:00 -> ../../../devices/pci0000:00/0000:00:1f.3/soundwire_intel.link.0/sdw-master-0-0/sdw:0:0:025d:1320:00
lrwxrwxrwx 1 root root 0 ago 30 10:23 sdw:0:0:025d:1320:01 -> ../../../devices/pci0000:00/0000:00:1f.3/soundwire_intel.link.0/sdw-master-0-0/sdw:0:0:025d:1320:01
lrwxrwxrwx 1 root root 0 ago 30 10:23 sdw-master-0-0 -> ../../../devices/pci0000:00/0000:00:1f.3/soundwire_intel.link.0/sdw-master-0-0
[ 0.000000] DMI: Microsoft Corporation Surface Pro for Business 11th Edition with Intel/Surface Pro for Business 11th Edition with Intel, BIOS 1
[ 0.045345] software IO TLB: area num 8.
[ 0.570104] PCI-DMA: Using software bounce buffering for IO (SWIOTLB)
[ 0.570106] software IO TLB: mapped [mem 0x000000005d470000-0x0000000061470000] (64MB)
[ 5.854222] surface_gpe: no compatible Microsoft Surface device found, exiting
[ 5.865120] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[ 5.895936] input: Microsoft Surface POS Tablet Mode Switch as /devices/platform/MSHW0583:00/01:26:01:00:01/input/input14
[ 5.950095] hid-generic 0019:045E:0C96.0002: hidraw1: <UNKNOWN> HID v1.11 Device [Microsoft Surface 045E:0C96] on 01:15:01:07:00
[ 6.000742] hid-generic 0019:045E:0C9C.0003: hidraw2: <UNKNOWN> HID v1.11 Device [Microsoft Surface 045E:0C9C] on 01:15:01:06:00
[ 6.098620] hid-sensor-hub 0019:045E:0C9C.0003: hidraw2: <UNKNOWN> HID v1.11 Device [Microsoft Surface 045E:0C9C] on 01:15:01:06:00
[ 6.181940] input: Microsoft Surface 045E:09AE Keyboard as /devices/platform/MSHW0583:00/00:00:01:0e:00/01:15:02:01:00/0019:045E:09AE.0004/input/input26
[ 6.187657] hid-generic 0019:045E:09D3.0005: hidraw3: <UNKNOWN> HID v1.11 Device [Microsoft Surface 045E:09D3] on 01:15:02:05:00
[ 6.193553] input: Microsoft Surface 045E:09B0 Keyboard as /devices/platform/MSHW0583:00/00:00:01:0e:00/01:15:02:02:00/0019:045E:09B0.0006/input/input29
[ 6.204095] input: Microsoft Surface 045E:09AE as /devices/platform/MSHW0583:00/00:00:01:0e:00/01:15:02:01:00/0019:045E:09AE.0004/input/input27
[ 6.204194] input: Microsoft Surface 045E:09B0 as /devices/platform/MSHW0583:00/00:00:01:0e:00/01:15:02:02:00/0019:045E:09B0.0006/input/input30
[ 6.204209] input: Microsoft Surface 045E:09AE as /devices/platform/MSHW0583:00/00:00:01:0e:00/01:15:02:01:00/0019:045E:09AE.0004/input/input28
[ 6.204257] input: Microsoft Surface 045E:09B0 as /devices/platform/MSHW0583:00/00:00:01:0e:00/01:15:02:02:00/0019:045E:09B0.0006/input/input31
[ 6.204294] hid-generic 0019:045E:09AE.0004: input,hidraw4: <UNKNOWN> HID v1.11 Keyboard [Microsoft Surface 045E:09AE] on 01:15:02:01:00
[ 6.204341] hid-generic 0019:045E:09B0.0006: input,hidraw5: <UNKNOWN> HID v1.11 Keyboard [Microsoft Surface 045E:09B0] on 01:15:02:02:00
[ 6.208687] input: Microsoft Surface 045E:09AF Mouse as /devices/platform/MSHW0583:00/00:00:01:0e:00/01:15:02:03:00/0019:045E:09AF.0007/input/input32
[ 6.208885] input: Microsoft Surface 045E:09AF Touchpad as /devices/platform/MSHW0583:00/00:00:01:0e:00/01:15:02:03:00/0019:045E:09AF.0007/input/input33
[ 6.209179] input: Microsoft Surface 045E:09AF UNKNOWN as /devices/platform/MSHW0583:00/00:00:01:0e:00/01:15:02:03:00/0019:045E:09AF.0007/input/input34
[ 6.209273] input: Microsoft Surface 045E:09AF UNKNOWN as /devices/platform/MSHW0583:00/00:00:01:0e:00/01:15:02:03:00/0019:045E:09AF.0007/input/input35
[ 6.209365] hid-multitouch 0019:045E:09AF.0007: input,hidraw6: <UNKNOWN> HID v1.11 Mouse [Microsoft Surface 045E:09AF] on 01:15:02:03:00
[ 6.282770] sof-audio-pci-intel-lnl 0000:00:1f.3: SoundWire enabled on CannonLake+ platform, using SOF driver
[ 6.282796] sof-audio-pci-intel-lnl 0000:00:1f.3: enabling device (0000 -> 0002)
[ 6.282970] sof-audio-pci-intel-lnl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if 0x040100
[ 6.283114] sof-audio-pci-intel-lnl 0000:00:1f.3: bound 0000:00:02.0 (ops intel_audio_component_bind_ops [xe])
[ 6.290185] sof-audio-pci-intel-lnl 0000:00:1f.3: use msi interrupt mode
[ 6.322534] sof-audio-pci-intel-lnl 0000:00:1f.3: No SoundWire machine driver found for the ACPI-reported configuration:
[ 6.322540] sof-audio-pci-intel-lnl 0000:00:1f.3: link 0 mfg_id 0x025d part_id 0x1320 version 0x3
[ 6.322542] sof-audio-pci-intel-lnl 0000:00:1f.3: link 0 mfg_id 0x025d part_id 0x1320 version 0x3
[ 6.322548] sof-audio-pci-intel-lnl 0000:00:1f.3: Use SoundWire default machine driver with function topologies
[ 6.322549] sof-audio-pci-intel-lnl 0000:00:1f.3: hda codecs found, mask 4
[ 6.322551] sof-audio-pci-intel-lnl 0000:00:1f.3: NHLT device BT(0) detected, ssp_mask 0x4
[ 6.322552] sof-audio-pci-intel-lnl 0000:00:1f.3: BT link detected in NHLT tables: 0x4
[ 6.322554] sof-audio-pci-intel-lnl 0000:00:1f.3: DMICs detected in NHLT tables: 0
[ 6.324758] sof-audio-pci-intel-lnl 0000:00:1f.3: Firmware paths/files for ipc type 1:
[ 6.324761] sof-audio-pci-intel-lnl 0000:00:1f.3: Firmware file: intel/sof-ipc4/lnl/sof-lnl.ri
[ 6.324762] sof-audio-pci-intel-lnl 0000:00:1f.3: Firmware lib path: intel/sof-ipc4-lib/lnl
[ 6.324763] sof-audio-pci-intel-lnl 0000:00:1f.3: Topology file: function topologies
[ 6.325315] sof-audio-pci-intel-lnl 0000:00:1f.3: Loaded firmware library: ADSPFW, version: 2.14.1.1
[ 6.579670] sof-audio-pci-intel-lnl 0000:00:1f.3: Booted firmware version: 2.14.1.1
[ 6.599138] sysfs: cannot create duplicate filename '/devices/pci0000:00/0000:00:1f.3/sof_sdw/SDW0-Capture-SmartMic'
[ 6.599159] Hardware name: Microsoft Corporation Surface Pro for Business 11th Edition with Intel/Surface Pro for Business 11th Edition with Intel, BIOS 1
[ 6.599222] snd_soc_add_pcm_runtime+0x257/0x870 [snd_soc_core 941518b9df494ecfedcbc89b63273792936c9fa4]
[ 6.599259] snd_soc_bind_card+0x35a/0xd90 [snd_soc_core 941518b9df494ecfedcbc89b63273792936c9fa4]
[ 6.599274] snd_soc_register_card+0x184/0x1f0 [snd_soc_core 941518b9df494ecfedcbc89b63273792936c9fa4]
[ 6.599287] devm_snd_soc_register_card+0x58/0xb0 [snd_soc_core 941518b9df494ecfedcbc89b63273792936c9fa4]
[ 6.599304] mc_probe+0xb4b/0x14e0 [snd_soc_sof_sdw 4019302d3b7015e0d184ea42ecc4eebe907e203b]
[ 6.599331] ? __pfx_sof_sdw_driver_init+0x10/0x10 [snd_soc_sof_sdw 4019302d3b7015e0d184ea42ecc4eebe907e203b]
[ 6.599442] kobject: kobject_add_internal failed for SDW0-Capture-SmartMic with -EEXIST, don't try to register things with the same name in the same directory.
[ 6.600045] sof_sdw sof_sdw: probe with driver sof_sdw failed with error -12
--- no soundcards ---
aplay: device_list:279: no soundcards found...
arecord: device_list:279: no soundcards found...
Describe the bug
On Surface Pro 11 laptops with Intel Lunar Lake, the Realtek RT1320 Soundwire codec is enumerated by the system, but its audio functions are not correctly adapted through the SOF/ASoC stack
The affected RT1320 provides two audio functions: AMP/SmartAmp for the internal speakers and DMIC for the internal microphone
with the upstream kernel/SOF configuration, the RT1320 is not correctly configured for this platform, and the expected playback/capture paths are not created correctly
The issue seems to involve the interaction between: Intel Lunar Lake machine configuration, RT1320 codex/DAI configurationn, Soundwire slave matching, SOF topology selection and Surface Pro 11 Intel platform-specific configuration
A patch in the Linux Surface kernel tree fixes the issue by:
Reference patches, made by AndreGrilerson:
The described fix has been made from the 0017 patch, nevertheless, both patches sould do more or less the same
0017 sound patch
0027 sound patch
This developer also uploaded an alternative to the .patch with changes to files in sound/soc wich may be usefull to solve the problem
to diagnose or workaroud this issue i checked if the hardware was fisically enumerated (console output moved to its designated section).
The RT1320 is expected to be visible on the SoundWire bus, while the priblem occurs when the SoundWire/ASoC/SOF stack attempts to build the complete audio configuration.
Appliying one of the two patches solves the issue (the 0027 patch was applied to the same kernel running the issue, 7.1.11, solving the issue)
To Reproduce
Reproduction Rate
The issue has a reproduction rate of [10:10] in every Surface Pro 11 with intel
Expected behavior
The RT1320 Soundwire codec should be correctly matched and configured by the SOF/ASoc stack.
The system should expose the expected internal audio functions of playback through the RT1320 AMP/SmartAmp path for the speaker and capture through the RT1320 DMIC path for the microphone.
The appropiate Lunar Lake RT1320 topology sholud be selected (sof-lnl-rt1320-l0.tplg) and the SoundWIre peripheral should be correctly matched against its ACPI description, including the Soundwire class ID
The actual behaviour difers greately of what should happen
The RT1320 is phisically present on the SoundWire subsystem, but the expected audio configuration is not correctly created, making both devices not be correctly exposed through ALSA
Impact
The impact is high, mainly because it makes unuasble a key part of the system needed for task like video creation, gaming, consuming media, video conferences...
Environment
Everyting is at its latest version (30/08/2026)
Screenshots or console output