Detailed changes v1.2.14 v1.2.15

From AlsaProject
Jump to navigation Jump to search

Detailed changelog between 1.2.14 and 1.2.15 releases

Changelog between 1.2.14 and 1.2.15 releases

alsa-lib

Core

- Release v1.2.15 - include: fix typo in error.h to avoid compile error when gcc <= 2.95

Closes: https://github.com/alsa-project/alsa-lib/pull/483

- include: list.h - add list_splice() and list_splice_init() functions - github: add coverity.yml - doxygen: fix warnings and add missing ALSA_LIBRARY_BUILD define

BugLink: https://github.com/alsa-project/alsa-lib/pull/480

- error: add missing log_priority/interface functions to header file - configure: bumb version to 1.2.13pre1 (for alsa-utils) - include: remove local SNDMSG/SYSMSG defines (no longer used) - huge correction of tabulators and whitespaces - log: implement filter based on string configuration (env LIBASOUND_DEBUG).

Examples:

 "debug"                 - Set global level to debug
 "3"                     - Set global level to 3 (info)
 "info,pcm:debug"        - Set global to info, pcm to debug
 "error,mixer:5,pcm:4"   - Set global to error, mixer to 5 (trace), pcm to 4 (debug)

- error: add priority and interface strings to the log messages - redesign the message log functions

Add priority level and interface classifiers. Define macros
for all priority level types to keep the callers more readable.
Ensure the compatibility with previous logging mechanism.

- error: do not export internal snd_err_msg variable

This variable was never intended to modify from outside (not in public
headers).

- github: fix Fedora workflow (awk package dependency)

Config API

- doxygen: fix warnings and add missing ALSA_LIBRARY_BUILD define

BugLink: https://github.com/alsa-project/alsa-lib/pull/480

- huge correction of tabulators and whitespaces

Control API

- coverity.com fixes - initial round

This commit tries to fix a bunch of issues found
by coverity.com.

- snd_tlv_convert_to_dB: Fix mute handling for MINMAX_MUTE type

Ensure the SND_CTL_TLV_DB_GAIN_MUTE value is returned when the calculated
gain equals the minimum dB value for the SNDRV_CTL_TLVT_DB_MINMAX_MUTE type.
The previous check based solely on the volume value could miss cases where
the linear calculation resulted in the minimum gain.

Closes: https://github.com/alsa-project/alsa-lib/pull/478

- doxygen: fix warnings and add missing ALSA_LIBRARY_BUILD define

BugLink: https://github.com/alsa-project/alsa-lib/pull/480

- huge correction of tabulators and whitespaces - redesign the message log functions

Add priority level and interface classifiers. Define macros
for all priority level types to keep the callers more readable.
Ensure the compatibility with previous logging mechanism.

HWDEP API

- doxygen: fix warnings and add missing ALSA_LIBRARY_BUILD define

BugLink: https://github.com/alsa-project/alsa-lib/pull/480

Mixer API

- mixer: abst - reshuffle snd_mixer_simple_basic_register code to be more logical - doxygen: fix warnings and add missing ALSA_LIBRARY_BUILD define

BugLink: https://github.com/alsa-project/alsa-lib/pull/480

- huge correction of tabulators and whitespaces - mixer: bag - fix bag_del_all implementation (missing free)

The bag1_t structure must be freed, too.

Mixer Abstraction API

- huge correction of tabulators and whitespaces

PCM API

- pcm: plugin - avoid 32-bit to 64-bit return value conversions

Several functions were affected. Simplify code without
any functionality change.

- add missing return value changes for snd_config_get_string() calls - add missing return value changes for snd_config_get_id() calls - doxygen: fix warnings and add missing ALSA_LIBRARY_BUILD define

BugLink: https://github.com/alsa-project/alsa-lib/pull/480

- pcm route: suppress false positive warning for gcc 8+ - pcm: add a loop to snd_pcm_avail_delay() to avoid bogus delay values

snd_pcm_avail_delay() is expected to report avail and delay values
in atomic fashion. However the function does two separate syscalls
and it cannot guarantee the avail value is the same as was used
to calculate the delay. This is a problem as the reported delay is
always relative to avail frames value.

If application (like e.g. alsa_conformance_test) uses snd_pcm_avail_delay()
to estimate the effective play position, it can observe bogus delay
values (and effective play position going backwards) if
snd_pcm_avail_delay() is called during a DMA burst where hw_ptr
moves quickly.

