Commit graph

446 commits

Author SHA1 Message Date
Jaroslav Kysela
1f52b57ff8 conf: ICE17[12][24]: define pcm configuration block only one time
There may be multiple ICE17[12][24] soundcards in the system. Overwrite
the PCM configurations when loaded multiple times.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-12-10 16:36:20 +01:00
Jaroslav Kysela
dded72a687 conf: HdmiLpeAudio: define pcm configuration block only one time
There may be multiple HdmiLpeAudio soundcards in the system. Overwrite
the PCM configurations when loaded multiple times.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-12-10 16:36:20 +01:00
Jaroslav Kysela
a87570df72 conf: GUS: define pcm configuration block only one time
There may be multiple GUS soundcards in the system. Overwrite
the PCM configurations when loaded multiple times.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-12-10 16:36:20 +01:00
Jaroslav Kysela
ea93979929 conf: FWSpeakers: define pcm configuration block only one time
There may be multiple FWSpeakers soundcards in the system. Overwrite
the PCM configurations when loaded multiple times.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-12-10 16:36:20 +01:00
Jaroslav Kysela
9f46e1a5a4 conf: FM801: define pcm configuration block only one time
There may be multiple FM801 soundcards in the system. Overwrite
the PCM configurations when loaded multiple times.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-12-10 16:36:20 +01:00
Jaroslav Kysela
2d5aa02738 conf: FireWave: define pcm configuration block only one time
There may be multiple FireWave soundcards in the system. Overwrite
the PCM configurations when loaded multiple times.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-12-10 16:36:20 +01:00
Jaroslav Kysela
001a2f3809 conf: ES1968: define pcm configuration block only one time
There may be multiple ES1968 soundcards in the system. Overwrite
the PCM configurations when loaded multiple times.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-12-10 16:36:20 +01:00
Jaroslav Kysela
7cf26f6038 conf: ENS137[01]: define pcm configuration block only one time
There may be multiple ENS137[01] soundcards in the system. Overwrite
the PCM configurations when loaded multiple times.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-12-10 16:36:20 +01:00
Jaroslav Kysela
dba724706a conf: EMU10K1X: define pcm configuration block only one time
There may be multiple EMU10K1X soundcards in the system. Overwrite
the PCM configurations when loaded multiple times.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-12-10 16:36:20 +01:00
Jaroslav Kysela
ed4884cbe1 conf: EMU10K1: define pcm configuration block only one time
There may be multiple EMU10K1 soundcards in the system. Overwrite
the PCM configurations when loaded multiple times.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-12-10 16:36:20 +01:00
Jaroslav Kysela
8c10056244 conf: Aureon51: define pcm configuration block only one time
There may be multiple Aureon51 soundcards in the system. Overwrite
the PCM configurations when loaded multiple times.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-12-10 16:36:20 +01:00
Jaroslav Kysela
0ba7c27165 conf: Echo3G: define pcm configuration block only one time
There may be multiple Echo3G soundcards in the system. Overwrite
the PCM configurations when loaded multiple times.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-12-10 16:29:47 +01:00
Jaroslav Kysela
1e29ff1840 conf: CS46xx: define pcm configuration block only one time
There may be multiple CS46xx soundcards in the system. Overwrite
the PCM configurations when loaded multiple times.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-12-10 16:29:47 +01:00
Jaroslav Kysela
041299ea39 conf: CMI8xxx: define pcm configuration block only one time
There may be multiple CMI8xxx soundcards in the system. Overwrite
the PCM configurations when loaded multiple times.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-12-10 16:29:47 +01:00
Jaroslav Kysela
68b8b43541 conf: CA0106: define pcm configuration block only one time
There may be multiple CA0106 soundcards in the system. Overwrite
the PCM configurations when loaded multiple times.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-12-10 16:29:47 +01:00
Jaroslav Kysela
ea984c3a7d conf: AU88[123]0: define pcm configuration block only one time
There may be multiple AU88[123]0 soundcards in the system. Overwrite
the PCM configurations when loaded multiple times.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-12-10 16:29:38 +01:00
Jaroslav Kysela
7079887cd2 conf: Aureon: define pcm configuration block only one time
There may be multiple Aureon soundcards in the system. Overwrite
the PCM configurations when loaded multiple times.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-12-10 16:28:41 +01:00
Jaroslav Kysela
e5dbefdff1 conf: Audigy: define pcm configuration block only one time
There may be multiple Audigy soundcards in the system. Overwrite
the PCM configurations when loaded multiple times.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-12-10 16:28:41 +01:00
Jaroslav Kysela
3969e45812 conf: AACI,ATIIXP: define pcm configuration block only one time
There may be multiple AACI,ATIIXP soundcards in the system. Overwrite
the PCM configurations when loaded multiple times.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-12-10 16:28:38 +01:00
Jaroslav Kysela
d83af363f1 conf: vc4-hdmi: define pcm configuration block only one time
There may be multiple vc4-hdmi soundcards in the system. Overwrite
the PCM configurations when loaded multiple times.

