| # SPDX-License-Identifier: GPL-2.0-only |
| # ALSA soundcard-configuration |
| config SND_TIMER |
| tristate |
| |
| config SND_PCM |
| tristate |
| select SND_TIMER if SND_PCM_TIMER |
| |
| config SND_PCM_ELD |
| bool |
| |
| config SND_PCM_IEC958 |
| bool |
| |
| config SND_DMAENGINE_PCM |
| tristate |
| |
| config SND_HWDEP |
| tristate |
| |
| config SND_SEQ_DEVICE |
| tristate |
| |
| config SND_RAWMIDI |
| tristate |
| select SND_SEQ_DEVICE if SND_SEQUENCER != n |
| |
| config SND_UMP |
| tristate |
| select SND_RAWMIDI |
| |
| config SND_UMP_LEGACY_RAWMIDI |
| bool "Legacy raw MIDI support for UMP streams" |
| depends on SND_UMP |
| help |
| This option enables the legacy raw MIDI support for UMP streams. |
| When this option is set, an additional rawmidi device for the |
| legacy MIDI 1.0 byte streams is created for each UMP Endpoint. |
| The device contains 16 substreams corresponding to UMP groups. |
| |
| config SND_CORE_TEST |
| tristate "Sound core KUnit test" |
| depends on KUNIT |
| select SND_PCM |
| default KUNIT_ALL_TESTS |
| help |
| This options enables the sound core functions KUnit test. |
| |
| KUnit tests run during boot and output the results to the debug |
| log in TAP format (https://testanything.org/). Only useful for |
| kernel devs running KUnit test harness and are not for inclusion |
| into a production build. |
| |
| For more information on KUnit and unit tests in general, refer |
| to the KUnit documentation in Documentation/dev-tools/kunit/. |
| |
| |
| config SND_COMPRESS_OFFLOAD |
| tristate |
| |
| config SND_JACK |
| bool |
| |
| # enable input device support in jack layer |
| config SND_JACK_INPUT_DEV |
| bool |
| depends on SND_JACK |
| default y if INPUT=y || INPUT=SND |
| |
| config SND_OSSEMUL |
| bool "Enable OSS Emulation" |
| select SOUND_OSS_CORE |
| help |
| This option enables the build of OSS emulation layer. |
| |
| config SND_MIXER_OSS |
| tristate "OSS Mixer API" |
| depends on SND_OSSEMUL |
| help |
| To enable OSS mixer API emulation (/dev/mixer*), say Y here |
| and read <file:Documentation/sound/designs/oss-emulation.rst>. |
| |
| Many programs still use the OSS API, so say Y. |
| |
| To compile this driver as a module, choose M here: the module |
| will be called snd-mixer-oss. |
| |
| config SND_PCM_OSS |
| tristate "OSS PCM (digital audio) API" |
| depends on SND_OSSEMUL |
| select SND_PCM |
| help |
| To enable OSS digital audio (PCM) emulation (/dev/dsp*), say Y |
| here and read <file:Documentation/sound/designs/oss-emulation.rst>. |
| |
| Many programs still use the OSS API, so say Y. |
| |
| To compile this driver as a module, choose M here: the module |
| will be called snd-pcm-oss. |
| |
| config SND_PCM_OSS_PLUGINS |
| bool "OSS PCM (digital audio) API - Include plugin system" |
| depends on SND_PCM_OSS |
| default y |
| help |
| If you disable this option, the ALSA's OSS PCM API will not |
| support conversion of channels, formats and rates. It will |
| behave like most of new OSS/Free drivers in 2.4/2.6 kernels. |
| |
| config SND_PCM_TIMER |
| bool "PCM timer interface" if EXPERT |
| default y |
| help |
| If you disable this option, pcm timer will be unavailable, so |
| those stubs that use pcm timer (e.g. dmix, dsnoop & co) may work |
| incorrectly. |
| |
| For some embedded devices, we may disable it to reduce memory |
| footprint, about 20KB on x86_64 platform. |
| |
| config SND_HRTIMER |
| tristate "HR-timer backend support" |
| depends on HIGH_RES_TIMERS |
| select SND_TIMER |
| help |
| Say Y here to enable HR-timer backend for ALSA timer. ALSA uses |
| the hrtimer as a precise timing source. The ALSA sequencer code |
| also can use this timing source. |
| |
| To compile this driver as a module, choose M here: the module |
| will be called snd-hrtimer. |
| |
| config SND_DYNAMIC_MINORS |
| bool "Dynamic device file minor numbers" |
| help |
| If you say Y here, the minor numbers of ALSA device files in |
| /dev/snd/ are allocated dynamically. This allows you to have |
| more than 8 sound cards, but requires a dynamic device file |
| system like udev. |
| |
| If you are unsure about this, say N here. |
| |
| config SND_MAX_CARDS |
| int "Max number of sound cards" |
| range 4 256 |
| default 32 |
| depends on SND_DYNAMIC_MINORS |
| help |
| Specify the max number of sound cards that can be assigned |
| on a single machine. |
| |
| config SND_SUPPORT_OLD_API |
| bool "Support old ALSA API" |
| default y |
| help |
| Say Y here to support the obsolete ALSA PCM API (ver.0.9.0 rc3 |
| or older). |
| |
| config SND_PROC_FS |
| bool "Sound Proc FS Support" if EXPERT |
| depends on PROC_FS |
| default y |
| help |
| Say 'N' to disable Sound proc FS, which may reduce code size about |
| 9KB on x86_64 platform. |
| If unsure say Y. |
| |
| config SND_VERBOSE_PROCFS |
| bool "Verbose procfs contents" |
| depends on SND_PROC_FS |
| default y |
| help |
| Say Y here to include code for verbose procfs contents (provides |
| useful information to developers when a problem occurs). On the |
| other side, it makes the ALSA subsystem larger. |
| |
| config SND_VERBOSE_PRINTK |
| bool "Verbose printk" |
| help |
| Say Y here to enable verbose log messages. These messages |
| will help to identify source file and position containing |
| printed messages. |
| |
| You don't need this unless you're debugging ALSA. |
| |
| config SND_CTL_FAST_LOOKUP |
| bool "Fast lookup of control elements" if EXPERT |
| default y |
| select XARRAY_MULTI |
| help |
| This option enables the faster lookup of control elements. |
| It will consume more memory because of the additional Xarray. |
| If you want to choose the memory footprint over the performance |
| inevitably, turn this off. |
| |
| config SND_DEBUG |
| bool "Debug" |
| help |
| Say Y here to enable ALSA debug code. |
| |
| config SND_DEBUG_VERBOSE |
| bool "More verbose debug" |
| depends on SND_DEBUG |
| help |
| Say Y here to enable extra-verbose debugging messages. |
| |
| Let me repeat: it enables EXTRA-VERBOSE DEBUGGING messages. |
| So, say Y only if you are ready to be annoyed. |
| |
| config SND_PCM_XRUN_DEBUG |
| bool "Enable PCM ring buffer overrun/underrun debugging" |
| default n |
| depends on SND_DEBUG && SND_VERBOSE_PROCFS |
| help |
| Say Y to enable the PCM ring buffer overrun/underrun debugging. |
| It is usually not required, but if you have trouble with |
| sound clicking when system is loaded, it may help to determine |
| the process or driver which causes the scheduling gaps. |
| |
| config SND_CTL_INPUT_VALIDATION |
| bool "Validate input data to control API" |
| help |
| Say Y to enable the additional validation for the input data to |
| each control element, including the value range checks. |
| An error is returned from ALSA core for invalid inputs without |
| passing to the driver. This is a kind of hardening for drivers |
| that have no proper error checks, at the cost of a slight |
| performance overhead. |
| |
| config SND_CTL_DEBUG |
| bool "Enable debugging feature for control API" |
| depends on SND_DEBUG |
| help |
| Say Y to enable the debugging feature for ALSA control API. |
| It performs the additional sanity-checks for each control element |
| read access, such as whether the values returned from the driver |
| are in the proper ranges or the check of the invalid access at |
| out-of-array areas. The error is printed when the driver gives |
| such unexpected values. |
| When you develop a driver that deals with control elements, it's |
| strongly recommended to try this one once and verify whether you see |
| any relevant errors or not. |
| |
| config SND_JACK_INJECTION_DEBUG |
| bool "Sound jack injection interface via debugfs" |
| depends on SND_JACK && SND_DEBUG && DEBUG_FS |
| help |
| This option can be used to enable or disable sound jack |
| software injection. |
| Say Y if you are debugging via jack injection interface. |
| If unsure select "N". |
| |
| config SND_VMASTER |
| bool |
| |
| config SND_DMA_SGBUF |
| def_bool y |
| depends on X86 |
| |
| config SND_CTL_LED |
| tristate |
| select NEW_LEDS if SND_CTL_LED |
| select LEDS_TRIGGERS if SND_CTL_LED |
| |
| source "sound/core/seq/Kconfig" |