This commit adds a loop similar to that used in snd_pcm_hw_htimestamp()
to wait until we get a stable avail reading, and only then extract
the delay. This will avoid bogus values if function is called during
DMA bursts.

Closes: https://github.com/alsa-project/alsa-lib/pull/469
Closes: https://github.com/alsa-project/alsa-lib/issues/468

Rawmidi API

- rawmidi: Fix SNDRV_RAWMIDI_INFO_STREAM_INACTIVE duplicate definition

The origin of this define is in include/alsa/sound/uapi/asound.h included from
include/local.h. Skip redefinition in the internal build.

- rawmidi: Fix the prefix of the inactive stream flag

I copied SNDRV_RAWMIDI_INFO_STREAM_INACTIVE definition as is from the
kernel uapi header, but for alsa-lib, it should have been changed to
SND_ prefix instead.

Put the correct definition while keeping the old SNDRV_ definition for
compatibility (that might be already used by applications).

Sequencer API

- seq: fix snd_seq_drain_output return value for partial drain

The processed value was not properly updated thus the partial
flush was not notified properly.

- seq: hw - notify if running mode / pversion ioctl fails

Topology API

- add missing return value changes for snd_config_get_id() calls - topology: fix nibble warning in tplg_save_quoted()

Use Case Manager API

- ucm: add ValueGlobals section to the top configuration file

BootCardGroup and BootCardSyncTime variables should not be listed
by default in _identifiers. Handle them differently using
ValueGlobals section.

- ucm: fix the DefineRegex issue where multiple variables were set to empty string

It is not required to set variables in undefined groups to empty string.

- ucm: Include directive - add optional behaviour

It may be useful to skip the include when the file does not exist
(make it optional).

- ucm: complete dependency graphs for conflicting/supported device lists

Modify verb_dev_list_check() to ensure all devices in a conflicting or
supported group reference each other. Previously, the function only
ensured bidirectional relationships. Now it ensures all devices in
the same group have complete dependency lists.

- ucm: implement DeviceVariant configuration extension

It may be useful for the channel count specification for example.

- ucm: implement ValueDefaults.BootCardGroup and define use

We need a boot synchronization for multiple UCM cards where linking
is expected like AMD ACP or Intel AVS drivers. This method is
using a timestamp file which can be created and modified during
the boot process (e.g. from the alsactl tool).

The goal is to return a valid UCM configuration for standard
applications combining multiple ALSA cards into one UCM configuration
and cover the time window when all cards have not been probed yet.

- ucm: keep original device name for logs - ucm: sort devices by priority - ucm: doc - add examples for device name with descriptors (colon) - ucm: be more restrictive for device name with descriptor - ucm: strip device index when the device type is present only one time - ucm: add support for device names with colon (':')

The colon identifier means to automatically assign
a device index for this device.

- ucm: normalize device names - ucm: add possibility to inline Verb configurations to the main configuration file - ucm: add Prepend and Append block handling for If conditions (syntax 8+) - add missing return value changes for snd_config_get_string() calls - ucm: add missing stdbool.h include to ucm_local.h - ucm: fix variant issue where variables or macros are overwritten

It is necessary to reset the state logic before each verb variant
is parsed. So save the original variable list and macros and
restore them before each parser iteration.

BugLink: https://github.com/alsa-project/alsa-ucm-conf/pull/633

- ucm: remove 'error: ' prefix from error messages (duplication) - ucm: remove uc_dbg macro and callers

Those debug prints are not much useful now.

- ucm: replace uc_error with snd_error calls - ucm: add a basic set of trace/debug log calls - ucm: use close_range on _GNU_SOURCE

Closes: https://github.com/alsa-project/alsa-lib/pull/459

- Force to use alphasort64() sorting function for Harmony OS

Closes: https://github.com/alsa-project/alsa-lib/pull/467

- ucm: regex: fix the error message (missing argument)

Link: https://github.com/alsa-project/alsa-ucm-conf/pull/580

- Revert "ucm: do not bump syntax version to 8"

This reverts commit e51cba0973d97d8a4c3d2d5896b203d8c3628c89.

ALSA Server

- coverity.com fixes - initial round

This commit tries to fix a bunch of issues found
by coverity.com.

- huge correction of tabulators and whitespaces - replace SNDMSG,SYSMSG,SNDERR,SYSERR with new log macros

... with interface identifiers

