]> git.alsa-project.org Git - alsa-ucm-conf.git/log
alsa-ucm-conf.git
2 weeks agoucm2: Qualcomm: add Lenovo IdeaCentre Mini 01Q8X10 support
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]

[1]: https://github.com/linux-msm/audioreach-topology/pull/74

Assisted-by: Grok 4.5 (xAI)
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/843
Reviewed-by: Srinivas Kandagatla <srini@kernel.org>
Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2 weeks agoucm2: Intel: avs_rt5663 - Fix headset mic JackControl name
Sergey Tiraspolsky [Fri, 2 Oct 2026 23:38:42 +0000 (16:38 -0700)]
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.

Same fix as 02f4fb7 for avs_nau8825.

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>
2 weeks agoucm2: Qualcomm: open up HP Omnibook support
Jens Glathe [Wed, 23 Sep 2026 05:03:10 +0000 (07:03 +0200)]
ucm2: Qualcomm: open up HP Omnibook support

It was specified for Omnibook X, but apparently all Omnibook aarch64 models
use the same config. That would include Omnibook 5, 3, the g1 models.

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/860
Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2 weeks agoucm2: Qualcomm: x1e80100: add DisplayPort 2 playback
Le Qi [Fri, 9 Oct 2026 04:48:49 +0000 (12:48 +0800)]
ucm2: Qualcomm: x1e80100: add DisplayPort 2 playback

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>
2 weeks agoucm2: Qualcomm: x1e80100: add Microsoft Surface Pro 11
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:

https://lore.kernel.org/all/76b8ca1d-040b-472e-9804-5c0c0100b5b5@oss.qualcomm.com/

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/847
Signed-off-by: Dale Whinham <daleyo@gmail.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2 weeks agoUSB-Audio/EVO4: correct naming scheme for Master Playback
fazzi [Tue, 29 Sep 2026 14:30:04 +0000 (15:30 +0100)]
USB-Audio/EVO4: correct naming scheme for Master Playback

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/861
Signed-off-by: Faaris Ansari <faaris.ansari@proton.me>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2 weeks agoucm2: sof-soundwire: add basic tac5572 support
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>
2 weeks agoucm2: Intel: chtmax98090: also initialize volumes for Google Kip
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>
2 weeks agoUSB-Audio: Add Audient iD14 MkI profile (2708:0002)
willyp713 [Sun, 23 Aug 2026 18:59:46 +0000 (13:59 -0500)]
USB-Audio: Add Audient iD14 MkI profile (2708:0002)

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>
2 weeks agoUSB-Audio: fix channel count for SSL 2+ Mk II
zachberger [Sat, 12 Sep 2026 19:23:24 +0000 (12:23 -0700)]
USB-Audio: fix channel count for SSL 2+ Mk II

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>
2 weeks agoucm2: rt712: add mic led support
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>
2 weeks agoucm2: Qualcomm: Add Asus Zenbook A14 (UX3407NA)
Bjorn Andersson [Tue, 15 Sep 2026 20:24:58 +0000 (15:24 -0500)]
ucm2: Qualcomm: Add Asus Zenbook A14 (UX3407NA)

The Asus Zenbook A14 (UX3407NA) is a Qualcomm Glymur-based laptop
featuring:

- 2 speakers
- 2 DMICs
- 3 HDMI/DP ports
- Headphone jack

Add support for speakers and DMICs for now, as work is still pending for
the others.

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/858
Signed-off-by: Bjorn Andersson <bjorn.andersson@oss.qualcomm.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2 weeks agosof-soundwire: drop the per-function ES9356 files
甜瓜果酒 [Fri, 9 Oct 2026 03:25:11 +0000 (11:25 +0800)]
sof-soundwire: drop the per-function ES9356 files

The single es9356.conf now provides the speaker, headset and DMIC devices.

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>
2 weeks agosof-soundwire: drop the per-function ES9356 files
甜瓜果酒 [Fri, 9 Oct 2026 03:23:53 +0000 (11:23 +0800)]
sof-soundwire: drop the per-function ES9356 files

The single es9356.conf now provides the speaker, headset and DMIC devices.

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>
2 weeks agoucm2: add ES9356 codec init file
甜瓜果酒 [Fri, 9 Oct 2026 03:22:04 +0000 (11:22 +0800)]
ucm2: add ES9356 codec init file

