Jens Glathe [Mon, 17 Aug 2026 17:06:46 +0000 (19:06 +0200)]
ucm2: Qualcomm: add Lenovo IdeaCentre Mini 01Q8X10 support
Add UCM for the Lenovo IdeaCentre Mini 01Q8X10 (X1E80100, board
91B6). Hardware present on this card:
- WCD938x headphones + headset mic
- three DisplayPort backends
- no WSA speakers, no built-in mics
Match DMI with IdeaCentre.*Mini.*01Q8X10 and load
LENOVO-IdeaCentre-mini.conf / IdeaCentre-HiFi.conf. Card init only
includes WCD and RX-macro; WSA / WSA-macro init is omitted because
those codecs are not on the board.
Playback / capture mapping, aligned with the matching AudioReach
topology:
Headphones hw:${CardId},0 MM1 RX_CODEC_DMA_RX_0
Headset mic hw:${CardId},2 MM3 TX_CODEC_DMA_TX_3
HDMI0 hw:${CardId},4 MM5 DISPLAY_PORT_RX_0 DP0 Jack
HDMI1 hw:${CardId},5 MM6 DISPLAY_PORT_RX_1 DP1 Jack
HDMI2 hw:${CardId},6 MM7 DISPLAY_PORT_RX_2 DP2 Jack
Independent MM streams are a workaround for how ALSA UCM and
PipeWire / WirePlumber cooperate today. If headset and all three
DP ports share one frontend PCM (the T14s-style MM1 mixer switch):
- UCM must list them as ConflictingDevice
- WirePlumber instantiates one node per PCM, not per UCM device
- enabling a DP port tears down the headset path on that PCM
- jack events become profile switches rather than sink
appear / disappear
- concurrent playback to headset and a monitor is impossible
Giving each DP port its own frontend (MM5/6/7) makes each port a
real PCM. PipeWire can then create one sink per port, jack-gated
by DP0/DP1/DP2 Jack, while headphones stay on hw:*,0. The verb
EnableSequence arms all three DP mixers so unused ports still
show up as available sinks when their jack asserts.
Headphones do not conflict with the HDMI devices. HDMI0/1/2 are
still marked conflicting with each other only where a single
userspace stream must pick one monitor.
Priorities: Headphones/Headset 300, HDMI0 200, HDMI1 150, HDMI2
100, so a plugged headset wins over the first DP port.
Depends on the X1E80100-LENOVO-IdeaCentre-Mini topology change
in audioreach-topology. [1]
ucm2: Intel: avs_rt5663 - Fix headset mic JackControl name
The avs rt5663 board driver registers its headset mic jack pin as
"Headset Mic", so the jack control is "Headset Mic Jack". The profiles
named "Headset Mic", which doesn't exist: PipeWire logs
'Invalid JackControl value: "Headset Mic"' and headset mic detection
can't work.
Tested on a Google Pixelbook (Eve) with snd_soc_avs.obsolete_card_names=1:
the warning is gone and the Headphones, Headset Microphone and Digital
Microphone devices still come up. HP Soraka uses the same board driver.
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/866 Signed-off-by: Sergey Tiraspolsky <stiraspo@gmail.com> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Add an HDMI2 device for DISPLAY_PORT_RX_2 using MultiMedia7
with the "DP2 Jack" control.
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/870 Signed-off-by: Le Qi <le.qi@oss.qualcomm.com> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Dale Whinham [Mon, 31 Aug 2026 17:54:20 +0000 (18:54 +0100)]
ucm2: Qualcomm: x1e80100: add Microsoft Surface Pro 11
Enables two WSA8845 speakers, a two-microphone VA DMIC array, and two
DisplayPort/HDMI outputs via the USB-C ports.
Devicetree changes for DP/HDMI submitted here:
https://lore.kernel.org/lkml/20260831-surface-pro-11-dp-audio-v1-1-fb9c0d3216b7@gmail.com/
Tested on a Surface Pro 11 with a HDMI display attached via USB-C
adaptor. Switching between speaker and HDMI profiles works fine with
PipeWire.
However, the DisplayPort audio IP is powered off while no display is
attached, so PipeWire's probe of that PCM fails and the profile is
dropped. Displays must therefore be connected before PipeWire starts:
Niranjan H Y [Fri, 14 Aug 2026 10:21:47 +0000 (15:51 +0530)]
ucm2: sof-soundwire: add basic tac5572 support
Add support of ucm to tac5572 codec.
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/839 Signed-off-by: Niranjan H Y <niranjan.hy@ti.com> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Lynden Lewis [Wed, 26 Aug 2026 22:22:08 +0000 (18:22 -0400)]
ucm2: Intel: chtmax98090: also initialize volumes for Google Kip
Google Quawks (ASUS Chromebook C300) was previously the only platform properly
accounted for in terms of volume initialization, resulting in unacceptably low
volume on Kip (HP Chromebook 11 G4). Resolve this by converting the conditional
for Quawks into a RegexMatch, and include Kip in the regex pattern. Other
affected Bay Trail platforms can be added to the regex in the future as
verified.
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/842/ Signed-off-by: Lynden Lewis <lyndenl25@yahoo.com> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Expose two logical stereo USB playback pairs, two mono analogue inputs,
and a Direct use case for the raw 4-output/10-input stream.
The device firmware applies monitor-mix attenuation asymmetrically. Initialize
all four gains to unity on every boot or hotplug because the Direct use case
has no verb. Reapply unity when HiFi is selected. Support both the historical
Speaker Playback Volume name and the Monitor Mix Playback Volume name used
by the accepted kernel quirk.
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/836 Signed-off-by: willyp713 <mrwillporter@gmail.com> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
The "SSL 2+ Mk II" reports the same USB product ID (31e9:0009) as the
plain "SSL 2 Mk II", so the existing detection based on CardComponents
and bcdDevice cannot tell them apart. It has more physical I/O though:
6 playback channels and 8 capture channels, vs 4/4 for the plain model.
With the previous profile (DirectPlaybackChannels=4,
DirectCaptureChannels=4), WirePlumber rejects the whole card:
spa.alsa: Error in ALSA UCM profile for _ucm0003.hw:II,0 (HiFi: Line2: sink): PlaybackChannels=4 < avail 6
spa.alsa: Error in ALSA UCM profile for _ucm0003.hw:II,0 (HiFi: Mic2: source): CaptureChannels=4 < avail 8
spa.alsa: Errors in ALSA UCM profile for card SSL 2+ Mk II
...and it shows up as "SSL 2+ Mk II [ALSA UCM error]" in wpctl/sound
pickers built on PipeWire.
Disambiguate using the USB product string (which does carry the "+"),
read via sys-card the same way bcdDevice already is, and set the
correct channel counts for the confirmed "SSL 2+ Mk II" case.
The If.chn4 gate in SSL2-HiFi.conf that builds the split Line1/Line2
output devices only matched DirectPlaybackChannels == "4" exactly.
Broaden it to match "4" or "6" so the "+" Mk II also gets routed
through the existing channel-splitting macros (which already use the
variable dynamically and needed no other change).
Tested against real "SSL 2+ Mk II" hardware (USB ID 31e9:0009,
bcdDevice 0116, 6 playback / 8 capture channels per USB descriptors).
Before: card flagged with [ALSA UCM error], no usable output. After:
clean profile, Line1/Line2 both work as separate stereo outputs,
Mic1/Mic2 both work as separate mono inputs.
Not extended to the non-Mk-II "SSL 2+" since that hardware wasn't
available to verify its channel counts also come out to 6/8.
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/854 Signed-off-by: zachberger <zach@zberger.com> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Shuming Fan [Fri, 2 Oct 2026 05:56:12 +0000 (13:56 +0800)]
ucm2: rt712: add mic led support
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/864 Signed-off-by: Shuming Fan <shumingf@realtek.com> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
甜瓜果酒 [Fri, 9 Oct 2026 03:16:26 +0000 (11:16 +0800)]
sof-soundwire: use a single multicodec file for ES9356
Address review feedback: mark ES9356 as a multicodec codec and keep a single
codec file instead of separate per-function files.
- add es9356 to MultiCodecRegex and the MultiCodecInit probe list
- allow the optional "-spk" suffix in the MultiCodecInit speaker match, like
the microphone match already allows "-dmic"; this board reports
"spk:es9356-spk" for the amp function (plus the generic "spk:es9356"), so
without it SpeakerCodecFile stays "es9356-spk" and the single file is not
found
- es9356.conf now provides all roles (speaker, headset, internal DMIC)
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/869 Signed-off-by: Zachary Huang <zuzhenhuang365@gmail.com> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
so sof-soundwire resolves the device files to es9356-spk, es9356-dmic and
es9356. Those files do not exist, UCM loading fails, and WirePlumber falls
back to the "stereo-fallback" profile, which only exposes the first PCM of
the card (device 0, the headset output). Desktop audio is silent even
though the kernel side works.
Add the three device files, using the PCM layout of these boards: device 0
headset playback, device 1 headset capture, device 2 speaker playback,
device 4 internal DMIC capture.
Tested on a MECHREVO WUJIE 14SAH (Ryzen 7 H 255, ACP6.3 rev 63, ES9356 on
SoundWire link 0) with mainline 7.2.9: with these files Speaker, Headphones,
Internal Microphone and Headset Mic all appear in PipeWire and playback plus
recording work.
ucm2: Qualcomm: Add Acer Swift 14 AI (SF14-11) support
The Acer Swift 14 AI (SF14-11) is a Snapdragon X1P-64100 laptop whose audio
hardware matches the Lenovo Thinkpad T14s: two SoundWire WSA speakers, a
wcd938x headset codec and VA DMICs. Reuse the T14s configuration.
Note the machine reports board_vendor "SX1" rather than "Acer", giving a DMI
id of "SX1-Swift 14 AI-Bluetang_SX1".
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/820 Signed-off-by: Victorien Alric <vickdu31helpsite@gmail.com> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Zoran Zhan [Thu, 13 Aug 2026 06:25:29 +0000 (14:25 +0800)]
ucm2: MediaTek: mt8391-evk: Add DisplayPort output audio support
Add an HDMI device for DisplayPort output on hw:CardId,5, guarded by a
ControlExists condition on the 'DP Jack' control so it only shows up
when the DPTX back end is enabled in the device tree.
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/797 Signed-off-by: Zoran Zhan <zoran.zhan@mediatek.com> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Polyvox [Sat, 22 Aug 2026 14:10:51 +0000 (16:10 +0200)]
USB-Audio: add Steinberg UR44C profile
The UR44C exposes six playback and eight capture channels, while the
UR44 UCM profile defines only four playback and six capture channels.
This causes PipeWire and WirePlumber to reject the UCM profile.
Add a dedicated UR44C profile with split PCMs for its DAW Mix 1,
DAW Mix 2, and FX Bus playback pairs, plus its six direct and two
streaming capture channels.
Kim McCann [Sun, 28 Jun 2026 17:13:27 +0000 (10:13 -0700)]
USB-Audio/Focusrite: fix 18i20 gen1/gen2 digital capture input mapping
The 1st/2nd-gen Scarlett 18i20 expose 18 USB capture channels, laid out
as Analog 1-8 (ch 0-7), S/PDIF 1-2 (ch 8-9), ADAT 1-8 (ch 10-17). The
3rd/4th gen insert two extra channels at 8-9, shifting S/PDIF to 10-11
and ADAT to 12-19. The HiFi.conf only ever encoded the 20-channel layout
for the digital inputs.
A recent fix worked around the resulting out-of-range error on gen1/gen2
by shrinking the ADAT input to 6 channels (12-17), but that is incorrect:
gen1/gen2 still have all 8 ADAT inputs (they sit at 10-17), and their
S/PDIF inputs are at 8-9, not 10-11. The previous version therefore
dropped ADAT 7-8 and mislabelled ADAT 1-2 as S/PDIF.
Make the digital-input channel indices generation-aware via new
SpdifInCh*/AdatInCh* variables (default = 20-ch layout, overridden in the
gen1/gen2 blocks). Both layouts have 8 ADAT channels, so the conditional
channel-count split collapses back into a single Direct 2 device.
Verified on 1st-gen hardware (USB 1235:800c): the capture routing
(Input Source NN Capture Route) reports Analog 1-8 / S/PDIF 1-2 / ADAT
1-8 on channels 0-17, and the profile now parses without UCM errors.
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/798 Signed-off-by: Kim McCann <amplogik@gmail.com> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
ucm2: Qualcomm: x1e80100: T14s: add Microphone Mute LED
Add support for the Microphone Mute LED in the Keyboard's MicMute Key,
which is exposed by the lenovo-thinkpad-t14s EC driver that landed in
the 6.18 kernel and uses the "audio-micmute" trigger by default. This
works by creating a virtual capture switch and binding the LED to it.
Something similar should be done for the speaker mute LED, but I'm
not sure how that is supposed to look like. The Speaker Mute LED
automatically toggles when the Speaker Mute Key is pressed, so it
seems to work without explicit handling. But it can get out-of-sync,
if the mute status is modified in software without using the key.
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/822 Signed-off-by: Sebastian Reichel <sre@kernel.org> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Jaroslav Kysela [Mon, 14 Sep 2026 16:34:49 +0000 (18:34 +0200)]
ucm2: use locale-agnostic character classes in parsing regexes
Several UCM configuration regexes parse CardComponents using POSIX
bracket *ranges* such as "[a-z0-9]", "[a-z0-9-]" and "[0-9a-f]".
Range expressions are locale sensitive: the set of characters covered
by "x-y" depends on the current collation order (LC_COLLATE), not on
code points.
Under the Turkish locale (tr_TR.UTF-8) the dotless/dotted 'i' handling
reorders the collation sequence, so "[a-z]" no longer matches every
lowercase ASCII letter. As a result the "mic:...-dmic" component in
sof-soundwire.conf is truncated (e.g. to "dm"), ALSA then tries to open
a non-existent "dm.conf" and the whole UCM import for the SoundWire card
aborts, leaving the user with a dummy-only audio profile (no speaker,
no microphone).
Fix the whole tree by switching to POSIX character classes, which are
defined by character classification instead of collation order and thus
match the intended ASCII set regardless of the active locale:
[[:xdigit:]] is used for the USB vendor/device IDs because it matches
exactly the hexadecimal digits (and, unlike [[:digit:]], stays
restricted to ASCII in glibc). Pure digit ranges such as "[0-9]" are
left untouched: digits do not collation-reorder and the range already
matches only ASCII digits.
Fixes: https://github.com/alsa-project/alsa-ucm-conf/issues/824 Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Jaroslav Kysela [Mon, 14 Sep 2026 15:08:46 +0000 (17:08 +0200)]
sof-soundwire: rework configurations for speaker amplifiers
Derive SpeakerAmp1 from the "spk:<codec>+<amp>" component and let each
codec config handle the amplifier variant, instead of maintaining
dedicated combined files. Normalize the reverse cs35l56+cs42l43-spk
ordering and drop the now-redundant combined files and symlinks.
Anton Soinikov [Fri, 17 Jul 2026 04:58:31 +0000 (06:58 +0200)]
USB-Audio: ALC4080: Add MSI MEG Z890 ACE
Add USB ID 0db0:f70b so the front panel headphones and
microphone are routed correctly.
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/811 Signed-off-by: Anton Soinikov <tosoyn@gmail.com> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
USB-Audio: ALC4080: Update NVIDIA DGX front mic jack name
The ALC4080 codec in NVIDIA DGX exposes the front microphone as the
dedicated "Front Mic - Input Jack" terminal. Use this terminal instead
of the indexed "Mic - Input Jack",index=1 control, which PipeWire
rejects and therefore cannot use to track front-mic availability.
This patch redefines Mic1 according to the codec firmware with the
front mic's terminal name.
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/821 Signed-off-by: Derek Fang <derek.fang@realtek.com> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Tomcatt [Sun, 14 Jun 2026 14:16:54 +0000 (23:16 +0900)]
USB-Audio: ALC4082 - add MSI MEG X870E GODLIKE (0db0:e5c3)
The MSI MEG X870E GODLIKE (MS-7E48) uses the Realtek ALC4082 codec
presented as a USB Audio class device (VID:PID 0db0:e5c3).
Add the device to the ALC4080 profile match in USB-Audio.conf.
Also add it to the spdif_dev2 condition in ALC4080-HiFi.conf: the
optical S/PDIF output on this board is on ALSA sub-device 2
(Interface 6, Endpoint 8 OUT) rather than the default sub-device 3.
Without this fix, the iec958-stereo ACP profile produces valid S/PDIF
framing that causes the receiver to lock on, but the PCM payload is
silent. Confirmed working with sub-device 2 on kernel 7.0.12.
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/789 Signed-off-by: Tomcatt <bluecheese@reagan.com> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Jaroslav Kysela [Wed, 1 Jul 2026 14:15:24 +0000 (16:15 +0200)]
HDA: introduce HDA and NoACP open arguments
For debugging purposes, it is useful to force a UCM configuration
for all HDA configurations. Note that these arguments are not supposed
to be used as part of the stable UCM API; they are solely for debugging.
Charles Keepax [Thu, 4 Jun 2026 10:40:16 +0000 (11:40 +0100)]
sof-soundwire: Add missing conditional for cs42l43 bridge
When adding support for cs42l43 systems without headphones updating the
bridge configuration was missed. Add the missing conditional guard on
the ConflictingDevice which would fail in systems without headphones.
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/778 Fixes: 7585f5e9671a ("ucm2: sof-soundwire: cs42l43: support UAJ-less configuration") Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Charles Keepax [Thu, 4 Jun 2026 08:35:00 +0000 (09:35 +0100)]
sof-soundwire: Correct the PCM device for cs35l56 bridge speakers
In the case the speaker amps are connected through the codec the current
routing is hijacking the headphone PCM device and using that. It would
be better to use the dedicated speaker PCM device. Update the PCM and
the routing to match.
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/778 Fixes: e4277a204cd6 ("sof-soundwire: Add support for cs42l43/cs35l56 bridge configuration") Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Jaroslav Kysela [Thu, 4 Jun 2026 13:26:57 +0000 (15:26 +0200)]
sof-soundwire: cleanups for codecs with multiple functions
The load mechanism assumed only one multi-codec in the system, but
we saw in #774 multiple instances of those codecs (rt1320 and rt713).
Make the load mechanism straight:
- introduce file variables
- remove shadow variables
- probe multi-codecs separately and modify the file variables
- test for duplicate file inclusion (in both sof-soundwire / HiFi configs)
- merge dmic configs for rt712,rt713 to one file
This change also improves filters for speaker/headset/mic init includes.
Dan Kovacek [Thu, 9 Apr 2026 01:28:53 +0000 (18:28 -0700)]
sof-soundwire: rt711-sdca: add Headset Mic Switch to Headset sequences
No sound captured in headset mic through jack on Dell Precision 5480, Ubuntu 24.04.4 LTS kernel version 6.17.0-20-generic
Headset Mic Switch is a DAPM gate that must be enabled to connect the
headset microphone input to the SoundWire capture pipeline. Without it
the mic path is powered down regardless of the FU0F Capture Switch state,
producing silence.
Add Headset Mic Switch on/off to Enable/DisableSequence, matching the
pattern already used for Headphone Switch in the Headphones device.
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/740 Signed-off-by: D Kovacek <dankovacek@gmail.com> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Dan Kovacek [Thu, 9 Apr 2026 01:27:04 +0000 (18:27 -0700)]
sof-soundwire: rt711-sdca: set PGA30.0 volume in BootSequence
No sound from headphone jack on Dell Precision 5480, Ubuntu 24.04.4 LTS kernel version 6.17.0-20-generic
The SOF DSP pipeline volume PGA30.0 (pipeline 30, PCM device 0) defaults
to 0 at boot, which the dBscale treats as a hardware mute. The DAPM chain
is active and audio flows on the SoundWire bus, but the pipeline passes
silence into the codec.
Set PGA30.0 30 Playback Volume to 32,32 (0 dB) so the pipeline is not
muted when headphones are enabled. Software volume is applied on top by
PipeWire/PulseAudio independently.
Tested on Dell Precision 5480 (Intel Raptor Lake-P, rt711-sdca on
SoundWire master-0-2).
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/740 Signed-off-by: D Kovacek <dankovacek@gmail.com> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
ucm2: Qualcomm: fix device ids for surface pro 12in
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/768 Signed-off-by: Harrison Vanderbyl <harrison.vanderbyl@gmail.com> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Leonardo Costa [Mon, 11 May 2026 18:34:48 +0000 (15:34 -0300)]
ucm2: Toradex: apalis-imx8: Set default values for input and output devices
Add EnableSequence/DisableSequence entries for the Mic input device. Align
BootSequence with other Toradex NXP module configurations. Remove Lineout
from the BootSequence, as the codec Lineout output pin is not connected on
the Apalis iMX8.
Previously uninitialized configurations were set unpredictably at boot, causing
high-noise input/output behavior. Set these configs explicitly to ensure the
sound card starts in a known working state.
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/761 Signed-off-by: Leonardo Costa <leonardo.costa@toradex.com> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Leonardo Costa [Mon, 11 May 2026 18:27:22 +0000 (15:27 -0300)]
ucm2: Toradex: apalis-imx8: Fix symlink name and path configuration
Rename apalis-imx8.conf symlink to apalis-imx8qm.conf, which matches the
sound card name for both Apalis iMX8 QuadMax and QuadPlus variants. Also fix
file path set in SectionUseCase to point to the correct HiFi.conf location.
Fixes: b8de123ae08f ("ucm2: NXP: iMX8: Toradex: apalis-imx8: Add support for") Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/761 Signed-off-by: Leonardo Costa <leonardo.costa@toradex.com> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Ali Alaei [Sun, 24 May 2026 14:06:57 +0000 (16:06 +0200)]
HDA/HiFi-analog.conf: skip Line2 ConflictingDevice when loctl is empty (Line1 not created)
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/764 Signed-off-by: Ali Alaei <ali.alaei.tabatabaei@gmail.com> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
In some systems cs42l43-spk and cs35l56 can be used simultaneously to
drive seprate speakers (e.g. tweeters and woofers), add a configuration
to support that.
Aaron Ma [Thu, 23 Apr 2026 05:00:50 +0000 (13:00 +0800)]
ucm2: rt722: add speaker mute LED and PlaybackSwitch for FU06
Attach rt722 FU06 Playback Switch to the speaker mute LED via SetLED
in init.conf, and declare PlaybackSwitch in the Speaker device so
PipeWire can toggle hardware mute.
ucm2: Qualcomm: Add HONOR MagicBook Art 14 support
Works with the same topology as CRD device.
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/755 Signed-off-by: Konstantin Shabanov <mail@etehtsea.me> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Align UCM with the topology change that added dedicated multimedia
frontends for DisplayPort (commit c8d6762 "ASoC: qcom:
x1e80100-LENOVO-Thinkpad-T14s: add dedicated multimedia frontend for
DisplayPort").
- SectionVerb EnableSequence: enable DISPLAY_PORT_RX_0/1/2 on
MultiMedia5/6/7 (remove the old MultiMedia1 "0" settings).
- Headphones: disable the DP mixers on the new dedicated streams.
- HDMI0/1/2 devices: route each DISPLAY_PORT_RX_* to its own
MultiMedia frontend, use dedicated PlaybackPCM "hw:${CardId},4/5/6",
add explicit PlaybackChannels 2, and keep the existing JackControl.
This gives independent DP audio streams and matches the new topology.
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/754 Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
This patch adds configs for rt1320 dmic function.
It defines the MicMixerElem, a remapped control for the two rt1320-dmic
case, and also attaches rt1320 FU capture controls to the mic LED.
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/743 Signed-off-by: derek fang <derek.fang@realtek.com> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Declare the maximum four HDMI/DisplayPort outputs (PCM devices 3, 7,
8 and 9) so PipeWire can see every available port. The HDMI macro's
built-in ControlExists check ensures devices are only created when the
corresponding jack control exists, so SoCs with fewer outputs are
unaffected.
ucm2: Qualcomm: Create missing symlink for Radxa Dragon Q6A
The long card name set by the Linux kernel is based on the DMI information
for the vendor name, product name and board revision. Create a symlink so
that the configuration is correctly picked up by ALSA if DMI is enabled
in the kernel.
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/736 Signed-off-by: Aelin Reidel <aelin@mainlining.org> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Maciej Strozek [Mon, 6 Apr 2026 12:59:39 +0000 (13:59 +0100)]
ucm2: sof-soundwire: cs42l43: support UAJ-less configuration
In some cases cs42l43/cs42l43b devices can be set up without UAJ. In
this case, guard the ConflictingDevices behind a check for a cs42l43's
headset's presence so the UCM can still load even if the headset is
missing.
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/738 Signed-off-by: Maciej Strozek <mstrozek@opensource.cirrus.com> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Edward Matijevic [Mon, 30 Mar 2026 16:49:47 +0000 (11:49 -0500)]
USB-Audio: Add Audient EVO4
This is a 4in/4out device with 1 analog stereo out and 2 analog mono in.
The hardware mixed loopback interface takes up the remaining 4 channels.
Without this UCM the device is configured as 4.0 surround for in and out.
I copied the Windows config except for the stereo mic mix.
Modifying hardware volumes/gain other than main output seems to require
a driver or external software similar to the one found on github at the
repo github.com/vijay-prema/audient-evo-linux-tools
Closes: #303 Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/708 Signed-off-by: Edward Matijevic <motolav@gmail.com> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Valentin David [Fri, 2 Jan 2026 12:19:48 +0000 (13:19 +0100)]
Add UCM2 configuration for M-Audio Fast Track Ultra
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/672 Signed-off-by: Valentin David <me@valentindavid.com> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
sof-hda-dsp: add workaround for speaker LED on MSI laptops
Fixes: Master Playback Switch doesn't get attached to the Mute LED
on these two platforms. This change adresses this issue.
Also fixes 0915b27a which accidentally broke dell workaround.
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/716 Fixes: 0915b27 ("ucm2: use new SetLED macro to hide the implementation details") Signed-off-by: Federico Lombardo <lombardo.federico.lf@gmail.com> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Jaroslav Kysela [Mon, 30 Mar 2026 13:43:12 +0000 (15:43 +0200)]
github: add GitHub label automation and SOB validation workflows
This commit introduces a complete automation system for GitHub repositories
that provides automatic label-based commenting and Signed-off-by validation.
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com> Signed-off-by: Jaroslav Kysela <perex@perex.cz>