Async helpers

- coverity.com fixes - initial round

This commit tries to fix a bunch of issues found
by coverity.com.

- replace SNDMSG,SYSMSG,SNDERR,SYSERR with new log macros

... with interface identifiers

Configuration

- coverity.com fixes - initial round

This commit tries to fix a bunch of issues found
by coverity.com.

- add missing return value changes for snd_config_get_string() calls - add missing return value changes for snd_config_get_id() calls - conf/pistachio: fix syntax

It was missing closing brackets since its introduction.

Closes: https://github.com/alsa-project/alsa-lib/pull/470

- config: do not print errno in snd_config_check_hop() - redesign the message log functions

Add priority level and interface classifiers. Define macros
for all priority level types to keep the callers more readable.
Ensure the compatibility with previous logging mechanism.

- conf: fix load_for_all_cards() - do not merge the card specific contents - conf: fix parse_array_def - merge arrays

A tiny overlook caused wrong array merge. New compound member must be
always created.

- conf: Revert "conf: fix load_for_all_cards()"

This reverts commit ddfc32abf5697de1618b9e7ffdf57a0f97013090.

It was not a correct fix. The private values may differ (multiple
instances for e.g. USB sound cards). This fix prevents to load
private configurations for other instances.

- conf: fix parse_array_def override code path

The error may cause segmentation fault and incorrect behaviour.

Closes: https://github.com/alsa-project/alsa-lib/issues/477

- Force to use alphasort64() sorting function for Harmony OS

Closes: https://github.com/alsa-project/alsa-lib/pull/467

- conf: aliases: add hda-acpi -> HDA-Intel alias

The new snd_hda_acpi driver in Linux exposes the existing Azalia
interface to non-PCI devices advertised over ACPI. Add an alias
to the existing HDA-Intel configuration file so that devices using
this driver can be discovered properly.

Documentation

- doc: add missing include pcm_plugin.h to source files - doxygen: fix warnings and add missing ALSA_LIBRARY_BUILD define

BugLink: https://github.com/alsa-project/alsa-lib/pull/480

Error handler

- coverity.com fixes - initial round

This commit tries to fix a bunch of issues found
by coverity.com.

- error: make prio/interface output a bit shorter in default log handler - log: implement filter based on string configuration (env LIBASOUND_DEBUG).

Examples:

 "debug"                 - Set global level to debug
 "3"                     - Set global level to 3 (info)
 "info,pcm:debug"        - Set global to info, pcm to debug
 "error,mixer:5,pcm:4"   - Set global to error, mixer to 5 (trace), pcm to 4 (debug)

- error: add priority and interface strings to the log messages - redesign the message log functions

Add priority level and interface classifiers. Define macros
for all priority level types to keep the callers more readable.
Ensure the compatibility with previous logging mechanism.

- error: do not export internal snd_err_msg variable

This variable was never intended to modify from outside (not in public
headers).

Simple Abstraction Mixer Modules

- replace SNDMSG,SYSMSG,SNDERR,SYSERR with new log macros

... with interface identifiers

Test/Example code

- test: ucm - remove old syntax configuration files (incomplete anyway) - test: update midifile library to ANSI C

The midifile library used by the playmidi1 program dates from 1989, and
used pre-ANSI function definitions and prototypes. GCC 15 now defaults
to C23 where () means the same as (void) in prototypes, which causes
type mismatch errors.

Update the code to use ANSI function definitions and prototypes, so
it'll compile happily as anything from ANSI C to C23. This revealed that
playmidi1's do_tempo had the wrong argument type, so correct that as
well.

Closes: https://github.com/alsa-project/alsa-lib/pull/463

alsa-utils

Core

- Release v1.2.15 - configure: Allow systemd service installation without systemd.pc

If the systemdsystemunitdir got passed anyway as a variable, we don't
need the systemd.pc dependency anymore and allow building without a
systemd build-dependency.

Relevant in Alpine Linux, where we allowed systemd services to be
(sub-)packaged (e.g. for downstreams like postmarketOS), but don't have
systemd pacakged in Alpine itself, yet.

Closes: https://github.com/alsa-project/alsa-utils/pull/309

- github: coverity.yml - run at 4am on Sunday - github: add coverity.yml (coverity.com) workflow - github: CI: add awk package for Fedora to build.yml

ALSA Control (alsactl)

- alsactl: fix error message arguments (remove card) - alsactl: fix error handling in check_control_cdev()

