Detailed changes v1.2.10 v1.2.11
Detailed changelog between 1.2.5 and 1.2.11 releases
Changelog between 1.2.10 and 1.2.11 releases
alsa-tools
Core
- Release v1.2.11
Digigram Echo Mixer
- echomixer: fix clang-16 incompatible-function-pointer
Closes: https://github.com/alsa-project/alsa-tools/pull/17
HDA Jack Retask
- hdajackretask: limit the help window size to something safe (1600x1000) for the help screen
If more monitors are present in the system, the window is too big and information
cannot be visible correctly.
- hdajackretask: add support for pipewire stop/start
Link: https://github.com/alsa-project/alsa-tools/issues/21
- hdajackretask: Update kernel doc URL in README
As of THIS writing, the documentation has been rearranged,
and the "Hint strings" section now resides at the updated URL
as10k1 (EMU10K1+ DSP Assembler)
- as10k1: make (extern) declarations and definition of macro_depth
All `extern` declarations refer to it as `unsigned int`, but the actual
definition is a signed integer.
Reported by CBMC's goto-cc compiler, which performs type-aware linking.
Closes: https://github.com/alsa-project/alsa-tools/pull/19
hdspmixer
- hdspmixer: fix core dump
Initialize the name pointer to NULL.
Detailed changelog between 1.2.8 and 1.2.11 releases
Changelog between 1.2.10 and 1.2.11 releases
tinycompress
Core
- Release v1.2.11
Header files
- src: lib: Add API to set codec parameters for next track
For gapless playback usecase where each track differs in encoding,
new codec parameters that need to be propagated to kernel is done
via compress_set_codec_params()
Library
- src: lib: Add API to set codec parameters for next track
For gapless playback usecase where each track differs in encoding,
new codec parameters that need to be propagated to kernel is done
via compress_set_codec_params()
Utilities
- fcplay: Modify play_samples func to support gapless playback.
This patch will add changes which is required in play_samples
function to support gapless playback.
- fcplay: Add gapless playback support
Add Gapless playback support while playing multiple audio files.
Gapless play command:
fcplay -c 1 -d 2 -g 1 test1.mp3 test2.mp3
In command "-g 1" option for enable gapless play.
- fcplay: Modify play_samples func to play multiple audio files
This patch will modify the play_samples function to achive
multiple audio track play.
- fcplay: Add multiple audio files playback support
This patch will add changes which is required to play
multiple audio files.
The file_count variable is required for index validation and play
multiple audio files.
Detailed changelog between 1.2.10 and 1.2.11 releases
Changelog between 1.2.10 and 1.2.11 releases
alsa-lib
Core
- Release v1.2.11
- src/Versions.in: Add guards for pcm and timer syms
Configure script allows for the disabling of the pcm module. When
disabled, the pcm symbols will not be available. Add guards to remove
symbols from version map when not present.
Closes: https://github.com/alsa-project/alsa-lib/pull/376
- src/Versions.in: Add guards for opt. alisp symbols
Add guards for optional alisp symbols. This ensures that the Versions
file does not contain undefined symbols when building alisp support is
disabled.
Fixes Gentoo bugs 914511 (https://bugs.gentoo.org/914511),
914643 (https://bugs.gentoo.org/914643),
and 919417 (https://bugs.gentoo.org/919417).
Fixes bug #305
Fixes alsa_lisp symbol error reported in bug #356
Closes: https://github.com/alsa-project/alsa-lib/pull/376
Link: https://github.com/alsa-project/alsa-lib/issues/356
- configure.ac: Update AC_OUTPUT() function
Modern autoconf practice says AC_OUTPUT() should be called with no
arguments and generated configuration files should be specified by
calling AC_CONFIG_FILES() before AC_OUTPUT().
Update configure.ac to follow this practice.
Closes: https://github.com/alsa-project/alsa-lib/pull/376
- configure: bumb version to 1.2.11pre1 (for aplay/alsa-utils)
- seq: Fix typos in symbol version definitions
There were obvious typos in src/Versions.in that resulted in the
undefined symbols. Correct those entries.
Closes: https://github.com/alsa-project/alsa-lib/issues/356
- global.h: move __STRING() macro outside !PIC ifdef block
It solves the musl libc compilation issue.
control.c: In function 'snd_ctl_open_conf':
../../include/global.h:98:36: warning: implicit declaration of function '__STRING' [-Wimplicit-function-declaratio]
98 | #define SND_DLSYM_VERSION(version) __STRING(version)
| ^~~~~~~~
- gitcompile: Add static build
Control API
- control: remap - fix the endless loop in remap_numid_child_new()
Avoid the new numid search for the maped only controls.
Link: https://lore.kernel.org/alsa-devel/20231219164539.GB14858@ediswmail.ad.cirrus.com/
- reshuffle included files to include config.h as first - v2
config.h may contain defines like _FILE_OFFSET_BITS which influence
the system wide include files (off_t types, open -> open64 function
usage etc.).
Related: https://github.com/alsa-project/alsa-lib/pull/333
- control.h: Fix ump header file detection
Apparently, the control.h is used from apps separately (outside
asoundlib.h). Avoid errors like:
/usr/include/alsa/control.h:417:47: error: ‘snd_ump_endpoint_info_t’ has not been declared
417 | int snd_ctl_ump_endpoint_info(snd_ctl_t *ctl, snd_ump_endpoint_info_t *info);
| ^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/alsa/control.h:418:44: error: ‘snd_ump_block_info_t’ has not been declared
418 | int snd_ctl_ump_block_info(snd_ctl_t *ctl, snd_ump_block_info_t *info);
| ^~~~~~~~~~~~~~~~~~~~
Mixer API
- mixer: simple: Support dB TLVs for CTL_SINGLE controls
dB mappings do not work for controls not named "* Volume", since we do not
fall back to CTL_SINGLE in get_selem_ctl. Add that branch to make it
work.
Fixes dB ranges for e.g. controls named "* Gain".
Closes: https://github.com/alsa-project/alsa-lib/pull/358
Mixer Abstraction API
- headers: avoid c++ keyword
`class` is a c++ keyword, let's try not to use them in public headers
Closes: https://github.com/alsa-project/alsa-lib/pull/286
PCM API
- pcm: document interaction of drain silence and sw silence
I'm not sure this is the best way to describe the interaction, but I think
this needs to be mentioned in some form at least.
Closes: https://github.com/alsa-project/alsa-lib/pull/381
- pcm: route plugin: allocate temporary array on stack only one time
- pcm: sofvol plugin: fix signed overflow
This fixes functionality on specific setups with UBSan.
Closes: https://github.com/alsa-project/alsa-lib/pull/351
- pcm: documentation improvement mostly regarding samples and frames
In some places samples and frames are used interchangeably, which may
be a little confusing, so update it to say 'frames' where it could matter.
Closes: https://github.com/alsa-project/alsa-lib/pull/375
- pcm: handle start_treshold in snd_pcm_write_areas more robustly
The start_treshold is defined as unsigned, so fix the condition
to allow using values avobe LONG_MAX.
Also, fix the documentation for the 64-bit platforms (INTMAX -> LONG_MAX).
- pcm: plug plugin - fast_ops may be changed when sw_params are set
Link: https://github.com/alsa-project/alsa-lib/issues/372
- pcm: fix the documentation for snd_pcm_poll_descriptors again
As noted in the github issue, the poll descriptors may change depending
on the stream parameters.
- pcm: clarify documentation of poll descriptor usage
This is based on my understanding of the intended behavior, the
test/pcm.c example code, as well as the github pull request
discussion (#370).
There needs to be more clarifiaction regarding the exact semantics
of the value of the revents output parameter of
snd_pcm_poll_descriptors_revents, since there are events that do
not necessarily correspond to POLLIN or POLLOUT (such as period
events), but I believe this is a lot less obvious and needs
confirmation first.
Closes: https://github.com/alsa-project/alsa-lib/pull/370
- pcm: clarify documentation on some hw params related functions
Closes: https://github.com/alsa-project/alsa-lib/pull/369
- pcm: Fix incompatible-pointer-type warnings
Update snd_pcm_subformat_t getters and setters so they no longer throw
warnings when building.
Closes: https://github.com/alsa-project/alsa-lib/pull/342
- pcm: Add MSBITS subformat options
Improve granularity of format selection for S32/U32 formats by adding
masks representing 20, 24 and 32 most significant bits.
Closes: https://github.com/alsa-project/alsa-lib/pull/342
- pcm: Introduce snd_pcm_subformat_value()
Allow userspace applications to select subformats easily just like in
snd_pcm_format_t case - by string conversion.
Closes: https://github.com/alsa-project/alsa-lib/pull/342
- pcm: Fix segfault with 32bit libs
The recent rearrangement of header inclusion order caused a regression
showing segfaults on 32bit Arm. The primary reason is the
inconsistent compile condition depending on the inclusion of config.h;
while most of other code include pcm_local.h (that implicitly includes
config.h) at first, pcm_direct.c doesn't do it, hence the access with
direct plugins crashes.
For fixing it, we need to include config.h at the beginning. But,
it's better to include pcm_local.h for all relevant code for
consistency. The patch does it, and also it adds the guard in
pcm_local.h for double inclusions.
Link: https://github.com/alsa-project/alsa-lib/issues/352
RawMidi API
- reshuffle included files to include config.h as first - v2
config.h may contain defines like _FILE_OFFSET_BITS which influence
the system wide include files (off_t types, open -> open64 function
usage etc.).
Related: https://github.com/alsa-project/alsa-lib/pull/333
Sequencer API
- seq: Add snd_seq_ump_ev_clear()
Like snd_seq_ev_clear(), let's add a helper to clear the event record
for a UMP-capable sequencer event.
While we're at it, change snd_seq_ev_clear() to be a static inline
function, so that we make sure that the proper pointer type is
passed.
- seq: Check protocol compatibility with the current version
There is no need for checking the protocol compatibility with another
version, but we just need to check for the current version.
- seq: Simplify snd_seq_extract_output()
Now that we never put UMP events on the output buffer in the legacy
mode, the check and skip of UMP events are no longer necessary.
It means that ump_allowed argument is meaningless in extract_output(),
too.
Let's drop the unnecessary check and move the code extract_output()
into snd_seq_extract_output() again, and call this directly from
snd_seq_ump_extract_output() for simplification.
- seq: Clear UMP event flag for legacy apps
It seems that some applications (at least Chrome WebMIDI) set random
bits to the flags of event packet, and this confuses as if they were
UMP-events, which are eventually filtered out.
Although it's a bug of applications, it's better to avoid the
regressions. So this patch forcibly clears the UMP flag of the
incoming and outgoing events when the application is running in the
legacy mode (i.e. midi_version = 0).
Closes: https://github.com/alsa-project/alsa-lib/issues/360
- seq: Fix invalid sanity-check in snd_seq_set_input_buffer_size()
snd_seq_set_input_buffer_size() has an assert() call with packet_size,
but it's still uninitialized at that point. Fix it with the real
packet size.
- reshuffle included files to include config.h as first - v2
config.h may contain defines like _FILE_OFFSET_BITS which influence
the system wide include files (off_t types, open -> open64 function
usage etc.).
Related: https://github.com/alsa-project/alsa-lib/pull/333
Topology API
- topology: fix Versions file
The exported symbols were tagged with ALSA_0.9 version previously.
We cannot use a different version (regressions).
- add back Versions source file to EXTRA_DIST to fix packaging
- topology: separate Versions linker script
A slightly different solution is preferred than PR recommends (bellow).
Only symbols with snd_ prefix should be public. Create a minimal Versions
file for libatopology.
Link: https://github.com/alsa-project/alsa-lib/pull/376
/src/Makefile.am
- add back Versions source file to EXTRA_DIST to fix packaging
- src/Versions.in: Add guards for pcm and timer syms
Configure script allows for the disabling of the pcm module. When
disabled, the pcm symbols will not be available. Add guards to remove
symbols from version map when not present.
Closes: https://github.com/alsa-project/alsa-lib/pull/376
- src/Versions.in: Add guards for opt. alisp symbols
Add guards for optional alisp symbols. This ensures that the Versions
file does not contain undefined symbols when building alisp support is
disabled.
Fixes Gentoo bugs 914511 (https://bugs.gentoo.org/914511),
914643 (https://bugs.gentoo.org/914643),
and 919417 (https://bugs.gentoo.org/919417).
Fixes bug #305
Fixes alsa_lisp symbol error reported in bug #356
Closes: https://github.com/alsa-project/alsa-lib/pull/376
Link: https://github.com/alsa-project/alsa-lib/issues/356
ALSA Server
- aserver: fix buffer overwriting
name array should allocate space for the null terminator. Also, need to
check if client->name has enough space for strcpy.
Closes: https://github.com/alsa-project/alsa-lib/pull/364
Configuration
- conf: pcm: Set C-Media USB 7.1 sound card (ICUSBAUDIO7D) to six_channel for surround40
This 7.1 analog sound card identifies as the following:
0d8c:0102 C-Media Electronics, Inc. CM106 Like Sound Device (lsusb)
1 [ICUSBAUDIO7D ]: USB-Audio - ICUSBAUDIO7D (/proc/asound/cards)
It has the following four-channel analog stream layout:
Interface 1
Altset 3
Format: S16_LE
Channels: 4
Endpoint: 6 OUT (ADAPTIVE)
Rates: 44100, 48000
Bits: 16
Channel map: FL FR FC LFE
(/proc/asound/card1/stream0)
This layout makes it impossible to play audio to the surround (SL/SR)
speakers plugged into the "Surround" jack in 4 channel mode. Instead,
set six_channel so that the six-channel layout will be used to access
those speakers:
Interface 1
Altset 4
Format: S16_LE
Channels: 6
Endpoint: 6 OUT (ADAPTIVE)
Rates: 44100, 48000
Bits: 16
Channel map: FL FR FC LFE SL SR
Tested with speaker-test -Dsurround40:CARD=ICUSBAUDIO7D,DEV=0 -c4
The speaker system that required surround40 in order to downmix LFE into
the front/rear mix is a Klipsch ProMedia v.2-400, which has 4 speakers
and a subwoofer with an internal crossover, connected via front and rear
stereo analog cables.
Closes: https://github.com/alsa-project/alsa-lib/pull/319
Filename helpers
- reshuffle included files to include config.h as first - v2
config.h may contain defines like _FILE_OFFSET_BITS which influence
the system wide include files (off_t types, open -> open64 function
usage etc.).
Related: https://github.com/alsa-project/alsa-lib/pull/333
Kernel Headers
- pcm: Add MSBITS subformat options
Improve granularity of format selection for S32/U32 formats by adding
masks representing 20, 24 and 32 most significant bits.
Closes: https://github.com/alsa-project/alsa-lib/pull/342
alsa-utils
Core
- Release v1.2.11
- configure.ac: fix UMP support detection
https://github.com/alsa-project/alsa-utils/commit/b399fb85a919636b7da34e8bcf17f484dd9046f7
added usage of alsa/ump_msg.h without checking whether alsa-lib was
compiled with rawmidi support:
https://github.com/alsa-project/alsa-lib/blob/master/include/Makefile.am#L37
Fixes a build error when alsa-lib was compiled with --disable-rawmidi
aplaymidi.c:34:10: fatal error: alsa/ump_msg.h: No such file or directory
34 | #include <alsa/ump_msg.h>
Closes: https://github.com/alsa-project/alsa-utils/pull/240
- github: Try to fix the build with the release tag
ALSA Control (alsactl)
- alsactl: fix potential buffer overwrite
The 'call to sprintf' operation on line 413 requires 21 bytes
but the destination is only 16 bytes.
- alsa-restore.rules: use devnode instead number atribute
ALSA RawMidi Utility (amidi)
- amidi: use ATTRIBUTE_UNUSED instead remove argument name
We need to support older compilers than GCC 11.
Link: https://github.com/alsa-project/alsa-utils/issues/233
Audio Transfer utility
- axfer: use ATTRIBUTE_UNUSED instead remove argument name
We need to support older compilers than GCC 11.
Link: https://github.com/alsa-project/alsa-utils/issues/233
NHLT ACPI parser
- nhlt-dmic-info: fix simple memory leak issue
- misc: fix incorrect usages of `strerror`
`strerror` takes the `errno` directly as its argument,
negating it will result in an "Unknown error".
This fixes such usages across multiple modules.
- Revert "nhlt-dmic-info.c: include sys/types.h"
This reverts commit 0925ad7f09b2dc77015784f9ac2f5e34dd0dd5c3.
This isn't necessary now that we use standard types (sys/types.h just
defines some compatibility typedefs).
Closes: https://github.com/alsa-project/alsa-utils/pull/234
- nhlt: use stdint.h types
u_int_* aren't standard, but uint* are. Use those instead for musl compat.
Closes: https://github.com/alsa-project/alsa-utils/pull/234
Bug: https://bugs.gentoo.org/913758
- nhlt-dmic-info.c: include sys/types.h
This fixes an issue compiling with the musl libc.
Speaker Test
- speaker-test: Use smaller periods in the default settings
We would like to break the speaker test using Ctrl-C (SIGINT) more early.
In the default settings, the periods are too big and the responsivity
of the speaker-test utility may be several seconds.
- speaker-test: Add bandwidth-limited pink noise at -18.5dB AES FS Based
Closes: https://github.com/alsa-project/alsa-utils/pull/251
aconnect
- seq: use ATTRIBUTE_UNUSED instead remove argument name
We need to support older compilers than GCC 11.
Link: https://github.com/alsa-project/alsa-utils/issues/233
alsaloop
- alsaloop: use ATTRIBUTE_UNUSED instead remove argument name
We need to support older compilers than GCC 11.
Link: https://github.com/alsa-project/alsa-utils/issues/233
alsatplg (topology)
- topology: Fix one character typo in code comments
Closes: https://github.com/alsa-project/alsa-utils/pull/250
- topology: Expand attribute references inside $[] expressions
Properly expand referred object attributes inside $[] expression. This
allows for example this simplified case:
Define {
CHANNELS 2
BIT_DEPTH 16
}
Object.Base.foo {
channels $CHANNELS
sample_bits $BIT_DEPTH
frame_bits "$[$channels * $sample_bits]"
}
Closes: https://github.com/alsa-project/alsa-utils/pull/250
- topology: nhlt: Fix dmic configuration blob building
The dmic configuration functions are called for each dmic DAI (or
FIFO) separately, and each dmic DAI is configured in their own
configuration rounds. However, the later configured dmic FIFO may
change the common clock divider and thus affect the FIR configuration
of the first configured DAI. However, the first configured FIR blob is
not touched after it is configured for the first time.
To overcome this problem always check the both FIR configurations, no
matter which DAI we are configuring.
Closes: https://github.com/alsa-project/alsa-utils/pull/250
Suggested-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
- topology: nhlt: fix simple memory leak
- misc: fix incorrect usages of `strerror`
`strerror` takes the `errno` directly as its argument,
negating it will result in an "Unknown error".
This fixes such usages across multiple modules.
- nhlt: Revert SSP_ANALOG device_type field
This partially reverts commit 3a47ef2487ed ("topology: nhlt: intel:
support more device types and directions"), which changed the default
device_type in the endpoint descriptor from zero to SSP_ANALOG.
This change breaks the Linux kernel NHLT parser (which AFAICT doesn't
recognize SSP_ANALOG at all), producing errors like:
[56458.583812] sof-audio-pci-intel-mtl 0000:00:1f.3: no matching blob for sample rate: 48000 sample width: 32 channels: 2
[56458.583833] sof-audio-pci-intel-mtl 0000:00:1f.3: failed to prepare widget dai-copier.SSP.SSP0-Codec.playback
[56458.583840] sof-audio-pci-intel-mtl 0000:00:1f.3: Failed to prepare connected widgets
[56458.583847] sof-audio-pci-intel-mtl 0000:00:1f.3: error: failed widget list set up for pcm 1 dir 0
[56458.583853] sof-audio-pci-intel-mtl 0000:00:1f.3: ASoC: error at snd_soc_pcm_component_hw_params on 0000:00:1f.3: -22
Revert for compatibility.
- topology: add include for ENABLE_NLS on musl
Needed for setlocale().
(After rebasing to pick up 8c229270f6bae83b705a03714c46067a7aa57b02, just
move it to be guarded as the include now exists.)
Closes: https://github.com/alsa-project/alsa-utils/pull/234
- topology: pre-processor: Add support for enum controls
Add support for adding enum controls in the topology pre-processor.
Closes: https://github.com/alsa-project/alsa-utils/pull/236
- topology: include locale.h
This solves an issue compiling with the musl libc.
- topology: use ATTRIBUTE_UNUSED instead remove argument name
We need to support older compilers than GCC 11.
Link: https://github.com/alsa-project/alsa-utils/issues/233
alsaucm
- misc: fix incorrect usages of `strerror`
`strerror` takes the `errno` directly as its argument,
negating it will result in an "Unknown error".
This fixes such usages across multiple modules.
- alsaucm: use ATTRIBUTE_UNUSED instead remove argument name
We need to support older compilers than GCC 11.
Link: https://github.com/alsa-project/alsa-utils/issues/233
aplay/arecord
- aplay: status dumps are called only in verbose mode
Do not enable timestamps for the normal operation.
- aplay: enable timestamps by default
When the '-v' or '--test-position' options are used, the 'tstamp' is
shown as zero. Unconditionally enable the timestamps and choose the
timestamp time based on the 'monotonic' variable.
Example log:
Status(R/W) (standalone avail=36 delay=924):
state : RUNNING
trigger_time: 2045.504937
tstamp : 2190.754602
delay : 924
avail : 36
avail_max : 444
Status(R/W) (standalone avail=44 delay=912):
state : RUNNING
trigger_time: 2045.504937
tstamp : 2190.754852
delay : 912
avail : 48
avail_max : 48
underrun!!! (at least 471.161 ms long)
Status:
state : XRUN
trigger_time: 2190.786234
tstamp : 2191.257392
delay : 0
avail : 1412
avail_max : 1412
aplay: xrun:1690: fatal underrun: Success
Closes: https://github.com/alsa-project/alsa-utils/pull/242
- aplay: log pcm status before reporting a fatal error
When the --fatal-errors happen, nothing is provided to the user even
when the '-v' verbose option is specified. This patch adds the fatal
error exit after dumping the logs. No functionality change, just
better information on what just happened.
Closes: https://github.com/alsa-project/alsa-utils/pull/242
- aplay: allow to compile with older alsa-lib (subformat)
- aplay: Add option for specifying subformat
Make subformat first-class citizen by allowing users to specify it just
like it is the case for the format. Default to SND_PCM_SUBFORMAT_STD so
they are no surprises.
Closes: https://github.com/alsa-project/alsa-utils/pull/228
- aplay: fix buffer overflow and tainted format string
Prior this commit, memcpy from names[0] to format[] will overwrite if
strlen(names[0]) is greater than 1024. Also, the length of malloc()ed
names[channel] is insufficient, leading to another buffer overwriting
when calling sprintf(). Moreover, the format string of sprintf()
can be controlled by user input. An attacker can exploit this weakness
to crash the program, disclose information or even execute arbitrary
code.
Fix by allocating enough space for arrays and using constant expressions
as the format strings.
- aplay: use stdint.h types instead u_int/u_short/u_char
Closes: https://github.com/alsa-project/alsa-utils/pull/234
aplaymidi/arecordmidi
- aplaymidi: Set event completely for tempo event
After UMP support was added in b399fb8 ev.type setting was inadvertently
dropped in the code path handling tempo meta event.
This is causing tempo meta events to not be handled at all.
Moreover, snd_seq_ev_set_fixed is also missing so MIDI files with
variable events such as SYSEX before the tempo meta event usually are
causing a segfault.
Closes: https://github.com/alsa-project/alsa-utils/issues/241
- seq: use ATTRIBUTE_UNUSED instead remove argument name
We need to support older compilers than GCC 11.
Link: https://github.com/alsa-project/alsa-utils/issues/233
aseqdump
- seq: use ATTRIBUTE_UNUSED instead remove argument name
We need to support older compilers than GCC 11.
Link: https://github.com/alsa-project/alsa-utils/issues/233
aseqnet
- seq: use ATTRIBUTE_UNUSED instead remove argument name
We need to support older compilers than GCC 11.
Link: https://github.com/alsa-project/alsa-utils/issues/233
bat (basic audio tester)
- bat: really skip analysis of the first period and update related comment
Prior to this change bat/analyze.c would skip the last period of the recording, contrary to
what the comment in the code which stated the first period was meant to be skipped.
The comment has been updated to state that both the first and last period are skipped and the code
has been updated to match.
Closes: https://github.com/alsa-project/alsa-utils/pull/237
- bat: use ATTRIBUTE_UNUSED instead remove argument name
We need to support older compilers than GCC 11.
Link: https://github.com/alsa-project/alsa-utils/issues/233
alsa-ucm-conf
Configuration
- ucm2: acp3x-es83xx: introduce UCM support for acp3x-es83xx
Based on already existing UCM support in ucm2/Intel/sof-essx8336
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/391
- Qualcomm: Add SM8650 MTP HiFi config
Add UCM2 configs for the Qualcomm SM8650-MTP Board:
- on-board Speakers
Linux devicetree changes:
https://lore.kernel.org/all/20240125-topic-sm8650-upstream-audio-dt-v1-2-c24d23ae5763@linaro.org/
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/390
- Qualcomm: Add SM8650 QRD HiFi config
Add UCM2 configs for the Qualcomm SM8650-QRD Board:
- on-board Speakers
- on-board Bottom and Back microphones
- Headphones Speakers and Microphone
Linux devicetree changes:
https://lore.kernel.org/all/20240125-topic-sm8650-upstream-audio-dt-v1-1-c24d23ae5763@linaro.org/
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/390
- codecs: qcom-lpass/tx-macro: Add Soundwire Analog
Add configs to enable/disable Analog Microphones.
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/390
- codecs: wcd939x: Add wcd939x configs
Add UCM2 configs for the Qualcomm WCD939x codecs:
- Analog Microphones
- Headphones Speaker and Microphone
Linux accepted Codec patchset:
https://lore.kernel.org/all/20231219-topic-sm8650-upstream-wcd939x-codec-v4-0-1c3bbff2d7ab@linaro.org/
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/390
- codecs: wsa884x: add two-speakers DefaultEnableSeq.conf
Add the DefaultEnableSeq.conf for the two-speakers setup
the same way done for the four-speakers setup.
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/390
- USB-Audio: ALC4080: Add support for MSI MPG B650 Carbon Wifi
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/392
- ucm: MediaTek: mt8395-evk: Add HDMIRX config
Add HDMI RX config and modify the priority value
of the capture devices.
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/389
- USB-Audio: ALC4080: Add support for Asus ROG Maximus Z790 Apex Encore motherboard (0b05:1a97)
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/388
- ucm2: Qualcomm: Lenovo-X13s: reduce default headphones volume further
A recent change reduced the default headphones volume from setting 20
(0 dB) to 10 (-15 dB) but also this setting can be quite loud and cause
distortion with some headphones.
Reduce the default volume further to setting 2 (-27 dB), which results
in more comfortable volume levels with such headphones.
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/387
- ucm2: conf.d: mt8370-evk: Fix the type of mt8370-evk.conf
Fix the type of mt8370-evk.conf at /ucm2/conf.d, to let the
symbolic link can correctly point to the conf.
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/386
- sof-soundwire: Add basic support for cs42l43
cs42l43 is a codec device, add basic support for it. Including a dual
channel DMIC input, stereo headphones, and a mono headset microphone.
Link: https://lore.kernel.org/alsa-devel/20240117142125.1080500-1-ckeepax@opensource.cirrus.com/
- ucm2: MediaTek: mt8370-evk: Add alsa-ucm support
Add alsa-ucm support for the MediaTek mt8370-evk platform.
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/380
- ucm2: MediaTek: mt8395-evk: Add alsa-ucm support
Add alsa-ucm support for the MediaTek mt8395-evk platform.
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/322
- ucm2: MediaTek: mt8390-evk: Add alsa-ucm support
Add alsa-ucm support for the MediaTek mt8390-evk platform.
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/321
- ucm2: Qualcomm: sc8280xp: rename include identifier
Rename the WSA macro include identifier, which has nothing to do with
the WCD headphone codec, for consistency.
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/382
- ucm2: Qualcomm: Lenovo-X13s: reduce default headphones volume
Reduce the default heaphones volume to something more reasonable as the
current setting (0 dB) can be quite loud.
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/382
- ucm2: Qualcomm: sc8280xp/x1e80100: fix default volume settings
Default volume settings should be specified in the BootSequence rather
than in device enable sequences to allow users to override the defaults.
Add machine specific BootSequences to set up reasonable defaults for the
Lenovo ThinkPad X13s and X1E80100 CRD. Note that the settings depends on
the actual hardware configuration and should therefore not be specified
in the (potentially shared) codec init files.
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/382
- ucm2: Qualcomm: x1e80100: fix hardware volume control
The lazy include of the four codec initialisation files are incorrectly
specified using the same identifier which means that only the last one
is actually included.
This specifically means that the sound server falls back to software
mixing as the Speaker and Headphones mixer elements are not defined.
The default Mic volume and Speaker digital volume are also never set by
the BootSequence as intended (even if the Mic volume is currently
overridden in the enable sequence).
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/382
- ucm2: Qualcomm: sc8280xp: fix hardware volume control
The lazy include of the four codec initialisation files are incorrectly
specified using the same identifier which means that only the last one
is actually included.
This specifically means that the sound server falls back to software
mixing as the Speaker and Headphones mixer elements are not defined.
The default Mic volume and Speaker digital volume are also never set by
the BootSequence as intended (even if the Mic volume is currently
overridden in the enable sequence).
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/382
- USB-Audio: Fix ProfileName for HeadphonesOnly for Topping DX3 Pro+
Doesn't take effect otherwise on my DX3 Pro+.
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/383
- USB-Audio: Move Topping DX3 Pro+ config to Common/Headphones
The configuration is too generic. We can expect that more
hardware will follow this configuration.
Link: https://github.com/alsa-project/alsa-ucm-conf/pull/362
- USB-Audio: Add UCM2 configuration for Topping DX3 Pro+
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/362
- USB-Audio: move zedi10 block to follow USB ID sort order
- USB-Audio: Add support for Solid State Labs SSL 2
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/377
- USB-Audio: add MOTU M6 config
This card shares the same ID as the MOTU M2 and M4, so we use the long
card name to identify it.
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/378
- USB-Audio: fix comment in MOTU M4 config
Mic2 is 2R, not 1R, so update the Stereo entry accordingly. This makes
it consistent with the M2 and M6 configs.
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/379
- USB-Audio: ALC4080: Add MSI MEG Z690 ACE support (0db0:124b)
Tested this out on my motherboard and it fixed my problem with
the onboard sound being treated as a generic USB device.
Fixing it allowed me to record from line-in, among other things.
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/381
- USB-Audio: ALC4080 - disable S/PDIF for 0db0:36e7 (MSI MPG B650I EDGE WIFI)
Link: https://github.com/alsa-project/alsa-ucm-conf/issues/281
- Initialise AIF2 ADC Stereo Capture Route
As pointed out in issue #351 [1], the parameter 'AIF2 ADC Stereo
Capture Route' was previously uninitialised. I'm not very convinced
that this particular value (Mix Mono) is the best combination with
the other PinePhone settings, but better that there is at least
a value rather than no value, so that people can provide bug
reports based on tests that are closer to being reproducible.
As described in [1], there is circumstantial evidence favouring
this value.
This commit does not set a value for HiFi.conf - presumably
the value is irrelevant for HiFi, which does not appear to
be as buggy as VoiceCall.
[1] https://github.com/alsa-project/alsa-ucm-conf/issues/351
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/365
- Documentation: Add ucm URL
This commit adds the main alsa-ucm-conf documentation
URL to PinePhone.conf, and clarifies the relevance of
the other three URLs.
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/366
- ucm2: Qualcomm: x1e80100: add Qualcomm X1E80100 CRD
Add support to Qualcomm X1E80100 CRD with four smart speakers and a
headset connector.
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/369
- ucm2: codecs: wsa-macro: add 2xWSA arrangements
On four-speaker setups we have two instances of WSA macro codecs with
sound-name-prefix ("WSA" and "WSA2"). Add sequences for such
configuration.
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/369
- ucm2: codecs: wsa884x: add codec sequences
Add enable and disable codec sequence for wsa884x codecs in two and four
speaker configurations.
- sof-soundwire: Add basic support for basic cs35l56 configurations
cs35l56 is a boosted speaker amp, add UCM support for configurations
with up to 8 amps.
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/370
- sof-soundwire: Use one file for speaker codec initialization
Use macros to minimize configuration blocks.
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/370
- acp5x: add Stream Deck OLED Model
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/373
- Arturia Minifuse 4: Use forced S32_LE format like for Minifuse 1 and 2
- USB-Audio: ALC4080: Fix S/PDIF for 0b05:1a5c
Closes: https://github.com/alsa-project/alsa-ucm-conf/issues/342
- USB-Audio: ALC4080: Fix S/PDIF for 0b05:1a53
Link: https://github.com/alsa-project/alsa-ucm-conf/issues/350#issuecomment-1712886745
- USB-Audio: ALC4080: add MPG Z590M GAMING EDGE WIFI
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/376
- bytcr-wm5102: Add support for different microphone routes
Unlike all designs supported sofar the Lenovo Yoga Tab 3 YT3-X90 does not
have its internal microphone (intmic) on IN3L with the headset microphone
on IN1L. Instead this tablet has the intmic on IN1L and the hsmic on IN2L.
Add IN1-InternalMic.conf and IN2-HeadsetMic.conf config snippets
under ucm2/codecs/wm5102/ for this and check the components string
to determine which microphone routes should be used.
Link: https://lore.kernel.org/alsa-devel/20231021211614.115152-2-hdegoede@redhat.com/
- bytcr-wm5102: Add support for speakers connected to HPOUT2
On the Lenovo Yoga Tab 3 YT3-X90 the speaker amplifiers are connected
to the HPOUT2 output pins instead of the the SPK output pins.
Check for "cfg-spk:hpout2" in the components string which indicates
this setup and add a ucm2/codecs/wm5102/HPOut2-Speaker.conf file
for this setup.
Link: https://lore.kernel.org/alsa-devel/20231021211614.115152-1-hdegoede@redhat.com/
- chtnau8824: Mono speaker fixes
2 mono speaker setup fixes:
1. Use the kernel's components string to check for a mono-speaker device
when the board has a components string.
2. So far known nau8824 boards with a mono speaker where using the right
speaker channel, which is unusual. Normally mono speaker setups use
only the left speaker channel. The Cyberbook T116 tablet is a nau8824
based model, which indeed uses the left speaker channel for its single
speaker.
Modify ucm2/codecs/nau8824/MonoSpeaker.conf to send a left+right
channel mix to both speaker channels, so that things will work
independent of which speaker channel is used for a mono setup.
Link: https://lore.kernel.org/alsa-devel/20231021143109.52210-1-hdegoede@redhat.com/
- codecs/es8316: Fix mono speaker settings from previous boot getting applied
When codecs/es8316/MonoSpeaker.conf's EnableSeq was run last before
shutdown the 'Playback Polarity' and 'DAC Mono Mix Switch' controls for
Mono Speaker output get saved and restored on the next boot.
These settings are undone by the MonoSpeaker DisableSeq, but that never
runs when an updated kernel switches from the default "cfg-spk:1" in
components to "cfg-spk:2" for devices which do actually have 2 speakers,
which causes the ucm profile to use codecs/es8316/Speaker.conf instead.
Set the 'Playback Polarity' and 'DAC Mono Mix Switch' controls to their
defaults in codecs/es8316/EnableSeq.conf to avoid them getting stuck
in Mono mix mode in this scenario.
Link: https://lore.kernel.org/alsa-devel/20231029145007.24106-1-hdegoede@redhat.com/
- ucm2: acpd7219m98357: Use common da7219 BootSequence
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/361
- ucm2: add acpd7219m98357
For "grunt" chromebooks
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/361
- ucm2: soundwire: add rt713 SDCA device
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/363
- Add UCM2 configuration for Behringer UMC404HD
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/358
- ucm2: acp3xalc5682m98: Add priority values
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/357
- ucm2: acp3xalc5682m98: Add JackControls
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/357
- meson: add initial libretech cc support
Add support for the libretech-cc based on the amlogic s905x
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/355
- meson: add initial p241 support
Add support for the p241 board, the amlogic s905x reference design
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/355
- Add a config for the Allen & Heath Zedi 10 mixer.
The mixer has an embedded 4x4 USB interface, this config surfaces
the mixer channels as 4 mono inputs, 2 stereo inputs and 2 stereo
outputs. Config based on the Behringer Flow8 config.
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/341
- Roland/BridgeCast - adjust capture priority for input channels
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/354
- Roland/BridgeCast - adjust new input channels after latest FW update
- the latest FW updated exposed yet another channel
for SFX sounds, played on button events
- legacy channels have been renumbered
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/354
- Roland/BridgeCast - config, improve config title
- comment is used as profile name when using
pavucontrol, DEFAULT wasn't saying much
thus I've changed it to something more
explanatory.
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/354
- Roland Bridgecast - add missing intermediate config file
- tested on ArchLinux running UCM version 1.2.10
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/354
- ucm2: codecs: lpass-rx: use set Digital gain at 0dB
For some reason we ended up with a Digital gain below 0dB, resulting in
a very low HP volume.
Fix this to 0dB and let Analog gain control HP volume.
Also remove all redundant setting of this control.
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/335
Tested-by: Johan Hovold <johan+linaro@kernel.org>
- ucm2: codecs: lpass-wsa: use set Digital gain at 0dB
For some reason we ended up with a Digital gain below 0dB, resulting in
a very low speaker volume.
Fix this to 0dB and let Analog gain control speakers volume.
CloseS: https://github.com/alsa-project/alsa-ucm-conf/pull/335
Tested-by: Johan Hovold <johan+linaro@kernel.org>
- ucm2: Qualcomm: sc8280xp: use Speakers volume control
Make use of Speakers volume control to control analog gain on WSA
Speakers.
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/335
Tested-by: Johan Hovold <johan+linaro@kernel.org>
- ucm2: codecs: wsa883x: add Speakers Volume in init conf
Add combined analog volume controls for Speakers in the init conf
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/335
Tested-by: Johan Hovold <johan+linaro@kernel.org>
- ucm2: codecs: wcd938x: use Analog volume for HeadPhones
Current setup used Digital Volume to control Headset Volume which is
pretty saturated after centain gain. Fix the Digital gain at 0dB and use
Analog gain to do the volume control.
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/335
Tested-by: Johan Hovold <johan+linaro@kernel.org>
- SplitPCM: Device argument may not be set
Link: https://github.com/alsa-project/alsa-ucm-conf/issues/346
Description
- Release v1.2.11