1 # SPDX-License-Identifier: GPL-2.0-only
10 select SND_SEQ_DEVICE if SND_SEQUENCER != n
16 select SND_SEQ_DEVICE if SND_SEQUENCER != n
18 # select SEQ stuff to min(SND_SEQUENCER,SND_XXX)
19 config SND_OPL3_LIB_SEQ
20 def_tristate SND_SEQUENCER && SND_OPL3_LIB
21 select SND_SEQ_MIDI_EMUL
22 select SND_SEQ_MIDI_EVENT
24 config SND_OPL4_LIB_SEQ
25 def_tristate SND_SEQUENCER && SND_OPL4_LIB
26 select SND_SEQ_MIDI_EMUL
27 select SND_SEQ_MIDI_EVENT
41 menuconfig SND_DRIVERS
42 bool "Generic sound devices"
45 Support for generic sound devices.
50 tristate "PC-Speaker support (READ HELP!)"
51 depends on PCSPKR_PLATFORM && X86 && HIGH_RES_TIMERS
55 If you don't have a sound card in your computer, you can include a
56 driver for the PC speaker which allows it to act like a primitive
58 This driver also replaces the pcspkr driver for beeps.
60 You can compile this as a module which will be called snd-pcsp.
62 WARNING: if you already have a soundcard, enabling this
63 driver may lead to a problem. Namely, it may get loaded
64 before the other sound driver of yours, making the
65 pc-speaker a default sound device. Which is likely not
66 what you want. To make this driver play nicely with other
67 sound driver, you can add this in a configuration file under
68 /etc/modprobe.d/ directory:
69 options snd-pcsp index=2
71 You don't need this driver if you only want your pc-speaker to beep.
72 You don't need this driver if you have a tablet piezo beeper
73 in your PC instead of the real speaker.
75 Say N if you have a sound card.
77 Say Y only if you really know what you do.
80 tristate "Dummy (/dev/null) soundcard"
83 Say Y here to include the dummy driver. This driver does
84 nothing, but emulates various mixer controls and PCM devices.
86 You don't need this unless you're testing the hardware support
87 of programs using the ALSA API.
89 To compile this driver as a module, choose M here: the module
90 will be called snd-dummy.
93 tristate "Generic loopback driver (PCM)"
97 Say 'Y' or 'M' to include support for the PCM loopback device.
98 This module returns played samples back to the user space using
99 the standard ALSA PCM device. The devices are routed 0->1 and
100 1->0, where first number is the playback PCM device and second
101 number is the capture device. Module creates two PCM devices and
102 configured number of substreams (see the pcm_substreams module
105 The loopback device allows time synchronization with an external
106 timing source using the time shift universal control (+-20%
109 To compile this driver as a module, choose M here: the module
110 will be called snd-aloop.
113 tristate "Virtual PCM test driver"
117 Say 'Y' or 'M' to include support for the Virtual PCM test driver.
118 This driver is aimed at extended testing of the userspace applications
119 which use the ALSA API, as well as the PCM middle layer testing.
121 It can generate random or pattern-based data into the capture stream,
122 check the playback stream for containing the selected pattern, inject
123 time delays during capture/playback, redefine the RESET ioctl operation
124 to perform the PCM middle layer testing and inject errors during the
125 PCM callbacks. It supports both interleaved and non-interleaved access
126 modes. You can find the corresponding selftest in the 'alsa'
130 tristate "Virtual MIDI soundcard"
131 depends on SND_SEQUENCER
134 select SND_SEQ_VIRMIDI
135 select SND_SEQ_MIDI_EVENT
137 Say Y here to include the virtual MIDI driver. This driver
138 allows to connect applications using raw MIDI devices to
141 If you don't know what MIDI is, say N here.
143 To compile this driver as a module, choose M here: the module
144 will be called snd-virmidi.
147 tristate "MOTU MidiTimePiece AV multiport MIDI"
148 depends on HAS_IOPORT
151 To use a MOTU MidiTimePiece AV multiport MIDI adapter
152 connected to the parallel port, say Y here and make sure that
153 the standard parallel port driver isn't used for the port.
155 To compile this driver as a module, choose M here: the module
156 will be called snd-mtpav.
159 tristate "ESI Miditerminal 4140 driver"
163 The ESI Miditerminal 4140 is a 4 In 4 Out MIDI Interface with
164 additional SMPTE Timecode capabilities for the parallel port.
166 Say 'Y' to include support for this device.
168 To compile this driver as a module, chose 'M' here: the module
169 will be called snd-mts64.
171 config SND_SERIAL_U16550
172 tristate "UART16550 serial MIDI driver"
173 depends on HAS_IOPORT
176 To include support for MIDI serial port interfaces, say Y here
177 and read <file:Documentation/sound/cards/serial-u16550.rst>.
178 This driver works with serial UARTs 16550 and better.
180 This driver accesses the serial port hardware directly, so
181 make sure that the standard serial driver isn't used or
182 deactivated with setserial before loading this driver.
184 To compile this driver as a module, choose M here: the module
185 will be called snd-serial-u16550.
187 config SND_SERIAL_GENERIC
188 tristate "Generic serial MIDI driver"
189 depends on SERIAL_DEV_BUS
193 To include support for mapping generic serial devices as raw
194 ALSA MIDI devices, say Y here. The driver only supports setting
195 the serial port to standard baudrates. To attain the standard MIDI
196 baudrate of 31.25 kBaud, configure the clock of the underlying serial
197 device so that a requested 38.4 kBaud will result in the standard speed.
199 Use this devicetree binding to configure serial port mapping
200 <file:Documentation/devicetree/bindings/sound/serial-midi.yaml>
202 To compile this driver as a module, choose M here: the module
203 will be called snd-serial-generic.
206 tristate "Generic MPU-401 UART driver"
207 depends on HAS_IOPORT
208 select SND_MPU401_UART
210 Say Y here to include support for MIDI ports compatible with
211 the Roland MPU-401 interface in UART mode.
213 To compile this driver as a module, choose M here: the module
214 will be called snd-mpu401.
216 config SND_PORTMAN2X4
217 tristate "Portman 2x4 driver"
221 Say Y here to include support for Midiman Portman 2x4 parallel
224 To compile this driver as a module, choose M here: the module
225 will be called snd-portman2x4.
227 config SND_AC97_POWER_SAVE
228 bool "AC97 Power-Saving Mode"
229 depends on SND_AC97_CODEC
232 Say Y here to enable the aggressive power-saving support of
233 AC97 codecs. In this mode, the power-mode is dynamically
234 controlled at each open/close.
236 The mode is activated by passing 'power_save=X' to the
237 snd-ac97-codec driver module, where 'X' is the time-out
238 value, a nonnegative integer that specifies how many
239 seconds of idle time the driver must count before it may
240 put the AC97 into power-save mode; a value of 0 (zero)
241 disables the use of this power-save mode.
243 After the snd-ac97-codec driver module has been loaded,
244 the 'power_save' parameter can be set via sysfs as follows:
246 echo 10 > /sys/module/snd_ac97_codec/parameters/power_save
248 In this case, the time-out is set to 10 seconds; setting
249 the time-out to 1 second (the minimum activation value)
250 isn't recommended because many applications try to reopen
251 the device frequently. A value of 10 seconds would be a
252 good choice for normal operations.
254 See Documentation/sound/designs/powersave.rst for more details.
256 config SND_AC97_POWER_SAVE_DEFAULT
257 int "Default time-out for AC97 power-save mode"
258 depends on SND_AC97_POWER_SAVE
261 The default time-out value in seconds for AC97 automatic
262 power-save mode. 0 means to disable the power-save mode.
264 See SND_AC97_POWER_SAVE for more details.