Closes: https://github.com/alsa-project/alsa-utils/pull/310

- alsactl: ucm: restore controls for other cards in group

When the primary card restores controls, all other cards
in the card group should do this operation, too.

- alsactl: move udev/systemd files to conf subdirectory

It is a cleanup to not mix C source code with system configuration files.

- alsactl: update state file correctly when initialization failed

There was missing continue statement to save the correct state reporting.

- alsactl: fix state restore to handle dynamic user control elements

Track user control elements separately and adjust control
count difference checking to account for dynamic user elements.
Prevents false positives in re-init detection when only user
controls have changed.

- alsactl: add systemd service to handle deferred card initialization

Add alsa-card-wait@.service to handle cards in waiting state.
Update udev rules to use --export and trigger the wait service
when ALSA_CARD_STATE=waiting. Service runs "alsactl wrestore"
for deferred card initialization.

- alsactl: ucm: add wrestore command and wait_for_card() for boot synchronization

Implement wait.c with wait_for_card() function to monitor Boot control
element and wait for card readiness using event-based polling.

Add "wrestore" command to wait for card ready state before restore.
Add FLAG_UCM_WAIT flag and move DEFAULT_SYNC_TIME to alsactl.h.

- alsactl: add -Y option to export card states as key=value pairs

Add export.c with support for exporting card states as key=value pairs.
Exports ALSA_CARD_NUMBER/ALSA_CARD_STATE for single cards, or
ALSA_CARD#_STATE for multiple cards. States: active, skip, waiting.

Add -Y (--export) option to restore command for state export.

This feature is designed for udev IMPORT{program} use.

- alsactl: ucm: implement boot parameters and card group sync infrastructure

Implement boot parameter management for multi-card synchronization.

Add boot_params.c with read/write functions for Boot control element,
card group configuration file support, and validity checking.
Extend init_ucm.c with boot/restore logic and card state handling.

Add -G (group-file) and -m (force-ucm-restore) command line options.

- alsactl: free scandir list in snd_card_clean_cfgdir - alsactl: add support for new log handler (alsa-lib 1.2.15) - alsactl: restore udev rules - fix HDA analog device check

ALSA RawMidi Utility (amidi)

- amidi: Ignore inactive MIDI ports as default at listing

When listing the devices, currently we show all MIDI ports including
inactive ones.  But those inactive ports are rarely useful, and it'd
be more convenient to filter them out.

This patch introduces the filtering of inactive ports at listing
devices via amidi -l option.  When user needs to scan all MIDI ports
including inactive ports, pass the new option -x in addition.

aconnect

- aconnect: add support for new log handler (alsa-lib 1.2.15)

alsamixer

- alsamixer: add support for new log handler (alsa-lib 1.2.15)

aplay/arecord

- aplay: reorganize format handling in begin_wave()

Use strictly snd_pcm_format_physical_width/snd_pcm_format_width functions
to determine the sample bit width.

- Revert "aplay: fix S24_LE wav header"

This reverts commit 9cdcbe0e932b97fac88a6195f87647159a6c7194.

It causes regression (see Link). The physical sample width is stored
in byte_p_spl.

Closes: https://github.com/alsa-project/alsa-utils/issues/308

- alsactl: add support for new log handler (alsa-lib 1.2.15)

bat (basic audio tester)

- bat: Fix buffer time configuration

By swapping time configuration some hardware constraints can be supported.
Fixes the error: Set parameter to device error: buffer time: 500000
hw:tqmtlv320aic32: Invalid argument(-22)

alsa-tools

Core

- Release v1.2.15 - envy24control: port to GTK 4

Closes: https://github.com/alsa-project/alsa-tools/pull/36

Envy24 Control

- envy24control: port to GTK 4

Closes: https://github.com/alsa-project/alsa-tools/pull/36

HDA Jack Retask

- Update hdajackretask.desktop