The multicodec codecs are probed for /codecs/<id>/init.conf, so provide it
for es9356.

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>
2 weeks agosof-soundwire: use a single multicodec file for ES9356
甜瓜果酒 [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>
2 weeks agosof-soundwire: add ES9356 device files
甜瓜果酒 [Thu, 8 Oct 2026 11:27:42 +0000 (19:27 +0800)]
sof-soundwire: add ES9356 device files

Boards using the Everest Semiconductor ES9356 SDCA codec (for example the
MECHREVO WUJIE 14SAH with AMD ACP6.3) report the component string

    cfg-amp:1 hs:es9356 mic:es9356-dmic spk:es9356-spk spk:es9356

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.

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/869
Link: https://bugzilla.kernel.org/show_bug.cgi?id=222092
Link: https://lore.kernel.org/linux-sound/20261007193038.2473068-1-mario.limonciello@amd.com/
Link: https://lore.kernel.org/linux-sound/179145019931.16888.9682263186729943710@gmail.com/
Signed-off-by: Zachary Huang <zuzhenhuang365@gmail.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2 weeks agoucm2: USB-Audio: Add RODECaster Duo UCM2 configuration
Malte Linke [Mon, 29 Jun 2026 01:49:38 +0000 (03:49 +0200)]
ucm2: USB-Audio: Add RODECaster Duo UCM2 configuration

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/809
Signed-off-by: Malte Linke <me@parzival.space>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2 weeks agoucm2: Qualcomm: shikra: Add Shikra EVK HiFi conf
Mohammad Rafi Shaik [Thu, 23 Jul 2026 05:53:16 +0000 (11:23 +0530)]
ucm2: Qualcomm: shikra: Add Shikra EVK HiFi conf

Add UCM2 configs for the Shikra EVK boards.

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/817
Signed-off-by: Mohammad Rafi Shaik <mohammad.rafi.shaik@oss.qualcomm.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2 weeks agoucm2: USB-Audio: Add BridgeCast-X USB1 Support
dasfuu [Sun, 21 Jun 2026 16:02:39 +0000 (18:02 +0200)]
ucm2: USB-Audio: Add BridgeCast-X USB1 Support

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/724
Signed-off-by: dasfuu <gitfuu@proton.me>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2 weeks agoucm2: Qualcomm: Add Acer Swift 14 AI (SF14-11) support
Victorien Alric [Tue, 28 Jul 2026 11:16:55 +0000 (14:16 +0300)]
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>
2 weeks agoucm2: MediaTek: mt8391-evk: Add DisplayPort output audio support
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>
2 weeks agoucm2: MediaTek: mt8391-evk: Fix channels and add volume controls
Zoran Zhan [Thu, 25 Jun 2026 06:54:31 +0000 (14:54 +0800)]
ucm2: MediaTek: mt8391-evk: Fix channels and add volume controls

Set Speaker to stereo and add PlaybackVolume/CaptureVolume controls
for Speaker, Headphones, Headset and Mic1.

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>
2 weeks agoUSB-Audio: add Steinberg UR44C profile
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.

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/835
Fixes: https://github.com/alsa-project/alsa-ucm-conf/issues/799
Signed-off-by: Polyvox <obsidianzero@gmail.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2 weeks agoUSB-Audio/Focusrite: fix 18i20 gen1/gen2 digital capture input mapping
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>
2 weeks agoucm2: Qualcomm: x1e80100: T14s: add Microphone Mute LED
Sebastian Reichel [Mon, 3 Nov 2025 01:55:29 +0000 (02:55 +0100)]
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>
6 weeks agoucm2: use locale-agnostic character classes in parsing regexes
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:

  - sof-soundwire.conf: "[a-z0-9]" -> "[[:alnum:]]",
                        "[a-z0-9-]" -> "[[:alnum:]-]"
  - USB-Audio.conf:     "[0-9a-f]" -> "[[:xdigit:]]"

[[: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>
6 weeks agosof-soundwire: rework configurations for speaker amplifiers
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.

Link: https://github.com/alsa-project/alsa-ucm-conf/pull/852
Link: https://github.com/alsa-project/alsa-ucm-conf/pull/855
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
6 weeks agosof-soundwire: move cs42l43-spk+cs35l56 combatibility condition before File assignment
Jaroslav Kysela [Mon, 14 Sep 2026 14:46:22 +0000 (16:46 +0200)]
sof-soundwire: move cs42l43-spk+cs35l56 combatibility condition before File assignment

"Patches" should go before any other operation.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2 months agoUSB-Audio: add Creative Sound Blaster G8 support
Romain Pereira [Tue, 9 Jun 2026 13:51:06 +0000 (15:51 +0200)]
USB-Audio: add Creative Sound Blaster G8 support

Fixes: https://github.com/alsa-project/alsa-ucm-conf/pull/771
Signed-off-by: Romain Pereira <romanito1.rp@gmail.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2 months agoucm2: Qualcomm: x1e80100: add HDMI/DisplayPort playback
Le Qi [Thu, 18 Jun 2026 06:26:48 +0000 (14:26 +0800)]
ucm2: Qualcomm: x1e80100: add HDMI/DisplayPort playback

Add two DisplayPort playback devices using different frontends
MultiMedia5 and MultiMedia6.

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/794
Reviewed-by: Srinivas Kandagatla <srini@kernel.org>
Signed-off-by: Le Qi <le.qi@oss.qualcomm.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2 months agort721: enable capture switches by default
BEN SHARIR [Mon, 6 Jul 2026 14:21:28 +0000 (21:21 +0700)]
rt721: enable capture switches by default

Enable FU0F and FU1E capture switches in the RT721 init sequence.
Without these, DMIC and headset microphone capture is muted by default.

This matches the behavior of rt712 and rt713 codecs which both enable
their capture switches in init.conf.

Tested on ASUS ProArt PX13 (AMD ACP70 SoundWire + RT721 codec).

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/806
Fixes: https://github.com/alsa-project/alsa-ucm-conf/issues/805
Signed-off-by: BEN SHARIR <ben@droidox.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2 months agoucm2: rt712 - use 'Headphone Switch' only when available
Jaroslav Kysela [Fri, 21 Aug 2026 08:02:44 +0000 (10:02 +0200)]
ucm2: rt712 - use 'Headphone Switch' only when available

Fixes: https://github.com/alsa-project/alsa-ucm-conf/issues/825
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2 months agoucm2: sof-soundwire: Add tas2783 support
Baojun Xu [Fri, 17 Jul 2026 08:34:02 +0000 (16:34 +0800)]
ucm2: sof-soundwire: Add tas2783 support

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/812
Signed-off-by: Baojun Xu <baojun.xu@ti.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2 months agoUSB-Audio: ALC4080: Add MSI MEG Z890 ACE
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>
2 months agoUSB-Audio: ALC4080: Update NVIDIA DGX front mic jack name
Derek Fang [Thu, 23 Jul 2026 06:56:00 +0000 (14:56 +0800)]
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>
2 months agoALSA: hda: mic: fix HDAMicEnum macro
Jaroslav Kysela [Mon, 3 Aug 2026 10:45:57 +0000 (12:45 +0200)]
ALSA: hda: mic: fix HDAMicEnum macro

Expose devices only for existing enums in the source control.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2 months agoucm2: Arduino Monza: add display port audio
Srinivas Kandagatla [Fri, 22 May 2026 09:52:34 +0000 (09:52 +0000)]
ucm2: Arduino Monza: add display port audio

Enable Display port audio on Arduino VENTUNO-Q board.

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/793
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@oss.qualcomm.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2 months agoucm2: Qualcomm: add Lenovo Yoga Slim7x Gen11 support
Srinivas Kandagatla [Tue, 2 Jun 2026 06:29:59 +0000 (06:29 +0000)]
ucm2: Qualcomm: add Lenovo Yoga Slim7x Gen11 support

Yoga Slim 7x Gen 11 supports:
- 4 speakers
- 4 dmics
- Display ports

This patch adds support to Speaker and DMIC's for now.

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/787
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@oss.qualcomm.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2 months agoAdd DCO.txt file (Developer Certificate of Origin v1.1)
Jaroslav Kysela [Mon, 3 Aug 2026 09:29:42 +0000 (11:29 +0200)]
Add DCO.txt file (Developer Certificate of Origin v1.1)

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2 months agoUSB-Audio: ALC4082 - add MSI MEG X870E GODLIKE (0db0:e5c3)
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>
3 months agoALSA: hda: mic: add initial support for driver source auto-switching
Jaroslav Kysela [Wed, 1 Jul 2026 14:41:23 +0000 (16:41 +0200)]
ALSA: hda: mic: add initial support for driver source auto-switching

Use boost volume controls to detect this case.

Link: https://github.com/alsa-project/alsa-ucm-conf/pull/792
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
3 months agoHDA: introduce HDA and NoACP open arguments
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.

Example:

alsaucm -c "<<<HDA=1,NoACP=1>>>hw:0" dump text

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
3 months agoHDA: use device labels
Jaroslav Kysela [Tue, 13 Jan 2026 15:41:35 +0000 (16:41 +0100)]
HDA: use device labels

This is huge cleanup using new device labels in 'Syntax 8' to remove
a lot of conditions. The future extensions will be simplier.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
4 months agoRevert "ucm2: Qualcomm: x1e80100: T14s-HiFi: switch DP outputs to dedicated MultiMedi...
Jens Glathe [Wed, 3 Jun 2026 08:07:24 +0000 (10:07 +0200)]
Revert "ucm2: Qualcomm: x1e80100: T14s-HiFi: switch DP outputs to dedicated MultiMedia5/6/7 streams"

This reverts commit d4989eb50890509dd65c1528fcdbfb7fefc8487b.

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/772
Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
4 months agoRevert "ucm2: Qualcomm: x1e80100: T14s-HiFi: remove duplicate DP Jack names"
Jens Glathe [Wed, 3 Jun 2026 08:07:08 +0000 (10:07 +0200)]
Revert "ucm2: Qualcomm: x1e80100: T14s-HiFi: remove duplicate DP Jack names"

This reverts commit e6565e60f5da79a77128180fe95f6e3074c56c26.

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/772
Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
4 months agoUSB-Audio: M-Audio Fast Track Ultra pcm split fix
Jaroslav Kysela [Tue, 9 Jun 2026 10:38:16 +0000 (12:38 +0200)]
USB-Audio: M-Audio Fast Track Ultra pcm split fix

The defined mono/stereo devices must contain correct number of channels.

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/783
Fixes: 27d3b45 ("Add UCM2 configuration for M-Audio Fast Track Ultra")
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
4 months agosof-soundwire: Add missing conditional for cs42l43 bridge
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>
4 months agosof-soundwire: Correct the PCM device for cs35l56 bridge speakers
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>
4 months agosof-soundwire: cleanups for codecs with multiple functions
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.

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/775
Link: https://github.com/alsa-project/alsa-ucm-conf/issues/774
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
4 months agoHDA: mic - use MicJackControl variable also for devices without input selector
Jaroslav Kysela [Fri, 5 Jun 2026 15:31:37 +0000 (17:31 +0200)]
HDA: mic - use MicJackControl variable also for devices without input selector

Fixes: https://github.com/alsa-project/alsa-ucm-conf/issues/777
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
4 months agoALC4080: fix spdif_nodev default condition
Jaroslav Kysela [Thu, 4 Jun 2026 12:48:02 +0000 (14:48 +0200)]
ALC4080: fix spdif_nodev default condition

Fix the thinko. The device layout is like:

  device: 0
  name: USB Audio
  subname: subdevice #0
  ...
  device: 3
  name: USB Audio #3
  subname: subdevice #0

Fixes: https://github.com/alsa-project/alsa-ucm-conf/issues/773
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
4 months agoRelease v1.2.16 v1.2.16
Jaroslav Kysela [Mon, 1 Jun 2026 08:04:27 +0000 (10:04 +0200)]
Release v1.2.16

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
4 months agosof-soundwire: rt711-sdca: add Headset Mic Switch to Headset sequences
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>
4 months agosof-soundwire: rt711-sdca: set PGA30.0 volume in BootSequence
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>
5 months agoHDA: move speaker config to HiFi-spk.conf file
Jaroslav Kysela [Wed, 27 May 2026 11:31:57 +0000 (13:31 +0200)]
HDA: move speaker config to HiFi-spk.conf file

No functional change.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
5 months agoucm2: Qualcomm: fix device ids for surface pro 12in
Harrison Vanderbyl [Wed, 27 May 2026 02:21:47 +0000 (12:21 +1000)]
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>
5 months agoucm2: MediaTek: mt8366-evk: Add alsa-ucm support
Zoran Zhan [Mon, 25 May 2026 05:35:21 +0000 (13:35 +0800)]
ucm2: MediaTek: mt8366-evk: Add alsa-ucm support

Add alsa-ucm support for the MediaTek mt8366-evk platform.

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/765
Signed-off-by: Zoran Zhan <zoran.zhan@mediatek.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
5 months agoucm2: Toradex: apalis-imx8: Set default values for input and output devices
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>
5 months agoucm2: Toradex: apalis-imx8: Fix symlink name and path configuration
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>
5 months agoHDA/HiFi-analog.conf: skip Line2 ConflictingDevice when loctl is empty (Line1 not...
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>
5 months agoUSB-Audio: ALC4080: Add support for ASUS Pro ET900N G3 - Station GB300 platform
Kenny4_Lin [Thu, 7 May 2026 08:37:37 +0000 (08:37 +0000)]
USB-Audio: ALC4080: Add support for ASUS Pro ET900N G3 - Station GB300 platform

This enables:
- Front panel line out
- Front panel mic in

Fix front panel audio routing and PCM settings.

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/757
Signed-off-by: Kenny4_Lin <Kenny4_Lin@asus.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
5 months agoucm2: sof-soundwire: add Mic LED control for ACP PDM DMIC
Jaroslav Kysela [Wed, 6 May 2026 16:12:47 +0000 (18:12 +0200)]
ucm2: sof-soundwire: add Mic LED control for ACP PDM DMIC

Like for SOF HDA, add software defined Mic LED switch control with
Mic LED bindings.

Fixes: https://github.com/alsa-project/alsa-ucm-conf/issues/752
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
5 months agoucm2: sof-soundwire: add combined cs42l43-spk+cs35l56 config
Maciej Strozek [Wed, 15 Apr 2026 12:47:06 +0000 (13:47 +0100)]
ucm2: sof-soundwire: add combined cs42l43-spk+cs35l56 config

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.

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/748
Link: https://lore.kernel.org/all/20260417144529.2385360-1-mstrozek@opensource.cirrus.com/
Signed-off-by: Maciej Strozek <mstrozek@opensource.cirrus.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
5 months agoucm2: sof-soundwire: cs42l43: Separate init handling of speaker and headset
Maciej Strozek [Wed, 15 Apr 2026 12:26:17 +0000 (13:26 +0100)]
ucm2: sof-soundwire: cs42l43: Separate init handling of speaker and headset

Since cs42l43 can be used without UAJ, make sure the speakers can be
initialised separately. Complements [1] and add a possible speaker mute
LED bind.

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/748
Link: 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>
5 months agoucm2: rt722: add speaker mute LED and PlaybackSwitch for FU06
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.

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/753
Link: https://lore.kernel.org/linux-sound/20260423101338.1040131-1-aaron.ma@canonical.com/
Signed-off-by: Aaron Ma <aaron.ma@canonical.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
5 months agoucm2: Qualcomm: Add HONOR MagicBook Art 14 support
Konstantin Shabanov [Mon, 27 Apr 2026 11:38:23 +0000 (18:38 +0700)]
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>
5 months agoucm2: Qualcomm: x1e80100: T14s-HiFi: remove duplicate DP Jack names
Jens Glathe [Thu, 30 Apr 2026 05:57:54 +0000 (07:57 +0200)]
ucm2: Qualcomm: x1e80100: T14s-HiFi: remove duplicate DP Jack names

The DP names had duplicated definitions.

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>
5 months agoucm2: Qualcomm: x1e80100: T14s-HiFi: switch DP outputs to dedicated MultiMedia5/6...
Jens Glathe [Sun, 12 Apr 2026 15:53:46 +0000 (17:53 +0200)]
ucm2: Qualcomm: x1e80100: T14s-HiFi: switch DP outputs to dedicated MultiMedia5/6/7 streams

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>
5 months agoucm2: Qualcomm: Enable Headset Microphone on kaanapali-mtp
Mohammad Rafi Shaik [Mon, 20 Apr 2026 10:53:16 +0000 (16:23 +0530)]
ucm2: Qualcomm: Enable Headset Microphone on kaanapali-mtp

Enable missing Headset Microphone on kaanapali-mtp.

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/750
Signed-off-by: Mohammad Rafi Shaik <mohammad.rafi.shaik@oss.qualcomm.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
5 months agoucm2: Qualcomm: Enable Headset Microphone on sm8750-mtp
Mohammad Rafi Shaik [Mon, 20 Apr 2026 10:51:15 +0000 (16:21 +0530)]
ucm2: Qualcomm: Enable Headset Microphone on sm8750-mtp

Enable missing Headset Microphone on sm8750-mtp.

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/750
Signed-off-by: Mohammad Rafi Shaik <mohammad.rafi.shaik@oss.qualcomm.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
5 months agoucm2: add Arduino monza support
Srinivas Kandagatla [Wed, 28 Jan 2026 03:39:21 +0000 (03:39 +0000)]
ucm2: add Arduino monza support

Arduino VENTUNO has 1xHDMI, 1xDP, Headset(Mic and speakers), LineOut and
EarOut connectors.

Add support for everything except DP, as it is not fully enabled yet.

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/751
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@oss.qualcomm.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
5 months agoucm2: Qualcomm: Rename qcm6490-idp ucm2 conf
Mohammad Rafi Shaik [Wed, 15 Apr 2026 11:19:42 +0000 (16:49 +0530)]
ucm2: Qualcomm: Rename qcm6490-idp ucm2 conf

Rename the ucm2 conf for Qualcomm qcm6490-idp.

qcm6490-idp-snd-card.conf -> QCM6490-IDP.conf.

Removed snd-card tags from conf, as name did not
correctly match the actual sound card name.

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/746
Signed-off-by: Mohammad Rafi Shaik <mohammad.rafi.shaik@oss.qualcomm.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
5 months agoucm2: Qualcomm: Fix headphone mic mute setting on qcm6490-idp
Mohammad Rafi Shaik [Wed, 15 Apr 2026 11:07:44 +0000 (16:37 +0530)]
ucm2: Qualcomm: Fix headphone mic mute setting on qcm6490-idp

Fix internal mic mute handling by selecting Mic1 to mute the
internal mic when the headphone microphone is enabled.

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/746
Signed-off-by: Mohammad Rafi Shaik <mohammad.rafi.shaik@oss.qualcomm.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
6 months agoucm2: Add config for Tascam US-2x2HR
Jake Fröberg [Wed, 21 Jan 2026 18:13:52 +0000 (20:13 +0200)]
ucm2: Add config for Tascam US-2x2HR

USB ID 0644:8070 TEAC Corp. US-2x2HR

Line1/Mic1/Mic2 comments mostly match the device labels

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/693
Signed-off-by: Jake Fröberg <jfroberg@gmail.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
6 months agogithub: workflow: fix paths for the last change
Jaroslav Kysela [Thu, 16 Apr 2026 13:34:38 +0000 (15:34 +0200)]
github: workflow: fix paths for the last change

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
6 months agogithub: workflow: move things to separate alsa-project/github-workflows repo
Jaroslav Kysela [Thu, 16 Apr 2026 13:03:33 +0000 (15:03 +0200)]
github: workflow: move things to separate alsa-project/github-workflows repo

It is a preparation to be reused for other ALSA repos.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
6 months agosof-soundwire: add rt722 into hs_init
derek fang [Mon, 30 Mar 2026 08:15:49 +0000 (16:15 +0800)]
sof-soundwire: add rt722 into hs_init

Load rt722/init.conf while using rt722 headset function only
instead of multicodec.

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>
6 months agosof-soundwire: rt1320: add rt1320 dmic config
derek fang [Fri, 10 Apr 2026 07:47:25 +0000 (15:47 +0800)]
sof-soundwire: rt1320: add rt1320 dmic config

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>
6 months agosof-soundwire: rt1320: add playback control switch
derek fang [Fri, 13 Mar 2026 03:11:34 +0000 (11:11 +0800)]
sof-soundwire: rt1320: add playback control switch

This patch defines 'rt1320 OT23' as PlaybackMixerElem and
a remapped one 'rt1320 OT23 Playback Switch' when using one
or two amps.

And also attach rt1320 OT23 controls to speaker 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>
6 months agosof-soundwire: add companion amp config with rt721 and rt1320
derek fang [Fri, 10 Apr 2026 08:10:48 +0000 (16:10 +0800)]
sof-soundwire: add companion amp config with rt721 and rt1320

Support the machines with companion amps with rt721 and rt1320.

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/744/
Signed-off-by: derek fang <derek.fang@realtek.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
6 months agotegra-hda: Add HDMI/DP outputs 2-4 for Tegra186+
Sheetal [Thu, 16 Apr 2026 09:06:00 +0000 (09:06 +0000)]
tegra-hda: Add HDMI/DP outputs 2-4 for Tegra186+

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.

Link: https://lore.kernel.org/alsa-devel/20260416090600.2237882-1-sheetal@nvidia.com/
Signed-off-by: Sheetal <sheetal@nvidia.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
6 months agoucm2: conf.d: fix h616-audio-codec symlink
Jaroslav Kysela [Fri, 10 Apr 2026 16:12:37 +0000 (18:12 +0200)]
ucm2: conf.d: fix h616-audio-codec symlink

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
6 months agoucm2: conf.d: fix QCS6490-RB3Gen2 symlink
Jaroslav Kysela [Fri, 10 Apr 2026 16:11:09 +0000 (18:11 +0200)]
ucm2: conf.d: fix QCS6490-RB3Gen2 symlink

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
6 months agoucm2: conf.d: fix qcm6490-idp-snd-card symlink
Jaroslav Kysela [Fri, 10 Apr 2026 16:09:30 +0000 (18:09 +0200)]
ucm2: conf.d: fix qcm6490-idp-snd-card symlink

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
6 months agoucm2: conf.d: fix Kaanapali-MTP.conf symlink
Jaroslav Kysela [Fri, 10 Apr 2026 16:05:01 +0000 (18:05 +0200)]
ucm2: conf.d: fix Kaanapali-MTP.conf symlink

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
6 months agoucm2: Qualcomm: Create missing symlink for Radxa Dragon Q6A
Aelin Reidel [Wed, 1 Apr 2026 22:31:36 +0000 (00:31 +0200)]
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>
6 months agoucm2: sof-soundwire: cs42l43: support UAJ-less configuration
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>
6 months agoucm2: Focusrite Scarlett 18i20 Gen 1 — fix USB ID regex (1235:800c)
mike [Tue, 7 Apr 2026 06:39:29 +0000 (00:39 -0600)]
ucm2: Focusrite Scarlett 18i20 Gen 1 — fix USB ID regex (1235:800c)

- fix case mismatch in device matching regex

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/739
Signed-off-by: geomtn <mike@geomtnfoci.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
6 months agogithub: workflow: another permissions fix - inherit
Jaroslav Kysela [Wed, 1 Apr 2026 14:49:12 +0000 (16:49 +0200)]
github: workflow: another permissions fix - inherit

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
6 months agoUSB-Audio: fixes for M-Audio Fast Track Ultra
Jaroslav Kysela [Wed, 1 Apr 2026 14:41:32 +0000 (16:41 +0200)]
USB-Audio: fixes for M-Audio Fast Track Ultra

- use new USB-Audio.conf macros
- follow UCM device numbering rule (continuous - use labeling)

Fixes: 27d3b45 ("Add UCM2 configuration for M-Audio Fast Track Ultra")
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
6 months agoUSB-Audio: Add Audient EVO4
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>
6 months agogithub: workflow: another permissions fix for pr-validation
Jaroslav Kysela [Wed, 1 Apr 2026 14:33:28 +0000 (16:33 +0200)]
github: workflow: another permissions fix for pr-validation

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
6 months agogithub: workflow: another permissions fix (token)
Jaroslav Kysela [Wed, 1 Apr 2026 14:26:20 +0000 (16:26 +0200)]
github: workflow: another permissions fix (token)

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
6 months agoAdd UCM2 configuration for M-Audio Fast Track Ultra
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>
6 months agoucm2: Qualcomm: add QCS6490 Thundercomm RubikPi3 HiFi config
Hongyang Zhao [Mon, 30 Mar 2026 08:50:12 +0000 (16:50 +0800)]
ucm2: Qualcomm: add QCS6490 Thundercomm RubikPi3 HiFi config

Add UCM2 configs for the QCS6490 Thundercomm RubikPi3 Board to handle:
- 3.5mm headset playback/capture
- HDMI playback

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/735
Signed-off-by: Hongyang Zhao <hongyang.zhao@thundersoft.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
6 months agogithub: workflow: try to set permissions explicitly
Jaroslav Kysela [Tue, 31 Mar 2026 07:36:34 +0000 (09:36 +0200)]
github: workflow: try to set permissions explicitly

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
6 months agogithub: accept any Signed-off-by tag (case insensitive)
Jaroslav Kysela [Tue, 31 Mar 2026 07:31:42 +0000 (09:31 +0200)]
github: accept any Signed-off-by tag (case insensitive)

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
6 months agosof-hda-dsp: add workaround for speaker LED on MSI laptops
Federico Lombardo [Sun, 8 Mar 2026 21:08:51 +0000 (22:08 +0100)]
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>
6 months agogithub: add GitHub label automation and SOB validation workflows
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>