BugLink: https://github.com/alsa-project/alsa-lib/issues/488
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-12-10 14:01:32 +01:00
Jaroslav Kysela
010b699c92 conf: HDA-Intel: define pcm configuration block only one time
Some checks are pending
Build alsa-lib / fedora_latest_build (push) Waiting to run
Build alsa-lib / ubuntu_last_build (push) Waiting to run
There may be multiple HDA-Intel soundcards in the system. Overwrite
the PCM configurations when loaded multiple times.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-12-10 12:14:54 +01:00
Jaroslav Kysela
16ab43db6e conf: USB-Audio: define pcm configuration block only one time
There may be multiple USB soundcards in the system. Overwrite
the PCM configurations when loaded multiple times.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-12-10 12:12:47 +01:00
Olivier Blin
b33d0e4ced conf/pistachio: fix syntax
It was missing closing brackets since its introduction.

Closes: https://github.com/alsa-project/alsa-lib/pull/470
Fixes: 4dfa8f08fb ("conf/cards: add support for pistachio-card.")
Signed-off-by: Olivier Blin <olivier.blin@softathome.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-11-07 20:58:27 +01:00
Daniel Dadap
07ec2ad34c 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.

Signed-off-by: Daniel Dadap <ddadap@nvidia.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2025-05-22 09:04:55 +02:00
Simon Howard
647c001321 Delete alsalisp code
Install of the alsalisp binary has been disabled since 2006 (in commit
8d382ccd), and building of it was disabled by default in 2018 (in commit
32ceab21), so it is reasonable to assume that nobody is using it.

Use within the alsa-lib project is limited to an aliases file that looks
like it is intended as an example, plus some very small .alisp files
associated with the SiS SI7018 PCI sound card which has not been
manufactured in years. These too have not been installed since 2018 when
commit 32ceab21 disabled building of the alsalisp binary.

In preparing this change, I searched the Github issue tracker for
"lisp", "alisp" and "alsalisp", and found no complaints about the above
changes. I also did a Github code search for projects that might be
including the `alisp.h` header and found none. Therefore I think this
code can be safely deleted and nobody is likely to object.

Closes: https://github.com/alsa-project/alsa-lib/pull/448
Signed-off-by: Simon Howard <fraggle@soulsphere.org>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-04-07 18:36:54 +02:00
Peter Ujfalusi
de529410da conf: aliases: hdmi: Include unconditionally the
The hdmi.conf contains the high level macro to be used by cards to create
the hdmi: device.
Instead of including it in different config files, include it in the main
aliases.conf and remove it's inclusion by other config files.

This change is needed to add support for the hdmi: device mapping via UCM.

Closes: https://github.com/alsa-project/alsa-lib/pull/393
Suggested-by: Jaroslav Kysela <perex@perex.cz>
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2024-04-23 09:11:53 +02:00
David Senoner
08bf1a7b0c conf: USB-Audio: Add Corsair HS60 Pro to the IEC958 blacklist
This device is just an external USB soundcard with a female 3.5mm jack
for a headset, no S/PDIF | IEC958 connector. Add it to the blacklist to
prevent it being opened.