- adds a FR comment
- change the "genericname" to "Comment"
- adds a Icon= field (close #38 )

Closes: https://github.com/alsa-project/alsa-tools/pull/39
Closes: https://github.com/alsa-project/alsa-tools/issues/38

hdspmixer

- hdspmixer: fix null pointer dereference in HDSPMixerWindow:handler_cb

Closes: https://github.com/alsa-project/alsa-tools/pull/42

alsa-ucm-conf

Configuration

- USB-Audio: add support for conf.d configurations

It may be useful to add new or override specific hardware
configurations until they are merged to the main USB-Audio.conf file.

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/654
BugLink: https://github.com/alsa-project/alsa-ucm-conf/issues/609

- USB-Audio: Steinberg UR22C - fix capture channels for older firmware

It seems that firmware version 3.20 added 4 capture channels while
previous firmware has only 2 capture channels.

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/554

- USB-Audio: GoXLR: enable detection of beta firmware (25 channels)

'Syntax 8' is required (alsa-lib 1.2.15+)

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/524
Link: https://github.com/alsa-project/alsa-ucm-conf/issues/444

- USB-Audio: Add jack controls for HP Thunderbolt Dock G2

Similar to the Dell WD15/WD19, this allows for jack detection
(headphones/headset) on the HP Thunderbolt Dock G2.

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/650
Link: https://lore.kernel.org/linux-sound/20251126003805.2705503-1-tasos@tasossah.com/T/

- ucm2: sof-soundwire: Update cs42l45 JackControls

Update JackControls to follow machine driver changes [1]

[1] https://lore.kernel.org/all/20251127163426.2500633-3-ckeepax@opensource.cirrus.com/

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/644

- ucm2: IO-Boards: Toradex: aquila: add support

Add support for Toradex Aquila Development board, using the WM8904 audio
codec.

This is a carrier board for the Toradex Aquila family, where any Toradex
Aquila SoM can be connected to it, therefore this is being added to the
IO-Boards instead of a specific hardware vendor.

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/641

- ucm2: Qualcomm: fix indentation for TUXEDO Elite 14 - ucm2: Qualcomm: fix HDMI0 name for TUXEDO Elite 14 - ucm2: Qualcomm: add TUXEDO Elite 14 support

TUXEDO Elite 14 Gen1 Supports:
        - 4 speakers
        - 2 dmics
        - Headset
        - Display ports

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/638

- rt713: add mic led support

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/649

- USB-Audio: Add Audient iD14 MK2 support

Add UCM2 profile for Audient iD14 MK2 (USB ID 2708:0008) audio interface
with 6 playback and 12 capture channels. The device requires S32_LE format
for proper operation.

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/651

- sof-soundwire: second fix for -sdca variants for multi-codec

Example variables:

        MultiCodec1='rt713'
        HeadsetCodec1='rt713-sdca'

Suggested-by: Shuming Fan <shumingf@realtek.com>
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/653

- common: led.conf - don't use If.0 blocks

Compounds starting with zero (and with continuous indexes)
are handled as array type. It means that they are appended
when they are parsed multiple times. Fix this.

- common: split.conf - don't use If.0 blocks

Compounds starting with zero (and with continuous indexes)
are handled as array type. It means that they are appended
when they are parsed multiple times. Fix this.

Closes: https://github.com/alsa-project/alsa-ucm-conf/issues/646

- USB-Audio: Add support for DualSense PS5 controller

The Sony DualSense wireless controller (PS5) has an internal mono
speaker and a microphone, in addition to a 3.5mm jack socket for
headphone output and headset microphone input.

Because this is a UAC1 device, it doesn't advertise any jack detection
capability.  However, since kernel v6.18-rc1 the controller is able to
report HP & MIC insert events via HID, i.e. through a dedicated input
device managed by the hid-playstation driver.  This is further used by a
quirk in the generic USB audio driver (added in v6.17), which creates
the Headphone Jack & Headset Mic Jack controls and receives hotplug
events from the HID driver via input handlers.

Moreover, the device provides haptic feedback functionality, which is
controlled by a pair of dedicated channels in a quadraphonic audio
stream.

Ensure proper support for audio switching between headphones/headset and
internal speaker/microphone by adding a UCM to split the 4.0 PCM stream
into 4 mono channels or a pair of stereo (FL+FR) channels, depending on
the active output device/profile.

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/634

- ucm2: Add setting LED Mode in SetLED macro

Add 'Mode' argument to SetLED macro in order to allow setting a
different LED mode. This will allow mute switches with inverted
values to control the LEDs with 'follow-route' option instead of
default 'follow-mute'.

The Mode argument is optional.

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/637

- sof-soundwire: fix for -sdca variants for multi-codec

The -sdca suffix should be handled like normal codec identification
for multi-codecs.

Closes: https://github.com/alsa-project/alsa-ucm-conf/issues/639

- ucm2: rt712: simplify the init settings

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/628

- ucm2: sof-soundwire: support rt713vb codec

The rt713 is the multi-function codec, so check it by MultiCodec variable.
This patch also supports the rt713VB, which integrates with DMIC function into one interface.

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/628

- ucm2: soundwire: cs42l45: Add support for CS42L45 codec

cs42l45 SDCA codec includes headphone playback with headset and DMIC input.

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/629

- ucm2: Add support for MT8196 Rauru Rev0 Chromebook with SOF

Add support for the Google Rauru Rev0 Chromebook, powered by MediaTek
Kompanio Ultra (MT8196). This machine uses NAU8825 as headphone codec
and NAU8318 as speaker codec.

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/625

- USB-Audio: fix Steinberg UR22mkII device names - ucm2: codecs: rx-macro: add Headset Left enable/disable

 sequence

Headset L is connected as Lineout on some platforms like RB1, so add the
rx codec macro sequences required to enable Lineout on those platforms.

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/621

- ucm2: codecs: pm4125: add ucm for codec

Add UCM support for Headset and Lineout mixer sequences for PM4125
codec that got merged in last cycle.

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/621

- ucm2: Qualcomm: x1e80100: T14s: add USB DisplayPort playback

Add two DisplayPort (over USB) and one HDMI playback devices,
conflicting with the headset, because they use the same MultiMedia1
frontend.



Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/627

- Qualcomm: qcs615: Add TALOS EVK HiFi config

Add UCM2 configs for the Qualcomm Talos Board.

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/631

- ucm2: Add support for Steinberg UR22mkII

This device is basically an earlier model of the UR22C that already has
a configuration. The main functional difference is that the UR22mkII
only has 2 hardware channels for the inputs. I have also changed the
names/comments in the config to mostly match the text on the device
(Input 1/Input 2).

This configuration was tested with a Steinberg UR22mkII with firmware
version 1.04.

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/626

- ucm2: Qualcomm: Radxa: fix Displayport SectionDevice

for some reason this ucm endedup using DisplayPort for SectionDevice
instead of HDMI. This was resulting in below failures of any PR against
Qualcomm devices.

Run cd alsa-tests/python/ucm-validator2
./ucm.py configs --level=0 --ucmdir=../../../alsa-ucm-conf/ucm2
./Qualcomm/qcs6490/QCS6490-Radxa-Dragon-Q6A/HiFi.conf: Device name DisplayPort
 /'SectionDevice'.'DisplayPort'/ is not valid
(see https://github.com/alsa-project/alsa-lib/blob/master/include/use-case.h)
total errors: 1
make: *** [Makefile:10: configs] Error 1
Error: Process completed with exit code 2.

Fix this by using known devices from use-case.h

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/624

- ucm2: Qualcomm: Add MONACO-EVK HiFi config

Add UCM2 configs for the Qualcomm MONACO-EVK Board to handle:
        - I2S Speaker Amplifier
        - I2S Mic

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/597

- ucm2: Qualcomm: sa8775p: Move lemans-evk hifi to sa8775p subdir

Move lemans-evk HiFi configuration files to the sa8775p subdirectory,
aligning with the kernel's use of the sa8775p folder for all Linux
firmware. So Update the UCM HiFi configuration file accordingly.

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/618

- Qualcomm: Kaanapali: Add Kaanapali MTP HiFi config

Add UCM2 configs for the Qualcomm Kaanapali-MTP Board.
Tested on-board Speakers playback, on-board Microphones.

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/613

- The X1E80100-EVK needs basically the same configuration as

 the X1E80100-CRD. The dts upstream is already in progress.
 https://lore.kernel.org/all/20250828-hamoa_initial-v8-3-c9d173072a5c@oss.qualcomm.com/

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/608

- ucm2: MediaTek: mt8391-evk: Add alsa-ucm support

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

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/607

- Add support for RME Fireface UCX (heavily based on RME Fireface UCX II config)

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/606

- ucm2: Qualcomm: Add Microsoft Surface Pro 12in config

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/603

- ucm2: Qualcomm: x1e80100: Add X1E001DE-DEVKIT configuration

The X1E001DE Devkit needs basically the same audio configuration as the
X1E80100 CRD, so just include the HiFi.conf intended for the CRD. The only
difference is that there are no speakers connected to the pin header on the
mainboard by default, so remove the speakers from the available outputs.

If someone wants to connect speakers there they could drop the RemoveDevice
line after verifying that it works correctly for their speakers. At the
moment we do not have any way to automatically detect if there are speakers
connected or not.

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/602

- ucm2: Qualcomm: add Radxa Dragon Q6A

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/601

- ucm2: sof-soundwire: add rt721 ucm support

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/600

- ucm2: Qualcomm: add Lenovo Ideapad 5 (Slim 5x / 2in1) support

Same layout as T14s, 2 speakers, hedphone jack, DMIC

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/599

- ucm2: Qualcomm: Rename qcs6490-rb3gen2 and qcs9075-iq-evk ucm2 conf

Rename the ucm2 conf for Qualcomm qcs6490-rb3gen2 and qcs9075-iq-evk.

qcs6490-rb3gen2-snd-card.conf -> QCS6490-RB3Gen2.conf
qcs9075-iq-evk-snd-card.conf -> LEMANS-EVK.conf

Removed snd-card tags from conf files and update the
mixer settings for LEMANS-EVK.

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/596

- ucm2: Qualcomm: Add Dell Latitude 7455 / Inspiron 14 Plus

 7441 support

(Both SKUs are identical, the codename is Thena)

This configuration is:

- 4 speakers
- 2 DMICs
- headset with mic
- DisplayPort (not yet)

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/589

- ucm2: codecs: lpass-rx-macro: move mixers that do not belong

Some of the mixers endedup in rx-macro which actually are part of WCD
codecs.
Move such mixers to their respective codecs.

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/585

- UR44: Add stereo inputs to the HiFi profile, relabel the inputs and outputs

I relabeled the 'line outs' as Mix 1 and 2, because that is what is accessible to a computer.
Mix 1 and 2 are not necessarily mapped to any output.

The inputs are named after where they are on the device (Front, Back)

The device is internally complex and needs quite a bit of reverse
engineering to fully expose its functionality on linux and will
need dedicated software to be written, but this at least makes
it usable on a basic level.

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/584

- Recognize one more Steinberg UR44 variant

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/584

- ucm2: sof-soundwire: add rt712+rt1320 amplifier

This patch makes SpeakerCodec could get rt712+rt1320 string from spk:rt712+rt1320 component string.
According to the control name, we will know that one or two amplifiers exist.

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/580

- ucm2: MediaTek: mt8395-evk: Add support for SOF

Add support for MT8395 EVK with the SOF enabled.
Since all the features are not available yet only enable
HDMI output and headphones.

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/549

- Behringer UCM204HD/404HD: Fix the macro evaluation for Syntax 7+

The behaviour was slightly changed for the Macro arguments. The substitution
is executed more early before If block evaluation.

Closes: https://github.com/alsa-project/alsa-ucm-conf/issues/564

- UCM2: Intel: sof-hda-dsp: HiFi: IPC3 mono DMIC is exposed as stereo PCM

With IPC3 the DMIC PCM is stereo even in case of a single (mono) DMIC
connection.

Make the `CaptureChannels 1` conditional to IPC4 only.

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/610
Closes: https://bugzilla.redhat.com/show_bug.cgi?id=2393552
Closes: https://bugzilla.redhat.com/show_bug.cgi?id=2384324
Closes: https://github.com/thesofproject/linux/issues/5528

- codecs/hda/hdmi.conf - add support for zero device

If device is zero, driver does not append ',pcm=' string to
the mixer control.

Link: https://github.com/alsa-project/alsa-ucm-conf/pull/571

- ucm2: MediaTek: mt8365-evk: Add SOF support

Add support for MT8365 EVK with SOF enabled. When SOF is
disabled, the "HiFi" use case is used; when SOF is enabled,
the "SOF" use case is used.

The main difference compared to the UCM with SOF disabled is
the device number for playback and capture, which now uses the
PCMs for SOF instead.

Define these parameters as variables for each case (with and
without SOF), and move the common initialization to init.conf,
so the UCM can be shared by both configurations.

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/583

- ucm2: USB-Audio: Add Teufel CAGE PRO

two stereo outputs: one for "game" and one for "chat".
one mono input

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/582

- add MSI MAG B850M Mortar Wifi to USB-Audio.conf

add MSI MAG B850M Mortar Wifi USB-ID for Realtek/ALC4080 to USB-Audio.conf

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/581

- ucm2: sof-soundwire: add rt712-vb device

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/573

- UCM2: Intel: sof-hda-dsp: HiFi: Fix handling of mono DMICs

When a single DMIC is present in the system we need to set the
CaptureChannels to 1 since the PCM device only supports mono, PA/PW will
reject the profile since it cannot open the DMIC PCM device.

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/579

- ucm2: Qualcomm: Update the HIFI enable mixer commands for qcm6490-idp and qcs6490-rb3gen2

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/577

- ucm2: Qualcomm: Update the QCM6490 and QCS6490 hifi conf files

Rename the HiFi conf files for QCM6490-IDP and QCS6490-RB3Gen2 boards
to match with soundcard name.

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/577

- Qualcomm: Add QCS9075-IQ-EVK HiFi config

Add UCM2 configs for the Qualcomm QCS9075-IQ-EVK Board to handle:
        - I2S Speaker Amplifier
        - I2S Mic

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/576

- Changed 'Stream Mix' channel names to match the latest Window

 release

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/572

- ucm2: Qualcomm: add ASUS Vivobook S 15 support

S15 supports:
        - 2 speakers.
        - 2 dmics
        - headset with mic.

This patch adds support to all these, however only speakers, dmic and
headset playback is tested.

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/570

- USB-Audio: Added Beacn Mic and Studio Support

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/558

- USB-Audio: Solid State Labs SSL 2 - fix capture channels

Same fix as for SSL+, commit fc17ed4.
Capture configuration is the same, with 4 channels.

  Capture:
    Status: Stop
    Interface 2
      Altset 1
      Format: S32_LE
      Channels: 4
      Endpoint: 0x81 (1 IN) (ASYNC)
      Rates: 44100, 48000, 88200, 96000, 176400, 192000
      Data packet interval: 125 us
      Bits: 24
      Channel map: FL FR FC LFE

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/566

- ucm2: IO-Boards: Toradex: smarc: add support

Add support for Toradex SMARC Development board, using the WM8904 audio
codec.

This is a carrier board for the Toradex SMARC family, where any SMARC
SoM can be connected to it, therefore this is being added to the
IO-Boards instead of a specific hardware vendor.

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/562

- ucm2: USB-Audio: Behringer: Flow8: fix conflicting

 devices

A recent change renamed the Line-56 and Line-78 devices but failed to
update the conflicting device lists.

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/563

- ucm2: tegra: max98090: fix headphones conflicting device

A recent change renames the speaker device but failed to update the
headphones conflicting device list.

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/563

- ucm2: Qualcomm: sm8650: QRD: fix headset jack hw mute

A recent change renamed the internal microphone devices but failed to
update the headset jack hw mute properties that are still using the old
names.

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/563

- ucm2: Qualcomm: sc8280xp: fix internal microphones device

A recent change renamed the internal microphones device from "DMic01" to
"Mic", but the latter name is already used by the headset microphone so
this breaks the internal microphones on the Lenovo ThinkPad X13s.

Rename the headset microphone device so that the names are unique and
fix up the jack hw mute property which is still using the old name.

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/563

- Fix Presonus Revelator IO44 HWChannels count

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/557

- tegra: max98089: fix cset names

Adjust configs to match Linux kernel MAX98089 codec driver change.


Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/556

- ucm2: Qualcomm: Add Surface Laptop 7

2 speakers, 2 dmics, combo jack, just like the T14s - reuse its
configuration

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/546

- ucm2: Qualcomm: x1e80100: Also match DMI board name

The Surface Laptop 7 only says "Microsoft Corporation" and "Surface"
in the board_vendor and product_family fields respectively. Add another
field to match on.

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/546

- USB-Audio: Solid State Labs SSL 2+ - fix capture channels

It seems that there are 4 capture channels per report in issue #552:

    Capture:
      Status: Stop
      Interface 2
        Altset 1
        Format: S32_LE
        Channels: 4
        Endpoint: 0x81 (1 IN) (ASYNC)
        Rates: 44100, 48000, 88200, 96000, 176400, 192000
        Data packet interval: 125 us
        Bits: 24
        Channel map: FL FR FC LFE

Closes: https://github.com/alsa-project/alsa-ucm-conf/issues/552

- USB-Audio: Remove useless sections for Solid State Labs SSL 2+ - acp3x-alc5682-max98357: Fix path of HiFi.conf

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/551
Closes: https://github.com/alsa-project/alsa-ucm-conf/issues/550

Description

- Release v1.2.15