1 # SPDX-License-Identifier: GPL-2.0-only
2 # ALSA soundcard-configuration
8 select SND_TIMER if SND_PCM_TIMER
16 config SND_DMAENGINE_PCM
27 select SND_SEQ_DEVICE if SND_SEQUENCER != n
29 config SND_COMPRESS_OFFLOAD
35 # enable input device support in jack layer
36 config SND_JACK_INPUT_DEV
39 default y if INPUT=y || INPUT=SND
42 bool "Enable OSS Emulation"
45 This option enables the build of OSS emulation layer.
48 tristate "OSS Mixer API"
49 depends on SND_OSSEMUL
51 To enable OSS mixer API emulation (/dev/mixer*), say Y here
52 and read <file:Documentation/sound/designs/oss-emulation.rst>.
54 Many programs still use the OSS API, so say Y.
56 To compile this driver as a module, choose M here: the module
57 will be called snd-mixer-oss.
60 tristate "OSS PCM (digital audio) API"
61 depends on SND_OSSEMUL
64 To enable OSS digital audio (PCM) emulation (/dev/dsp*), say Y
65 here and read <file:Documentation/sound/designs/oss-emulation.rst>.
67 Many programs still use the OSS API, so say Y.
69 To compile this driver as a module, choose M here: the module
70 will be called snd-pcm-oss.
72 config SND_PCM_OSS_PLUGINS
73 bool "OSS PCM (digital audio) API - Include plugin system"
74 depends on SND_PCM_OSS
77 If you disable this option, the ALSA's OSS PCM API will not
78 support conversion of channels, formats and rates. It will
79 behave like most of new OSS/Free drivers in 2.4/2.6 kernels.
82 bool "PCM timer interface" if EXPERT
85 If you disable this option, pcm timer will be unavailable, so
86 those stubs that use pcm timer (e.g. dmix, dsnoop & co) may work
89 For some embedded devices, we may disable it to reduce memory
90 footprint, about 20KB on x86_64 platform.
93 tristate "HR-timer backend support"
94 depends on HIGH_RES_TIMERS
97 Say Y here to enable HR-timer backend for ALSA timer. ALSA uses
98 the hrtimer as a precise timing source. The ALSA sequencer code
99 also can use this timing source.
101 To compile this driver as a module, choose M here: the module
102 will be called snd-hrtimer.
104 config SND_DYNAMIC_MINORS
105 bool "Dynamic device file minor numbers"
107 If you say Y here, the minor numbers of ALSA device files in
108 /dev/snd/ are allocated dynamically. This allows you to have
109 more than 8 sound cards, but requires a dynamic device file
112 If you are unsure about this, say N here.
115 int "Max number of sound cards"
118 depends on SND_DYNAMIC_MINORS
120 Specify the max number of sound cards that can be assigned
123 config SND_SUPPORT_OLD_API
124 bool "Support old ALSA API"
127 Say Y here to support the obsolete ALSA PCM API (ver.0.9.0 rc3
131 bool "Sound Proc FS Support" if EXPERT
135 Say 'N' to disable Sound proc FS, which may reduce code size about
136 9KB on x86_64 platform.
139 config SND_VERBOSE_PROCFS
140 bool "Verbose procfs contents"
141 depends on SND_PROC_FS
144 Say Y here to include code for verbose procfs contents (provides
145 useful information to developers when a problem occurs). On the
146 other side, it makes the ALSA subsystem larger.
148 config SND_VERBOSE_PRINTK
149 bool "Verbose printk"
151 Say Y here to enable verbose log messages. These messages
152 will help to identify source file and position containing
155 You don't need this unless you're debugging ALSA.
157 config SND_CTL_FAST_LOOKUP
158 bool "Fast lookup of control elements" if EXPERT
162 This option enables the faster lookup of control elements.
163 It will consume more memory because of the additional Xarray.
164 If you want to choose the memory footprint over the performance
165 inevitably, turn this off.
170 Say Y here to enable ALSA debug code.
172 config SND_DEBUG_VERBOSE
173 bool "More verbose debug"
176 Say Y here to enable extra-verbose debugging messages.
178 Let me repeat: it enables EXTRA-VERBOSE DEBUGGING messages.
179 So, say Y only if you are ready to be annoyed.
181 config SND_PCM_XRUN_DEBUG
182 bool "Enable PCM ring buffer overrun/underrun debugging"
184 depends on SND_DEBUG && SND_VERBOSE_PROCFS
186 Say Y to enable the PCM ring buffer overrun/underrun debugging.
187 It is usually not required, but if you have trouble with
188 sound clicking when system is loaded, it may help to determine
189 the process or driver which causes the scheduling gaps.
191 config SND_CTL_INPUT_VALIDATION
192 bool "Validate input data to control API"
194 Say Y to enable the additional validation for the input data to
195 each control element, including the value range checks.
196 An error is returned from ALSA core for invalid inputs without
197 passing to the driver. This is a kind of hardening for drivers
198 that have no proper error checks, at the cost of a slight
199 performance overhead.
202 bool "Enable debugging feature for control API"
205 Say Y to enable the debugging feature for ALSA control API.
206 It performs the additional sanity-checks for each control element
207 read access, such as whether the values returned from the driver
208 are in the proper ranges or the check of the invalid access at
209 out-of-array areas. The error is printed when the driver gives
210 such unexpected values.
211 When you develop a driver that deals with control elements, it's
212 strongly recommended to try this one once and verify whether you see
213 any relevant errors or not.
215 config SND_JACK_INJECTION_DEBUG
216 bool "Sound jack injection interface via debugfs"
217 depends on SND_JACK && SND_DEBUG && DEBUG_FS
219 This option can be used to enable or disable sound jack
221 Say Y if you are debugging via jack injection interface.
222 If unsure select "N".
233 select NEW_LEDS if SND_CTL_LED
234 select LEDS_TRIGGERS if SND_CTL_LED
235 select LEDS_TRIGGER_AUDIO if SND_CTL_LED
237 source "sound/core/seq/Kconfig"