Link: https://lore.kernel.org/alsa-devel/ZeWGbxZIc7AF96h0@m.b4.vu/
Signed-off-by: David Senoner <seda18@rolmail.net>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2024-03-04 09:43:21 +01:00
Geoffrey D. Bennett
6f17ec50b3 conf: USB-Audio: Add more Scarlett devices to the IEC958 blacklist
The Scarlett Solo and 2i2 don't have S/PDIF outputs.

Link: https://lore.kernel.org/alsa-devel/ZeWGbxZIc7AF96h0@m.b4.vu/
Signed-off-by: Geoffrey D. Bennett <g@b4.vu>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2024-03-04 09:39:36 +01:00
Ryan Underwood
b44eff91c9 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
Signed-off-by: Ryan Underwood <nemesis@icequake.net>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2024-01-24 18:12:53 +01:00
Oswald Buddenhagen
798f387fe9 conf/emu10k1: remove compat with two decades old drivers
There really isn't much of a point to clutter the files with this.

Signed-off-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2023-05-03 18:01:40 +02:00
Swapnil Devesh
dac9059524 Remove non existent SPDIF output on ThinkPad USB-C Dock Gen2
Fixes: https://github.com/alsa-project/alsa-lib/pull/268
Signed-off-by: Swapnil Devesh <sid.swapnildevesh@gmail.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2022-10-17 13:13:51 +02:00
Matthias Reichl
df621629d8 conf: vc4-hdmi: use a proper hdmi pcm, fix broken default pcm
Userspace expects to see a HDMI pcm, so remove the somewhat broken
front and iec958 pcms and add a proper hdmi pcm instead.

The hdmi pcm supports HD/HBR audio passthrough and relays the IEC958
status bits on to the kernel driver so it can switch to HBR audio
packets if needed. The control hook is marked optional because kernels
before 5.14 didn't expose the IEC958 controls.

The default pcm never worked as dmix doesn't support the iec958 format.
So drop dmix, only use plug and softvol, and use the hdmi pcm for
iec958 formatting.

Fixes: https://github.com/alsa-project/alsa-lib/issues/229
Link: https://lore.kernel.org/alsa-devel/20220430142845.229409-1-hias@horus.com/
Signed-off-by: Matthias Reichl <hias@horus.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2022-05-19 17:13:59 +02:00
Jaroslav Kysela
ffb401ba22 conf: load the card specific configurations to the config sub-tree
The /var/lib/alsa/card<CARDNO>.conf.d configurations are loaded
to the cards.<CARDNO> tree only (overwrite mode).

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2021-05-13 11:04:33 +02:00
Jaroslav Kysela
a468505c96 alsa: conf - use card number roots for device redirects
The change device definitions (pcm.front etc.) from the driver
roots (cards.<DRIVER_NAME>) to the card number roots (cards.<CARDNO>).

This will allow us to do custom overrides (like UCM) in
/var/lib/alsa/card<CARDNO>.conf.d.

For dmix and dsnoop default values, use the card ID instead
the card driver name. It's more flexible.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2021-05-04 20:51:16 +02:00
Jaroslav Kysela
63f7745be5 conf: extend load_for_all_cards hook (id/value table)
For the per-card configuration, add possibility to define
card number -> card driver link table.

Example:

  cards.0 'cards.USB-Audio'
  cards.1 'cards.USB-Audio'
  cards.2 'cards.HDA-Intel'
  cards.3 'cards.USB-Audio'

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2021-05-04 20:27:52 +02:00
Jaroslav Kysela
278462583c control: add missing src/conf/ctl/Makefile.am
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2021-04-23 13:06:07 +02:00
Jaroslav Kysela
8f2b64f0d7 conf: usb - correct 'SB Omni Surround 5.1' iec958 device
BugLink: https://github.com/alsa-project/alsa-lib/issues/101
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2021-04-13 19:58:04 +02:00
Hui Wang
64680bb398 conf: USB - add "Cmedia Audio" to USB-Audio.pcm.iec958_device
Otherwise, there will be a "Digital Output(S/PDIF)-Cmedia Audio" from
Gnome UI, but there is no this physical interface on the card.

