Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1# SPDX-License-Identifier: GPL-2.0-only
2# ALSA soundcard-configuration
3config SND_TIMER
4 tristate
5
6config SND_PCM
7 tristate
8 select SND_TIMER if SND_PCM_TIMER
9
10config SND_PCM_ELD
11 bool
12
13config SND_PCM_IEC958
14 bool
15
16config SND_DMAENGINE_PCM
17 tristate
18
19config SND_HWDEP
20 tristate
21
22config SND_SEQ_DEVICE
23 tristate
24
25config SND_RAWMIDI
26 tristate
27 select SND_SEQ_DEVICE if SND_SEQUENCER != n
28
29config SND_UMP
30 tristate
31 select SND_RAWMIDI
32
33config SND_UMP_LEGACY_RAWMIDI
34 bool "Legacy raw MIDI support for UMP streams"
35 depends on SND_UMP
36 help
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.
41
42config SND_CORE_TEST
43 tristate "Sound core KUnit test"
44 depends on KUNIT
45 select SND_PCM
46 default KUNIT_ALL_TESTS
47 help
48 This options enables the sound core functions KUnit test.
49
50 KUnit tests run during boot and output the results to the debug
51 log in TAP format (https://testanything.org/). Only useful for
52 kernel devs running KUnit test harness and are not for inclusion
53 into a production build.
54
55 For more information on KUnit and unit tests in general, refer
56 to the KUnit documentation in Documentation/dev-tools/kunit/.
57
58
59config SND_COMPRESS_OFFLOAD
60 tristate
61
62config SND_COMPRESS_ACCEL
63 bool
64
65config SND_JACK
66 bool
67
68# enable input device support in jack layer
69config SND_JACK_INPUT_DEV
70 bool
71 depends on SND_JACK
72 default y if INPUT=y || INPUT=SND
73
74config SND_OSSEMUL
75 bool "Enable OSS Emulation"
76 select SOUND_OSS_CORE
77 help
78 This option enables the build of OSS emulation layer.
79
80config SND_MIXER_OSS
81 tristate "OSS Mixer API"
82 depends on SND_OSSEMUL
83 help
84 To enable OSS mixer API emulation (/dev/mixer*), say Y here
85 and read <file:Documentation/sound/designs/oss-emulation.rst>.
86
87 Many programs still use the OSS API, so say Y.
88
89 To compile this driver as a module, choose M here: the module
90 will be called snd-mixer-oss.
91
92config SND_PCM_OSS
93 tristate "OSS PCM (digital audio) API"
94 depends on SND_OSSEMUL
95 select SND_PCM
96 help
97 To enable OSS digital audio (PCM) emulation (/dev/dsp*), say Y
98 here and read <file:Documentation/sound/designs/oss-emulation.rst>.
99
100 Many programs still use the OSS API, so say Y.
101
102 To compile this driver as a module, choose M here: the module
103 will be called snd-pcm-oss.
104
105config SND_PCM_OSS_PLUGINS
106 bool "OSS PCM (digital audio) API - Include plugin system"
107 depends on SND_PCM_OSS
108 default y
109 help
110 If you disable this option, the ALSA's OSS PCM API will not
111 support conversion of channels, formats and rates. It will
112 behave like most of new OSS/Free drivers in 2.4/2.6 kernels.
113
114config SND_PCM_TIMER
115 bool "PCM timer interface" if EXPERT
116 default y
117 help
118 If you disable this option, pcm timer will be unavailable, so
119 those stubs that use pcm timer (e.g. dmix, dsnoop & co) may work
120 incorrectly.
121
122 For some embedded devices, we may disable it to reduce memory
123 footprint, about 20KB on x86_64 platform.
124
125config SND_HRTIMER
126 tristate "HR-timer backend support"
127 depends on HIGH_RES_TIMERS
128 select SND_TIMER
129 help
130 Say Y here to enable HR-timer backend for ALSA timer. ALSA uses
131 the hrtimer as a precise timing source. The ALSA sequencer code
132 also can use this timing source.
133
134 To compile this driver as a module, choose M here: the module
135 will be called snd-hrtimer.
136
137config SND_DYNAMIC_MINORS
138 bool "Dynamic device file minor numbers"
139 help
140 If you say Y here, the minor numbers of ALSA device files in
141 /dev/snd/ are allocated dynamically. This allows you to have
142 more than 8 sound cards, but requires a dynamic device file
143 system like udev.
144
145 If you are unsure about this, say N here.
146
147config SND_MAX_CARDS
148 int "Max number of sound cards"
149 range 4 256
150 default 32
151 depends on SND_DYNAMIC_MINORS
152 help
153 Specify the max number of sound cards that can be assigned
154 on a single machine.
155
156config SND_SUPPORT_OLD_API
157 bool "Support old ALSA API"
158 default n
159 help
160 Say Y here to support the obsolete ALSA PCM API (ver.0.9.0 rc3
161 or older).
162
163config SND_PROC_FS
164 bool "Sound Proc FS Support" if EXPERT
165 depends on PROC_FS
166 default y
167 help
168 Say 'N' to disable Sound proc FS, which may reduce code size about
169 9KB on x86_64 platform.
170 If unsure say Y.
171
172config SND_VERBOSE_PROCFS
173 bool "Verbose procfs contents"
174 depends on SND_PROC_FS
175 default y
176 help
177 Say Y here to include code for verbose procfs contents (provides
178 useful information to developers when a problem occurs). On the
179 other side, it makes the ALSA subsystem larger.
180
181config SND_CTL_FAST_LOOKUP
182 bool "Fast lookup of control elements" if EXPERT
183 default y
184 select XARRAY_MULTI
185 help
186 This option enables the faster lookup of control elements.
187 It will consume more memory because of the additional Xarray.
188 If you want to choose the memory footprint over the performance
189 inevitably, turn this off.
190
191config SND_DEBUG
192 bool "Debug"
193 help
194 Say Y here to enable ALSA debug code.
195
196config SND_DEBUG_VERBOSE
197 bool "More verbose debug"
198 depends on SND_DEBUG
199 help
200 Say Y here to enable extra-verbose debugging messages.
201
202 Let me repeat: it enables EXTRA-VERBOSE DEBUGGING messages.
203 So, say Y only if you are ready to be annoyed.
204
205config SND_PCM_XRUN_DEBUG
206 bool "Enable PCM ring buffer overrun/underrun debugging"
207 default n
208 depends on SND_DEBUG && SND_VERBOSE_PROCFS
209 help
210 Say Y to enable the PCM ring buffer overrun/underrun debugging.
211 It is usually not required, but if you have trouble with
212 sound clicking when system is loaded, it may help to determine
213 the process or driver which causes the scheduling gaps.
214
215config SND_CTL_INPUT_VALIDATION
216 bool "Validate input data to control API"
217 help
218 Say Y to enable the additional validation for the input data to
219 each control element, including the value range checks.
220 An error is returned from ALSA core for invalid inputs without
221 passing to the driver. This is a kind of hardening for drivers
222 that have no proper error checks, at the cost of a slight
223 performance overhead.
224
225config SND_CTL_DEBUG
226 bool "Enable debugging feature for control API"
227 depends on SND_DEBUG
228 help
229 Say Y to enable the debugging feature for ALSA control API.
230 It performs the additional sanity-checks for each control element
231 read access, such as whether the values returned from the driver
232 are in the proper ranges or the check of the invalid access at
233 out-of-array areas. The error is printed when the driver gives
234 such unexpected values.
235 When you develop a driver that deals with control elements, it's
236 strongly recommended to try this one once and verify whether you see
237 any relevant errors or not.
238
239config SND_JACK_INJECTION_DEBUG
240 bool "Sound jack injection interface via debugfs"
241 depends on SND_JACK && SND_DEBUG && DEBUG_FS
242 help
243 This option can be used to enable or disable sound jack
244 software injection.
245 Say Y if you are debugging via jack injection interface.
246 If unsure select "N".
247
248config SND_UTIMER
249 bool "Enable support for userspace-controlled virtual timers"
250 depends on SND_TIMER
251 help
252 Say Y to enable the support of userspace-controlled timers. These
253 timers are purely virtual, and they are supposed to be triggered
254 from userspace. They could be quite useful when synchronizing the
255 sound timing with userspace applications (for instance, when sending
256 data through snd-aloop).
257
258config SND_VMASTER
259 bool
260
261config SND_DMA_SGBUF
262 def_bool y
263 depends on X86
264
265config SND_CTL_LED
266 tristate
267 select NEW_LEDS if SND_CTL_LED
268 select LEDS_TRIGGERS if SND_CTL_LED
269
270source "sound/core/seq/Kconfig"