xref: /linux/sound/core/Kconfig (revision c0c914eca7f251c70facc37dfebeaf176601918d)
1# ALSA soundcard-configuration
2config SND_TIMER
3	tristate
4
5config SND_PCM
6	tristate
7	select SND_TIMER if SND_PCM_TIMER
8
9config SND_PCM_ELD
10	bool
11
12config SND_PCM_IEC958
13	bool
14
15config SND_DMAENGINE_PCM
16	tristate
17
18config SND_HWDEP
19	tristate
20
21config SND_RAWMIDI
22	tristate
23
24config SND_COMPRESS_OFFLOAD
25	tristate
26
27# To be effective this also requires INPUT - users should say:
28#    select SND_JACK if INPUT=y || INPUT=SND
29# to avoid having to force INPUT on.
30config SND_JACK
31	bool
32
33config SND_SEQUENCER
34	tristate "Sequencer support"
35	select SND_TIMER
36	help
37	  Say Y or M to enable MIDI sequencer and router support.  This
38	  feature allows routing and enqueueing of MIDI events.  Events
39	  can be processed at a given time.
40
41	  Many programs require this feature, so you should enable it
42	  unless you know what you're doing.
43
44config SND_SEQ_DUMMY
45	tristate "Sequencer dummy client"
46	depends on SND_SEQUENCER
47	help
48	  Say Y here to enable the dummy sequencer client.  This client
49	  is a simple MIDI-through client: all normal input events are
50	  redirected to the output port immediately.
51
52	  You don't need this unless you want to connect many MIDI
53	  devices or applications together.
54
55	  To compile this driver as a module, choose M here: the module
56	  will be called snd-seq-dummy.
57
58config SND_OSSEMUL
59	select SOUND_OSS_CORE
60	bool
61
62config SND_MIXER_OSS
63	tristate "OSS Mixer API"
64	select SND_OSSEMUL
65	help
66	  To enable OSS mixer API emulation (/dev/mixer*), say Y here
67	  and read <file:Documentation/sound/alsa/OSS-Emulation.txt>.
68
69	  Many programs still use the OSS API, so say Y.
70
71	  To compile this driver as a module, choose M here: the module
72	  will be called snd-mixer-oss.
73
74config SND_PCM_OSS
75	tristate "OSS PCM (digital audio) API"
76	select SND_OSSEMUL
77	select SND_PCM
78	help
79	  To enable OSS digital audio (PCM) emulation (/dev/dsp*), say Y
80	  here and read <file:Documentation/sound/alsa/OSS-Emulation.txt>.
81
82	  Many programs still use the OSS API, so say Y.
83
84	  To compile this driver as a module, choose M here: the module
85	  will be called snd-pcm-oss.
86
87config SND_PCM_OSS_PLUGINS
88	bool "OSS PCM (digital audio) API - Include plugin system"
89	depends on SND_PCM_OSS
90        default y
91	help
92          If you disable this option, the ALSA's OSS PCM API will not
93          support conversion of channels, formats and rates. It will
94          behave like most of new OSS/Free drivers in 2.4/2.6 kernels.
95
96config SND_PCM_TIMER
97	bool "PCM timer interface" if EXPERT
98	default y
99	help
100	  If you disable this option, pcm timer will be unavailable, so
101	  those stubs that use pcm timer (e.g. dmix, dsnoop & co) may work
102	  incorrectlly.
103
104	  For some embedded devices, we may disable it to reduce memory
105	  footprint, about 20KB on x86_64 platform.
106
107config SND_SEQUENCER_OSS
108	bool "OSS Sequencer API"
109	depends on SND_SEQUENCER
110	select SND_OSSEMUL
111	help
112	  Say Y here to enable OSS sequencer emulation (both
113	  /dev/sequencer and /dev/music interfaces).
114
115	  Many programs still use the OSS API, so say Y.
116
117	  If you choose M in "Sequencer support" (SND_SEQUENCER),
118	  this will be compiled as a module. The module will be called
119	  snd-seq-oss.
120
121config SND_HRTIMER
122	tristate "HR-timer backend support"
123	depends on HIGH_RES_TIMERS
124	select SND_TIMER
125	help
126	  Say Y here to enable HR-timer backend for ALSA timer.  ALSA uses
127	  the hrtimer as a precise timing source. The ALSA sequencer code
128	  also can use this timing source.
129
130	  To compile this driver as a module, choose M here: the module
131	  will be called snd-hrtimer.
132
133config SND_SEQ_HRTIMER_DEFAULT
134	bool "Use HR-timer as default sequencer timer"
135	depends on SND_HRTIMER && SND_SEQUENCER
136	default y
137	help
138	  Say Y here to use the HR-timer backend as the default sequencer
139	  timer.
140
141config SND_RTCTIMER
142	tristate "RTC Timer support"
143	depends on RTC
144	select SND_TIMER
145	help
146	  Say Y here to enable RTC timer support for ALSA.  ALSA uses
147	  the RTC timer as a precise timing source and maps the RTC
148	  timer to ALSA's timer interface.  The ALSA sequencer code also
149	  can use this timing source.
150
151	  To compile this driver as a module, choose M here: the module
152	  will be called snd-rtctimer.
153
154	  Note that this option is exclusive with the new RTC drivers
155	  (CONFIG_RTC_CLASS) since this requires the old API.
156
157config SND_SEQ_RTCTIMER_DEFAULT
158	bool "Use RTC as default sequencer timer"
159	depends on SND_RTCTIMER && SND_SEQUENCER
160	depends on !SND_SEQ_HRTIMER_DEFAULT
161	default y
162	help
163	  Say Y here to use the RTC timer as the default sequencer
164	  timer.  This is strongly recommended because it ensures
165	  precise MIDI timing even when the system timer runs at less
166	  than 1000 Hz.
167
168	  If in doubt, say Y.
169
170config SND_DYNAMIC_MINORS
171	bool "Dynamic device file minor numbers"
172	help
173	  If you say Y here, the minor numbers of ALSA device files in
174	  /dev/snd/ are allocated dynamically.  This allows you to have
175	  more than 8 sound cards, but requires a dynamic device file
176	  system like udev.
177
178	  If you are unsure about this, say N here.
179
180config SND_MAX_CARDS
181	int "Max number of sound cards"
182	range 4 256
183	default 32
184	depends on SND_DYNAMIC_MINORS
185	help
186	  Specify the max number of sound cards that can be assigned
187	  on a single machine.
188
189config SND_SUPPORT_OLD_API
190	bool "Support old ALSA API"
191	default y
192	help
193	  Say Y here to support the obsolete ALSA PCM API (ver.0.9.0 rc3
194	  or older).
195
196config SND_PROC_FS
197        bool "Sound Proc FS Support" if EXPERT
198        depends on PROC_FS
199        default y
200        help
201          Say 'N' to disable Sound proc FS, which may reduce code size about
202          9KB on x86_64 platform.
203          If unsure say Y.
204
205config SND_VERBOSE_PROCFS
206	bool "Verbose procfs contents"
207	depends on SND_PROC_FS
208	default y
209	help
210	  Say Y here to include code for verbose procfs contents (provides
211          useful information to developers when a problem occurs).  On the
212          other side, it makes the ALSA subsystem larger.
213
214config SND_VERBOSE_PRINTK
215	bool "Verbose printk"
216	help
217	  Say Y here to enable verbose log messages.  These messages
218	  will help to identify source file and position containing
219	  printed messages.
220
221	  You don't need this unless you're debugging ALSA.
222
223config SND_DEBUG
224	bool "Debug"
225	help
226	  Say Y here to enable ALSA debug code.
227
228config SND_DEBUG_VERBOSE
229	bool "More verbose debug"
230	depends on SND_DEBUG
231	help
232	  Say Y here to enable extra-verbose debugging messages.
233
234	  Let me repeat: it enables EXTRA-VERBOSE DEBUGGING messages.
235	  So, say Y only if you are ready to be annoyed.
236
237config SND_PCM_XRUN_DEBUG
238	bool "Enable PCM ring buffer overrun/underrun debugging"
239	default n
240	depends on SND_DEBUG && SND_VERBOSE_PROCFS
241	help
242	  Say Y to enable the PCM ring buffer overrun/underrun debugging.
243	  It is usually not required, but if you have trouble with
244	  sound clicking when system is loaded, it may help to determine
245	  the process or driver which causes the scheduling gaps.
246
247config SND_VMASTER
248	bool
249
250config SND_DMA_SGBUF
251	def_bool y
252	depends on X86
253
254source "sound/core/seq/Kconfig"
255