BugLink: https://github.com/alsa-project/alsa-lib/pull/122
Signed-off-by: Hui Wang <hui.wang@canonical.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2021-04-13 19:03:31 +02:00
James
748f844106 Remove non-existent SPDIF output on Dell AE515
The Dell Professional Sound Bar AE515 shows up in GNOME Settings with
a digital output that doesn't physically exist. Add it to the list
to suppress this.

BugLink: https://github.com/alsa-project/alsa-lib/pull/124
From: drjhe
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2021-04-13 19:00:55 +02:00
James
2a7432d995 conf: No SPDIF on Plantronics 3220 headset
The Plantronics Blackwire 3220 Series headset (USB ID 047f:c056) shows up
in GNOME Settings with a non-existent digital output. Add it to the list
to suppress this.

BugLink: https://github.com/alsa-project/alsa-lib/pull/126
From: drjhe
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2021-04-13 18:59:21 +02:00
Jaroslav Kysela
bb6bf8d22d conf: add /var/lib/alsa/conf.d directory lookup
It may be handy to put the configurations or symlinks
to the global runtime directory.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2021-04-13 09:23:00 +02:00
Jaroslav Kysela
2e4aee23b9 conf: add /var/lib/alsa/card<NUMBER>.conf.d directory lookups
It may be handy to put extra configurations or symlinks to
the global runtime directory. The configurations may be
created at boot / hotplug event by udev or other scripts.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2021-04-13 09:18:56 +02:00
Jaroslav Kysela
42fe3e40ff conf: make ctl.default and sysdefault devices more universal
It may be handy to add hw specific configs.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2021-04-07 16:24:44 +02:00
Hui Wang
dfbac0e769 conf: HDA-Intel: increase the max number of HDMI/DP output to 11
Intel TGL HDMI/DP codec provides 9 pins (Linux kernel, 9a11ba7388f16:
ALSA: hda: hdmi - add Tigerlake support), and with the DP MST enabled,
the linux kernel will build 11 output devices (3, 7, 8, 9, 10, 11, 12,
13, 14, 15, 16), and current alsa-lib only maps the first 8 output
devices, if users plug the HDMI/DP monitor to the last 3 ports, the
users will not see the output device from pulseaudio or gnome.

We have experienced this issue on a dell TGL machine with a dock, we
plugged 2 HDMP/DP monitors on the dock, but we could only see 1
HDMI/DP output device from pulseaudio or gnome, through investigation,
we found one monitor is plugged in the 2nd port from last.

Signed-off-by: Hui Wang <hui.wang@canonical.com>
BugLink: https://github.com/alsa-project/alsa-lib/pull/118
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2021-02-24 10:09:47 +01:00
Jaroslav Kysela
93752fb4de conf: USB - add "Xonar U7 MKII" to USB-Audio.pcm.iec958_device
BugLink: https://github.com/alsa-project/alsa-lib/issues/100
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2021-01-07 17:49:27 +01:00
Kai-Heng Feng
464c2f8b61 conf: USB-Audio: Disable IEC958 on Lenovo ThinkStation P620
Both USB audio cards on Lenovo ThinkStation P620 don't support IEC958,
so disable IEC958 accordingly.

Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2020-08-11 13:17:15 +02:00
omar
a80606d1ab conf: pcm - USB - Added S/PDIF fix for Asus Xonar SE
Resolves #70
From: omar <odzinic@gmail.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2020-07-27 11:46:53 +02:00
Jaroslav Kysela
eb94bf0280 alsa.conf: load /etc/asound.conf or /usr/etc/asound.conf not both
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2020-06-24 19:28:35 +02:00
Takashi Iwai
2c93faaf80 conf: Add /usr/etc to the default search paths
There's been some recent action to move the distribution-default setup
from /etc to /usr/etc, and we should follow that, too.

This patch adds /usr/etc/alsa.conf.d and /usr/etc/alsa.conf to the
default search paths.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2020-06-23 12:47:23 +02:00
Jaroslav Kysela
80a8cc574d conf: make some strings more compact in alsa.conf
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2020-06-18 16:40:38 +02:00