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
33 config SND_UMP_LEGACY_RAWMIDI
34 bool "Legacy raw MIDI support for UMP streams"
37 This option enables the legacy raw MIDI support for UMP streams.
38 When this option is set, an additional rawmidi device for the
39 legacy MIDI 1.0 byte streams is created for each UMP Endpoint.
40 The device contains 16 substreams corresponding to UMP groups.
42 config SND_COMPRESS_OFFLOAD
48 # enable input device support in jack layer
49 config SND_JACK_INPUT_DEV
52 default y if INPUT=y || INPUT=SND
55 bool "Enable OSS Emulation"
58 This option enables the build of OSS emulation layer.
61 tristate "OSS Mixer API"
62 depends on SND_OSSEMUL
64 To enable OSS mixer API emulation (/dev/mixer*), say Y here
65 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-mixer-oss.
73 tristate "OSS PCM (digital audio) API"
74 depends on SND_OSSEMUL
77 To enable OSS digital audio (PCM) emulation (/dev/dsp*), say Y
78 here and read <file:Documentation/sound/designs/oss-emulation.rst>.
80 Many programs still use the OSS API, so say Y.
82 To compile this driver as a module, choose M here: the module
83 will be called snd-pcm-oss.
85 config SND_PCM_OSS_PLUGINS
86 bool "OSS PCM (digital audio) API - Include plugin system"
87 depends on SND_PCM_OSS
90 If you disable this option, the ALSA's OSS PCM API will not
91 support conversion of channels, formats and rates. It will
92 behave like most of new OSS/Free drivers in 2.4/2.6 kernels.
95 bool "PCM timer interface" if EXPERT
98 If you disable this option, pcm timer will be unavailable, so
99 those stubs that use pcm timer (e.g. dmix, dsnoop & co) may work
102 For some embedded devices, we may disable it to reduce memory
103 footprint, about 20KB on x86_64 platform.
106 tristate "HR-timer backend support"
107 depends on HIGH_RES_TIMERS
110 Say Y here to enable HR-timer backend for ALSA timer. ALSA uses
111 the hrtimer as a precise timing source. The ALSA sequencer code
112 also can use this timing source.
114 To compile this driver as a module, choose M here: the module
115 will be called snd-hrtimer.
117 config SND_DYNAMIC_MINORS
118 bool "Dynamic device file minor numbers"
120 If you say Y here, the minor numbers of ALSA device files in
121 /dev/snd/ are allocated dynamically. This allows you to have
122 more than 8 sound cards, but requires a dynamic device file
125 If you are unsure about this, say N here.
128 int "Max number of sound cards"
131 depends on SND_DYNAMIC_MINORS
133 Specify the max number of sound cards that can be assigned
136 config SND_SUPPORT_OLD_API
137 bool "Support old ALSA API"
140 Say Y here to support the obsolete ALSA PCM API (ver.0.9.0 rc3
144 bool "Sound Proc FS Support" if EXPERT
148 Say 'N' to disable Sound proc FS, which may reduce code size about
149 9KB on x86_64 platform.
152 config SND_VERBOSE_PROCFS
153 bool "Verbose procfs contents"
154 depends on SND_PROC_FS
157 Say Y here to include code for verbose procfs contents (provides
158 useful information to developers when a problem occurs). On the
159 other side, it makes the ALSA subsystem larger.
161 config SND_VERBOSE_PRINTK
162 bool "Verbose printk"
164 Say Y here to enable verbose log messages. These messages
165 will help to identify source file and position containing
168 You don't need this unless you're debugging ALSA.
170 config SND_CTL_FAST_LOOKUP
171 bool "Fast lookup of control elements" if EXPERT
175 This option enables the faster lookup of control elements.
176 It will consume more memory because of the additional Xarray.
177 If you want to choose the memory footprint over the performance
178 inevitably, turn this off.
183 Say Y here to enable ALSA debug code.
185 config SND_DEBUG_VERBOSE
186 bool "More verbose debug"
189 Say Y here to enable extra-verbose debugging messages.
191 Let me repeat: it enables EXTRA-VERBOSE DEBUGGING messages.
192 So, say Y only if you are ready to be annoyed.
194 config SND_PCM_XRUN_DEBUG
195 bool "Enable PCM ring buffer overrun/underrun debugging"
197 depends on SND_DEBUG && SND_VERBOSE_PROCFS
199 Say Y to enable the PCM ring buffer overrun/underrun debugging.
200 It is usually not required, but if you have trouble with
201 sound clicking when system is loaded, it may help to determine
202 the process or driver which causes the scheduling gaps.
204 config SND_CTL_INPUT_VALIDATION
205 bool "Validate input data to control API"
207 Say Y to enable the additional validation for the input data to
208 each control element, including the value range checks.
209 An error is returned from ALSA core for invalid inputs without
210 passing to the driver. This is a kind of hardening for drivers
211 that have no proper error checks, at the cost of a slight
212 performance overhead.
215 bool "Enable debugging feature for control API"
218 Say Y to enable the debugging feature for ALSA control API.
219 It performs the additional sanity-checks for each control element
220 read access, such as whether the values returned from the driver
221 are in the proper ranges or the check of the invalid access at
222 out-of-array areas. The error is printed when the driver gives
223 such unexpected values.
224 When you develop a driver that deals with control elements, it's
225 strongly recommended to try this one once and verify whether you see
226 any relevant errors or not.
228 config SND_JACK_INJECTION_DEBUG
229 bool "Sound jack injection interface via debugfs"
230 depends on SND_JACK && SND_DEBUG && DEBUG_FS
232 This option can be used to enable or disable sound jack
234 Say Y if you are debugging via jack injection interface.
235 If unsure select "N".
246 select NEW_LEDS if SND_CTL_LED
247 select LEDS_TRIGGERS if SND_CTL_LED
248 select LEDS_TRIGGER_AUDIO if SND_CTL_LED
250 source "sound/core/seq/Kconfig"