1 ==============================================================
2 Advanced Linux Sound Architecture - Driver Configuration guide
3 ==============================================================
9 To enable ALSA support you need at least to build the kernel with
10 primary sound card support (``CONFIG_SOUND``). Since ALSA can emulate
11 OSS, you don't have to choose any of the OSS modules.
13 Enable "OSS API emulation" (``CONFIG_SND_OSSEMUL``) and both OSS mixer
14 and PCM supports if you want to run OSS applications with ALSA.
16 If you want to support the WaveTable functionality on cards such as
17 SB Live! then you need to enable "Sequencer support"
18 (``CONFIG_SND_SEQUENCER``).
20 To make ALSA debug messages more verbose, enable the "Verbose printk"
21 and "Debug" options. To check for memory leaks, turn on "Debug memory"
22 too. "Debug detection" will add checks for the detection of cards.
24 Please note that all the ALSA ISA drivers support the Linux isapnp API
25 (if the card supports ISA PnP). You don't need to configure the cards
32 The user can load modules with options. If the module supports more than
33 one card and you have more than one card of the same type then you can
34 specify multiple values for the option separated by commas.
40 The core ALSA module. It is used by all ALSA card drivers.
41 It takes the following options which have global effects.
44 major number for sound driver;
47 limiting card index for auto-loading (1-8);
49 For auto-loading more than one card, specify this option
50 together with snd-card-X aliases.
52 Reserve the slot index for the given driver;
53 This option takes multiple strings.
54 See `Module Autoloading Support`_ section for details.
56 Specifies the debug message level;
57 (0 = disable debug prints, 1 = normal debug messages,
58 2 = verbose debug messages);
59 This option appears only when ``CONFIG_SND_DEBUG=y``.
60 This option can be dynamically changed via sysfs
61 /sys/modules/snd/parameters/debug file.
66 The PCM OSS emulation module.
67 This module takes options which change the mapping of devices.
70 PCM device number maps assigned to the 1st OSS device;
73 PCM device number maps assigned to the 2nd OSS device;
76 Don't block opening busy PCM devices;
79 For example, when ``dsp_map=2``, /dev/dsp will be mapped to PCM #2 of
80 the card #0. Similarly, when ``adsp_map=0``, /dev/adsp will be mapped
81 to PCM #0 of the card #0.
82 For changing the second or later card, specify the option with
83 commas, such like ``dsp_map=0,1``.
85 ``nonblock_open`` option is used to change the behavior of the PCM
86 regarding opening the device. When this option is non-zero,
87 opening a busy OSS PCM device won't be blocked but return
88 immediately with EAGAIN (just like O_NONBLOCK flag).
93 This module takes options which change the mapping of devices.
94 similar to those of the snd-pcm-oss module.
97 MIDI device number maps assigned to the 1st OSS device;
100 MIDI device number maps assigned to the 2nd OSS device;
106 The soc core module. It is used by all ALSA card drivers.
107 It takes the following options which have global effects.
109 prealloc_buffer_size_kbytes
110 Specify prealloc buffer size in kbytes (default: 512).
112 Common parameters for top sound card modules
113 --------------------------------------------
115 Each of top level sound card module takes the following options.
118 index (slot #) of sound card;
119 Values: 0 through 31 or negative;
120 If nonnegative, assign that index number;
121 if negative, interpret as a bitmask of permissible indices;
122 the first free permitted index is assigned;
125 card ID (identifier or name);
126 Can be up to 15 characters long;
127 Default: the card type;
128 A directory by this name is created under /proc/asound/
129 containing information about the card;
130 This ID can be used instead of the index number in
134 Default: enabled, for PCI and ISA PnP cards
139 Module for AdLib FM cards.
144 This module supports multiple cards. It does not support autoprobe, so
145 the port must be specified. For actual AdLib FM cards it will be 0x388.
146 Note that this card does not have PCM support and no mixer; only FM
149 Make sure you have ``sbiload`` from the alsa-tools package available and,
150 after loading the module, find out the assigned ALSA sequencer port
151 number through ``sbiload -l``.
156 Port Client name Port name
157 64:0 OPL2 FM synth OPL2 FM Port
159 Load the ``std.sb`` and ``drums.sb`` patches also supplied by ``sbiload``:
162 sbiload -p 64:0 std.sb drums.sb
164 If you use this driver to drive an OPL3, you can use ``std.o3`` and ``drums.o3``
165 instead. To have the card produce sound, use ``aplaymidi`` from alsa-utils:
168 aplaymidi -p 64:0 foo.mid
173 Module for sound cards based on Analog Devices AD1816A/AD1815 ISA chips.
176 Clock frequency for AD1816A chip (default = 0, 33000Hz)
178 This module supports multiple cards, autoprobe and PnP.
183 Module for sound cards based on AD1848/AD1847/CS4248 ISA chips.
186 port # for AD1848 chip
188 IRQ # for AD1848 chip
190 DMA # for AD1848 chip (0,1,3)
192 This module supports multiple cards. It does not support autoprobe
193 thus main port must be specified!!! Other ports are optional.
195 The power-management is supported.
200 Module for Analog Devices AD1889 chips.
203 AC'97 workaround for strange hardware;
204 See the description of intel8x0 module for details.
206 This module supports multiple cards.
211 Module for ALi M5451 PCI chip.
214 Number of hardware channels assigned for PCM
219 This module supports one chip and autoprobe.
221 The power-management is supported.
226 Module for sound cards based on Avance Logic ALS100/ALS120 ISA chips.
228 This module supports multiple cards, autoprobe and PnP.
230 The power-management is supported.
235 Module for Avance Logic ALS300 and ALS300+
237 This module supports multiple cards.
239 The power-management is supported.
244 Module for sound cards based on Avance Logic ALS4000 PCI chip.
247 port # for legacy joystick support;
248 0 = disabled (default), 1 = auto-detect
250 This module supports multiple cards, autoprobe and PnP.
252 The power-management is supported.
257 Module for AudioScience ASI soundcards
260 enable HPI hwdep for AudioScience soundcard
262 This module supports multiple cards.
263 The driver requires the firmware loader support on kernel.
268 Module for ATI IXP 150/200/250/400 AC97 controllers.
271 AC'97 clock (default = 48000)
273 AC'97 workaround for strange hardware;
274 See `AC97 Quirk Option`_ section below.
276 Workaround to specify which AC'97 codec instead of probing.
277 If this works for you file a bug with your `lspci -vn` output.
278 (-2 = Force probing, -1 = Default behavior, 0-2 = Use the
281 S/PDIF transfer over AC-link (default = 1)
283 This module supports one card and autoprobe.
285 ATI IXP has two different methods to control SPDIF output. One is
286 over AC-link and another is over the "direct" SPDIF output. The
287 implementation depends on the motherboard, and you'll need to
288 choose the correct one via spdif_aclink module option.
290 The power-management is supported.
292 Module snd-atiixp-modem
293 -----------------------
295 Module for ATI IXP 150/200/250 AC97 modem controllers.
297 This module supports one card and autoprobe.
299 Note: The default index value of this module is -2, i.e. the first
302 The power-management is supported.
304 Module snd-au8810, snd-au8820, snd-au8830
305 -----------------------------------------
307 Module for Aureal Vortex, Vortex2 and Advantage device.
310 Control PCI workarounds;
311 0 = Disable all workarounds,
312 1 = Force the PCI latency of the Aureal card to 0xff,
313 2 = Force the Extend PCI#2 Internal Master for Efficient
314 Handling of Dummy Requests on the VIA KT133 AGP Bridge,
315 3 = Force both settings,
316 255 = Autodetect what is required (default)
318 This module supports all ADB PCM channels, ac97 mixer, SPDIF, hardware
319 EQ, mpu401, gameport. A3D and wavetable support are still in development.
320 Development and reverse engineering work is being coordinated at
321 https://savannah.nongnu.org/projects/openvortex/
322 SPDIF output has a copy of the AC97 codec output, unless you use the
323 ``spdif`` pcm device, which allows raw data passthru.
324 The hardware EQ hardware and SPDIF is only present in the Vortex2 and
327 Note: Some ALSA mixer applications don't handle the SPDIF sample rate
328 control correctly. If you have problems regarding this, try
329 another ALSA compliant mixer (alsamixer works).
334 Module for Aztech Sound Galaxy soundcards based on the Aztech AZT1605
338 port # for BASE (0x220,0x240,0x260,0x280)
340 port # for WSS (0x530,0x604,0xe80,0xf40)
342 IRQ # for WSS (7,9,10,11)
344 DMA # for WSS playback (0,1,3)
346 DMA # for WSS capture (0,1), -1 = disabled (default)
348 port # for MPU-401 UART (0x300,0x330), -1 = disabled (default)
350 IRQ # for MPU-401 UART (3,5,7,9), -1 = disabled (default)
352 port # for OPL3 (0x388), -1 = disabled (default)
354 This module supports multiple cards. It does not support autoprobe:
355 ``port``, ``wss_port``, ``irq`` and ``dma1`` have to be specified.
356 The other values are optional.
358 ``port`` needs to match the BASE ADDRESS jumper on the card (0x220 or 0x240)
359 or the value stored in the card's EEPROM for cards that have an EEPROM and
360 their "CONFIG MODE" jumper set to "EEPROM SETTING". The other values can
361 be chosen freely from the options enumerated above.
363 If ``dma2`` is specified and different from ``dma1``, the card will operate in
364 full-duplex mode. When ``dma1=3``, only ``dma2=0`` is valid and the only way to
365 enable capture since only channels 0 and 1 are available for capture.
367 Generic settings are ``port=0x220 wss_port=0x530 irq=10 dma1=1 dma2=0
368 mpu_port=0x330 mpu_irq=9 fm_port=0x388``.
370 Whatever IRQ and DMA channels you pick, be sure to reserve them for
371 legacy ISA in your BIOS.
376 Module for Aztech Sound Galaxy soundcards based on the Aztech AZT2316
380 port # for BASE (0x220,0x240,0x260,0x280)
382 port # for WSS (0x530,0x604,0xe80,0xf40)
384 IRQ # for WSS (7,9,10,11)
386 DMA # for WSS playback (0,1,3)
388 DMA # for WSS capture (0,1), -1 = disabled (default)
390 port # for MPU-401 UART (0x300,0x330), -1 = disabled (default)
392 IRQ # for MPU-401 UART (5,7,9,10), -1 = disabled (default)
394 port # for OPL3 (0x388), -1 = disabled (default)
396 This module supports multiple cards. It does not support autoprobe:
397 ``port``, ``wss_port``, ``irq`` and ``dma1`` have to be specified.
398 The other values are optional.
400 ``port`` needs to match the BASE ADDRESS jumper on the card (0x220 or 0x240)
401 or the value stored in the card's EEPROM for cards that have an EEPROM and
402 their "CONFIG MODE" jumper set to "EEPROM SETTING". The other values can
403 be chosen freely from the options enumerated above.
405 If ``dma2`` is specified and different from ``dma1``, the card will operate in
406 full-duplex mode. When ``dma1=3``, only ``dma2=0`` is valid and the only way to
407 enable capture since only channels 0 and 1 are available for capture.
409 Generic settings are ``port=0x220 wss_port=0x530 irq=10 dma1=1 dma2=0
410 mpu_port=0x330 mpu_irq=9 fm_port=0x388``.
412 Whatever IRQ and DMA channels you pick, be sure to reserve them for
413 legacy ISA in your BIOS.
418 Module for Audiowerk2 sound card
420 This module supports multiple cards.
425 Module for sound cards based on Aztech System AZT2320 ISA chip (PnP only).
427 This module supports multiple cards, PnP and autoprobe.
429 The power-management is supported.
434 Module for sound cards based on Aztech AZF3328 PCI chip.
437 Enable joystick (default off)
439 This module supports multiple cards.
444 Module for video cards based on Bt87x chips.
447 Override the default digital rate (Hz)
449 Load the driver even if the card model isn't known
451 This module supports multiple cards.
453 Note: The default index value of this module is -2, i.e. the first
459 Module for Creative Audigy LS and SB Live 24bit
461 This module supports multiple cards.
467 Module for sound cards based on C-Media CMI8330 ISA chips.
470 ISA PnP detection - 0 = disable, 1 = enable (default)
472 with ``isapnp=0``, the following options are available:
475 port # for CMI8330 chip (WSS)
477 IRQ # for CMI8330 chip (WSS)
479 first DMA # for CMI8330 chip (WSS)
481 port # for CMI8330 chip (SB16)
483 IRQ # for CMI8330 chip (SB16)
485 8bit DMA # for CMI8330 chip (SB16)
487 16bit DMA # for CMI8330 chip (SB16)
489 (optional) OPL3 I/O port
491 (optional) MPU401 I/O port
493 (optional) MPU401 irq #
495 This module supports multiple cards and autoprobe.
497 The power-management is supported.
502 Module for C-Media CMI8338/8738/8768/8770 PCI sound cards.
505 port address of MIDI interface (8338 only):
506 0x300,0x310,0x320,0x330 = legacy port,
507 1 = integrated PCI port (default on 8738),
510 port address of OPL-3 FM synthesizer (8x38 only):
512 1 = integrated PCI port (default on 8738),
515 Software-conversion of raw SPDIF packets (model 033 only) (default = 1)
517 Joystick port address (0 = disable, 1 = auto-detect)
519 This module supports autoprobe and multiple cards.
521 The power-management is supported.
526 Module for sound cards based on CS4231 ISA chips.
529 port # for CS4231 chip
531 port # for MPU-401 UART (optional), -1 = disable
533 IRQ # for CS4231 chip
535 IRQ # for MPU-401 UART
537 first DMA # for CS4231 chip
539 second DMA # for CS4231 chip
541 This module supports multiple cards. This module does not support autoprobe
542 thus main port must be specified!!! Other ports are optional.
544 The power-management is supported.
549 Module for sound cards based on CS4232/CS4232A,
550 CS4235/CS4236/CS4236B/CS4237B/CS4238B/CS4239 ISA chips.
553 ISA PnP detection - 0 = disable, 1 = enable (default)
555 with ``isapnp=0``, the following options are available:
558 port # for CS4236 chip (PnP setup - 0x534)
560 control port # for CS4236 chip (PnP setup - 0x120,0x210,0xf00)
562 port # for MPU-401 UART (PnP setup - 0x300), -1 = disable
564 FM port # for CS4236 chip (PnP setup - 0x388), -1 = disable
566 IRQ # for CS4236 chip (5,7,9,11,12,15)
568 IRQ # for MPU-401 UART (9,11,12,15)
570 first DMA # for CS4236 chip (0,1,3)
572 second DMA # for CS4236 chip (0,1,3), -1 = disable
574 This module supports multiple cards. This module does not support autoprobe
575 (if ISA PnP is not used) thus main port and control port must be
576 specified!!! Other ports are optional.
578 The power-management is supported.
580 This module is aliased as snd-cs4232 since it provides the old
581 snd-cs4232 functionality, too.
586 Module for Cirrus Logic CS4281 soundchip.
589 Secondary codec ID (0 = disable, default)
591 This module supports multiple cards.
593 The power-management is supported.
598 Module for PCI sound cards based on CS4610/CS4612/CS4614/CS4615/CS4622/
599 CS4624/CS4630/CS4280 PCI chips.
602 Force to enable external amplifier.
604 Force to enable Thinkpad's CLKRUN control.
606 Support OSS mmap mode (default = 0).
608 This module supports multiple cards and autoprobe.
609 Usually external amp and CLKRUN controls are detected automatically
610 from PCI sub vendor/device ids. If they don't work, give the options
613 The power-management is supported.
618 Module for Cyrix/NatSemi Geode 5530 chip.
620 Module snd-cs5535audio
621 ----------------------
623 Module for multifunction CS5535 companion PCI device
625 The power-management is supported.
630 Module for Creative Sound Blaster X-Fi boards (20k1 / 20k2 chips)
632 * Creative Sound Blaster X-Fi Titanium Fatal1ty Champion Series
633 * Creative Sound Blaster X-Fi Titanium Fatal1ty Professional Series
634 * Creative Sound Blaster X-Fi Titanium Professional Audio
635 * Creative Sound Blaster X-Fi Titanium
636 * Creative Sound Blaster X-Fi Elite Pro
637 * Creative Sound Blaster X-Fi Platinum
638 * Creative Sound Blaster X-Fi Fatal1ty
639 * Creative Sound Blaster X-Fi XtremeGamer
640 * Creative Sound Blaster X-Fi XtremeMusic
643 reference sample rate, 44100 or 48000 (default)
645 multiple to ref. sample rate, 1 or 2 (default)
647 override the PCI SSID for probing;
648 the value consists of SSVID << 16 | SSDID.
649 The default is zero, which means no override.
651 This module supports multiple cards.
656 Module for Echoaudio Darla20
658 This module supports multiple cards.
659 The driver requires the firmware loader support on kernel.
664 Module for Echoaudio Darla24
666 This module supports multiple cards.
667 The driver requires the firmware loader support on kernel.
672 Module for Diamond Technologies DT-019X / Avance Logic ALS-007 (PnP
675 This module supports multiple cards. This module is enabled only with
678 The power-management is supported.
683 Module for the dummy sound card. This "card" doesn't do any output
684 or input, but you may use this module for any application which
685 requires a sound card (like RealPlayer).
688 Number of PCM devices assigned to each card (default = 1, up to 4)
690 Number of PCM substreams assigned to each PCM (default = 8, up to 128)
692 Use hrtimer (=1, default) or system timer (=0)
694 Fake buffer allocations (default = 1)
696 When multiple PCM devices are created, snd-dummy gives different
697 behavior to each PCM device:
698 * 0 = interleaved with mmap support
699 * 1 = non-interleaved with mmap support
700 * 2 = interleaved without mmap
701 * 3 = non-interleaved without mmap
703 As default, snd-dummy drivers doesn't allocate the real buffers
704 but either ignores read/write or mmap a single dummy page to all
705 buffer pages, in order to save the resources. If your apps need
706 the read/ written buffer data to be consistent, pass fake_buffer=0
709 The power-management is supported.
714 Module for Echoaudio 3G cards (Gina3G/Layla3G)
716 This module supports multiple cards.
717 The driver requires the firmware loader support on kernel.
722 Module for EMU10K1/EMU10k2 based PCI sound cards.
724 * Sound Blaster Live!
725 * Sound Blaster PCI 512
726 * Emu APS (partially supported)
727 * Sound Blaster Audigy
730 bitmap of available external inputs for FX8010 (see below)
732 bitmap of available external outputs for FX8010 (see below)
734 allocated sequencer ports (4 by default)
736 limit of voices used for wavetable (64 by default)
738 specifies the maximum size of wavetable/pcm buffers given in MB
739 unit. Default value is 128.
743 This module supports multiple cards and autoprobe.
745 Input & Output configurations [extin/extout]
746 * Creative Card wo/Digital out [0x0003/0x1f03]
747 * Creative Card w/Digital out [0x0003/0x1f0f]
748 * Creative Card w/Digital CD in [0x000f/0x1f0f]
749 * Creative Card wo/Digital out + LiveDrive [0x3fc3/0x1fc3]
750 * Creative Card w/Digital out + LiveDrive [0x3fc3/0x1fcf]
751 * Creative Card w/Digital CD in + LiveDrive [0x3fcf/0x1fcf]
752 * Creative Card wo/Digital out + Digital I/O 2 [0x0fc3/0x1f0f]
753 * Creative Card w/Digital out + Digital I/O 2 [0x0fc3/0x1f0f]
754 * Creative Card w/Digital CD in + Digital I/O 2 [0x0fcf/0x1f0f]
755 * Creative Card 5.1/w Digital out + LiveDrive [0x3fc3/0x1fff]
756 * Creative Card 5.1 (c) 2003 [0x3fc3/0x7cff]
757 * Creative Card all ins and outs [0x3fff/0x7fff]
759 The power-management is supported.
764 Module for Creative Emu10k1X (SB Live Dell OEM version)
766 This module supports multiple cards.
771 Module for Ensoniq AudioPCI ES1370 PCI sound cards.
773 * SoundBlaster PCI 64
774 * SoundBlaster PCI 128
777 Enable joystick (default off)
779 This module supports multiple cards and autoprobe.
781 The power-management is supported.
786 Module for Ensoniq AudioPCI ES1371 PCI sound cards.
788 * SoundBlaster PCI 64
789 * SoundBlaster PCI 128
790 * SoundBlaster Vibra PCI
793 port # for joystick (0x200,0x208,0x210,0x218), 0 = disable
794 (default), 1 = auto-detect
796 This module supports multiple cards and autoprobe.
798 The power-management is supported.
803 Module for ESS AudioDrive ES-1688 and ES-688 sound cards.
806 ISA PnP detection - 0 = disable, 1 = enable (default)
808 port # for MPU-401 port (0x300,0x310,0x320,0x330), -1 = disable (default)
810 IRQ # for MPU-401 port (5,7,9,10)
812 port # for OPL3 (option; share the same port as default)
814 with ``isapnp=0``, the following additional options are available:
817 port # for ES-1688 chip (0x220,0x240,0x260)
819 IRQ # for ES-1688 chip (5,7,9,10)
821 DMA # for ES-1688 chip (0,1,3)
823 This module supports multiple cards and autoprobe (without MPU-401 port)
824 and PnP with the ES968 chip.
829 Module for ESS AudioDrive ES-18xx sound cards.
832 ISA PnP detection - 0 = disable, 1 = enable (default)
834 with ``isapnp=0``, the following options are available:
837 port # for ES-18xx chip (0x220,0x240,0x260)
839 port # for MPU-401 port (0x300,0x310,0x320,0x330), -1 = disable (default)
841 port # for FM (optional, not used)
843 IRQ # for ES-18xx chip (5,7,9,10)
845 first DMA # for ES-18xx chip (0,1,3)
847 first DMA # for ES-18xx chip (0,1,3)
849 This module supports multiple cards, ISA PnP and autoprobe (without MPU-401
850 port if native ISA PnP routines are not used).
851 When ``dma2`` is equal with ``dma1``, the driver works as half-duplex.
853 The power-management is supported.
858 Module for sound cards based on ESS Solo-1 (ES1938,ES1946) chips.
860 This module supports multiple cards and autoprobe.
862 The power-management is supported.
867 Module for sound cards based on ESS Maestro-1/2/2E (ES1968/ES1978) chips.
870 total buffer size in kB (1-4096kB)
872 playback channels (1-8, default=2)
874 capture channels (1-8, default=0)
876 clock (0 = auto-detection)
878 support the power-management (0 = off, 1 = on, 2 = auto (default))
880 enable MPU401 (0 = off, 1 = on, 2 = auto (default))
882 enable joystick (default off)
884 This module supports multiple cards and autoprobe.
886 The power-management is supported.
891 Module for ForteMedia FM801 based PCI sound cards.
894 Enable TEA575x tuner;
895 1 = MediaForte 256-PCS,
896 2 = MediaForte 256-PCPR,
897 3 = MediaForte 64-PCR
898 High 16-bits are video (radio) device number + 1;
899 example: 0x10002 (MediaForte 256-PCPR, device 1)
901 This module supports multiple cards and autoprobe.
903 The power-management is supported.
908 Module for Echoaudio Gina20
910 This module supports multiple cards.
911 The driver requires the firmware loader support on kernel.
916 Module for Echoaudio Gina24
918 This module supports multiple cards.
919 The driver requires the firmware loader support on kernel.
921 Module snd-gusclassic
922 ---------------------
924 Module for Gravis UltraSound Classic sound card.
927 port # for GF1 chip (0x220,0x230,0x240,0x250,0x260)
929 IRQ # for GF1 chip (3,5,9,11,12,15)
931 DMA # for GF1 chip (1,3,5,6,7)
933 DMA # for GF1 chip (1,3,5,6,7,-1=disable)
935 0 to 31, (0.59V-4.52V or 0.389V-2.98V)
937 GF1 voices limit (14-32)
941 This module supports multiple cards and autoprobe.
943 Module snd-gusextreme
944 ---------------------
946 Module for Gravis UltraSound Extreme (Synergy ViperMax) sound card.
949 port # for ES-1688 chip (0x220,0x230,0x240,0x250,0x260)
951 port # for GF1 chip (0x210,0x220,0x230,0x240,0x250,0x260,0x270)
953 port # for MPU-401 port (0x300,0x310,0x320,0x330), -1 = disable
955 IRQ # for ES-1688 chip (5,7,9,10)
957 IRQ # for GF1 chip (3,5,9,11,12,15)
959 IRQ # for MPU-401 port (5,7,9,10)
961 DMA # for ES-1688 chip (0,1,3)
963 DMA # for GF1 chip (1,3,5,6,7)
965 0 to 31, (0.59V-4.52V or 0.389V-2.98V)
967 GF1 voices limit (14-32)
971 This module supports multiple cards and autoprobe (without MPU-401 port).
976 Module for Gravis UltraSound MAX sound card.
979 port # for GF1 chip (0x220,0x230,0x240,0x250,0x260)
981 IRQ # for GF1 chip (3,5,9,11,12,15)
983 DMA # for GF1 chip (1,3,5,6,7)
985 DMA # for GF1 chip (1,3,5,6,7,-1=disable)
987 0 to 31, (0.59V-4.52V or 0.389V-2.98V)
989 GF1 voices limit (14-32)
993 This module supports multiple cards and autoprobe.
998 Module for Intel HD Audio (ICH6, ICH6M, ESB2, ICH7, ICH8, ICH9, ICH10,
999 PCH, SCH), ATI SB450, SB600, R600, RS600, RS690, RS780, RV610, RV620,
1000 RV630, RV635, RV670, RV770, VIA VT8251/VT8237A, SIS966, ULI M5461
1002 [Multiple options for each card instance]
1005 force the model name
1008 -1 = system default: choose appropriate one per controller hardware,
1009 0 = auto: falls back to LPIB when POSBUF doesn't work,
1011 2 = POSBUF: use position buffer,
1012 3 = VIACOMBO: VIA-specific workaround for capture,
1013 4 = COMBO: use LPIB for playback, auto for capture stream
1014 5 = SKL+: apply the delay calculation available on recent Intel chips
1015 6 = FIFO: correct the position with the fixed FIFO size, for recent AMD chips
1017 Bitmask to probe codecs (default = -1, meaning all slots);
1018 When the bit 8 (0x100) is set, the lower 8 bits are used
1019 as the "fixed" codec slots; i.e. the driver probes the
1020 slots regardless what hardware reports back
1022 Only probing and no codec initialization (default=off);
1023 Useful to check the initial codec status for debugging
1025 Specifies the DMA IRQ timing delay in samples.
1026 Passing -1 will make the driver to choose the appropriate
1027 value based on the controller chip.
1029 Specifies the early "patch" files to modify the HD-audio setup
1030 before initializing the codecs.
1031 This option is available only when ``CONFIG_SND_HDA_PATCH_LOADER=y``
1032 is set. See hd-audio/notes.rst for details.
1034 Selects the beep registration mode (0=off, 1=on);
1035 default value is set via ``CONFIG_SND_HDA_INPUT_BEEP_MODE`` kconfig.
1037 [Single (global) options]
1040 Use single immediate commands to communicate with codecs
1041 (for debugging only)
1043 Enable Message Signaled Interrupt (MSI) (default = off)
1045 Automatic power-saving timeout (in second, 0 = disable)
1046 power_save_controller
1047 Reset HD-audio controller in power-saving mode (default = on)
1049 Force rounding of buffer/period sizes to multiples of 128 bytes.
1050 This is more efficient in terms of memory access but isn't
1051 required by the HDA spec and prevents users from specifying
1052 exact period/buffer sizes. (default = on)
1054 Enable/disable snooping (default = on)
1056 This module supports multiple cards and autoprobe.
1058 See hd-audio/notes.rst for more details about HD-audio driver.
1060 Each codec may have a model table for different configurations.
1061 If your machine isn't listed there, the default (usually minimal)
1062 configuration is set up. You can pass ``model=<name>`` option to
1063 specify a certain model in such a case. There are different
1064 models depending on the codec chip. The list of available models
1065 is found in hd-audio/models.rst.
1067 The model name ``generic`` is treated as a special case. When this
1068 model is given, the driver uses the generic codec parser without
1069 "codec-patch". It's sometimes good for testing and debugging.
1071 The model option can be used also for aliasing to another PCI or codec
1072 SSID. When it's passed in the form of ``model=XXXX:YYYY`` where XXXX
1073 and YYYY are the sub-vendor and sub-device IDs in hex numbers,
1074 respectively, the driver will refer to that SSID as a reference to the
1077 If the default configuration doesn't work and one of the above
1078 matches with your device, report it together with alsa-info.sh
1079 output (with ``--no-upload`` option) to kernel bugzilla or alsa-devel
1080 ML (see the section `Links and Addresses`_).
1082 ``power_save`` and ``power_save_controller`` options are for power-saving
1083 mode. See powersave.rst for details.
1085 Note 2: If you get click noises on output, try the module option
1086 ``position_fix=1`` or ``2``. ``position_fix=1`` will use the SD_LPIB
1087 register value without FIFO size correction as the current
1088 DMA pointer. ``position_fix=2`` will make the driver to use
1089 the position buffer instead of reading SD_LPIB register.
1090 (Usually SD_LPIB register is more accurate than the
1093 ``position_fix=3`` is specific to VIA devices. The position
1094 of the capture stream is checked from both LPIB and POSBUF
1095 values. ``position_fix=4`` is a combination mode, using LPIB
1096 for playback and POSBUF for capture.
1098 NB: If you get many ``azx_get_response timeout`` messages at
1099 loading, it's likely a problem of interrupts (e.g. ACPI irq
1100 routing). Try to boot with options like ``pci=noacpi``. Also, you
1101 can try ``single_cmd=1`` module option. This will switch the
1102 communication method between HDA controller and codecs to the
1103 single immediate commands instead of CORB/RIRB. Basically, the
1104 single command mode is provided only for BIOS, and you won't get
1105 unsolicited events, too. But, at least, this works independently
1106 from the irq. Remember this is a last resort, and should be
1107 avoided as much as possible...
1109 MORE NOTES ON ``azx_get_response timeout`` PROBLEMS:
1110 On some hardware, you may need to add a proper probe_mask option
1111 to avoid the ``azx_get_response timeout`` problem above, instead.
1112 This occurs when the access to non-existing or non-working codec slot
1113 (likely a modem one) causes a stall of the communication via HD-audio
1114 bus. You can see which codec slots are probed by enabling
1115 ``CONFIG_SND_DEBUG_VERBOSE``, or simply from the file name of the codec
1116 proc files. Then limit the slots to probe by probe_mask option.
1117 For example, ``probe_mask=1`` means to probe only the first slot, and
1118 ``probe_mask=4`` means only the third slot.
1120 The power-management is supported.
1125 Module for RME Hammerfall DSP audio interface(s)
1127 This module supports multiple cards.
1129 Note: The firmware data can be automatically loaded via hotplug
1130 when ``CONFIG_FW_LOADER`` is set. Otherwise, you need to load
1131 the firmware via hdsploader utility included in alsa-tools
1133 The firmware data is found in alsa-firmware package.
1135 Note: snd-page-alloc module does the job which snd-hammerfall-mem
1136 module did formerly. It will allocate the buffers in advance
1137 when any HDSP cards are found. To make the buffer
1138 allocation sure, load snd-page-alloc module in the early
1139 stage of boot sequence. See `Early Buffer Allocation`_
1145 Module for RME HDSP MADI board.
1148 Enable precise pointer, or disable.
1150 Send playback streams to analog outs by default.
1152 Enable Analog Out on Channel 63/64 by default.
1154 See hdspm.rst for details.
1159 Module for Envy24 (ICE1712) based PCI sound cards.
1161 * MidiMan M Audio Delta 1010
1162 * MidiMan M Audio Delta 1010LT
1163 * MidiMan M Audio Delta DiO 2496
1164 * MidiMan M Audio Delta 66
1165 * MidiMan M Audio Delta 44
1166 * MidiMan M Audio Delta 410
1167 * MidiMan M Audio Audiophile 2496
1170 * TerraTec EWX 24/96
1171 * TerraTec DMX 6Fire
1173 * Hoontech SoundTrack DSP 24
1174 * Hoontech SoundTrack DSP 24 Value
1175 * Hoontech SoundTrack DSP 24 Media 7.1
1176 * Event Electronics, EZ8
1178 * Lionstracs, Mediastaton
1182 Use the given board model, one of the following:
1183 delta1010, dio2496, delta66, delta44, audiophile, delta410,
1184 delta1010lt, vx442, ewx2496, ews88mt, ews88mt_new, ews88d,
1185 dmx6fire, dsp24, dsp24_value, dsp24_71, ez8,
1186 phase88, mediastation
1188 Omni I/O support for MidiMan M-Audio Delta44/66
1190 reset timeout for the CS8427 chip (S/PDIF transceiver) in msec
1191 resolution, default value is 500 (0.5 sec)
1193 This module supports multiple cards and autoprobe.
1194 Note: The consumer part is not used with all Envy24 based cards (for
1195 example in the MidiMan Delta siree).
1197 Note: The supported board is detected by reading EEPROM or PCI
1198 SSID (if EEPROM isn't available). You can override the
1199 model by passing ``model`` module option in case that the
1200 driver isn't configured properly or you want to try another
1206 Module for Envy24HT (VT/ICE1724), Envy24PT (VT1720) based PCI sound cards.
1208 * MidiMan M Audio Revolution 5.1
1209 * MidiMan M Audio Revolution 7.1
1210 * MidiMan M Audio Audiophile 192
1212 * TerraTec Aureon 5.1 Sky
1213 * TerraTec Aureon 7.1 Space
1214 * TerraTec Aureon 7.1 Universe
1217 * AudioTrak Prodigy 7.1
1218 * AudioTrak Prodigy 7.1 LT
1219 * AudioTrak Prodigy 7.1 XT
1220 * AudioTrak Prodigy 7.1 HIFI
1221 * AudioTrak Prodigy 7.1 HD2
1222 * AudioTrak Prodigy 192
1224 * Albatron K8X800 Pro II
1225 * Chaintech ZNF3-150
1226 * Chaintech ZNF3-250
1234 * Hercules Fortissimo IV
1235 * EGO-SYS WaveTerminal 192M
1238 Use the given board model, one of the following:
1239 revo51, revo71, amp2000, prodigy71, prodigy71lt,
1240 prodigy71xt, prodigy71hifi, prodigyhd2, prodigy192,
1241 juli, aureon51, aureon71, universe, ap192, k8x800,
1242 phase22, phase28, ms300, av710, se200pci, se90pci,
1243 fortissimo4, sn25p, WT192M, maya44
1245 This module supports multiple cards and autoprobe.
1247 Note: The supported board is detected by reading EEPROM or PCI
1248 SSID (if EEPROM isn't available). You can override the
1249 model by passing ``model`` module option in case that the
1250 driver isn't configured properly or you want to try another
1256 Module for Echoaudio Indigo
1258 This module supports multiple cards.
1259 The driver requires the firmware loader support on kernel.
1264 Module for Echoaudio Indigo DJ
1266 This module supports multiple cards.
1267 The driver requires the firmware loader support on kernel.
1272 Module for Echoaudio Indigo IO
1274 This module supports multiple cards.
1275 The driver requires the firmware loader support on kernel.
1280 Module for AC'97 motherboards from Intel and compatibles.
1282 * Intel i810/810E, i815, i820, i830, i84x, MX440 ICH5, ICH6, ICH7,
1284 * SiS 7012 (SiS 735)
1285 * NVidia NForce, NForce2, NForce3, MCP04, CK804 CK8, CK8S, MCP501
1286 * AMD AMD768, AMD8111
1290 AC'97 codec clock base (0 = auto-detect)
1292 AC'97 workaround for strange hardware;
1293 See `AC97 Quirk Option`_ section below.
1295 Enable workaround for buggy interrupts on some motherboards
1296 (default yes on nForce chips, otherwise off)
1298 Enable workaround for hardware with buggy semaphores (e.g. on some
1299 ASUS laptops) (default off)
1301 Use S/PDIF over AC-link instead of direct connection from the
1302 controller chip (0 = off, 1 = on, -1 = default)
1304 This module supports one chip and autoprobe.
1306 Note: the latest driver supports auto-detection of chip clock.
1307 if you still encounter too fast playback, specify the clock
1308 explicitly via the module option ``ac97_clock=41194``.
1310 Joystick/MIDI ports are not supported by this driver. If your
1311 motherboard has these devices, use the ns558 or snd-mpu401
1312 modules, respectively.
1314 The power-management is supported.
1316 Module snd-intel8x0m
1317 --------------------
1319 Module for Intel ICH (i8x0) chipset MC97 modems.
1321 * Intel i810/810E, i815, i820, i830, i84x, MX440 ICH5, ICH6, ICH7
1322 * SiS 7013 (SiS 735)
1323 * NVidia NForce, NForce2, NForce2s, NForce3
1328 AC'97 codec clock base (0 = auto-detect)
1330 This module supports one card and autoprobe.
1332 Note: The default index value of this module is -2, i.e. the first
1335 The power-management is supported.
1337 Module snd-interwave
1338 --------------------
1340 Module for Gravis UltraSound PnP, Dynasonic 3-D/Pro, STB Sound Rage 32
1341 and other sound cards based on AMD InterWave (tm) chip.
1344 0 to 31, (0.59V-4.52V or 0.389V-2.98V)
1346 1 = MIDI UART enable, 0 = MIDI UART disable (default)
1348 reserved PCM voices for the synthesizer (default 2)
1350 1 = InterWave effects enable (default 0); requires 8 voices
1352 ISA PnP detection - 0 = disable, 1 = enable (default)
1354 with ``isapnp=0``, the following options are available:
1357 port # for InterWave chip (0x210,0x220,0x230,0x240,0x250,0x260)
1359 IRQ # for InterWave chip (3,5,9,11,12,15)
1361 DMA # for InterWave chip (0,1,3,5,6,7)
1363 DMA # for InterWave chip (0,1,3,5,6,7,-1=disable)
1365 This module supports multiple cards, autoprobe and ISA PnP.
1367 Module snd-interwave-stb
1368 ------------------------
1370 Module for UltraSound 32-Pro (sound card from STB used by Compaq)
1371 and other sound cards based on AMD InterWave (tm) chip with TEA6330T
1372 circuit for extended control of bass, treble and master volume.
1375 0 to 31, (0.59V-4.52V or 0.389V-2.98V)
1377 1 = MIDI UART enable, 0 = MIDI UART disable (default)
1379 reserved PCM voices for the synthesizer (default 2)
1381 1 = InterWave effects enable (default 0); requires 8 voices
1383 ISA PnP detection - 0 = disable, 1 = enable (default)
1385 with ``isapnp=0``, the following options are available:
1388 port # for InterWave chip (0x210,0x220,0x230,0x240,0x250,0x260)
1390 tone control (i2c bus) port # for TEA6330T chip (0x350,0x360,0x370,0x380)
1392 IRQ # for InterWave chip (3,5,9,11,12,15)
1394 DMA # for InterWave chip (0,1,3,5,6,7)
1396 DMA # for InterWave chip (0,1,3,5,6,7,-1=disable)
1398 This module supports multiple cards, autoprobe and ISA PnP.
1403 Module for Media Vision Jazz16 chipset. The chipset consists of 3 chips:
1404 MVD1216 + MVA416 + MVA514.
1407 port # for SB DSP chip (0x210,0x220,0x230,0x240,0x250,0x260)
1409 IRQ # for SB DSP chip (3,5,7,9,10,15)
1411 DMA # for SB DSP chip (1,3)
1413 DMA # for SB DSP chip (5,7)
1415 MPU-401 port # (0x300,0x310,0x320,0x330)
1417 MPU-401 irq # (2,3,5,7)
1419 This module supports multiple cards.
1424 Module for Korg 1212 IO PCI card
1426 This module supports multiple cards.
1431 Module for Echoaudio Layla20
1433 This module supports multiple cards.
1434 The driver requires the firmware loader support on kernel.
1439 Module for Echoaudio Layla24
1441 This module supports multiple cards.
1442 The driver requires the firmware loader support on kernel.
1447 Module for Digigram Lola PCI-e boards
1449 This module supports multiple cards.
1454 Module for Digigram LX6464ES boards
1456 This module supports multiple cards.
1461 Module for Allegro/Maestro3 chips
1464 enable external amp (enabled by default)
1466 GPIO pin number for external amp (0-15) or -1 for default pin (8
1467 for allegro, 1 for others)
1469 This module supports autoprobe and multiple chips.
1471 Note: the binding of amplifier is dependent on hardware.
1472 If there is no sound even though all channels are unmuted, try to
1473 specify other gpio connection via amp_gpio option.
1474 For example, a Panasonic notebook might need ``amp_gpio=0x0d``
1477 The power-management is supported.
1482 Module for Echoaudio Mia
1484 This module supports multiple cards.
1485 The driver requires the firmware loader support on kernel.
1490 Module for Miro soundcards: miroSOUND PCM 1 pro, miroSOUND PCM 12,
1491 miroSOUND PCM 20 Radio.
1494 Port # (0x530,0x604,0xe80,0xf40)
1502 MPU-401 port # (0x300,0x310,0x320,0x330)
1504 MPU-401 irq # (5,7,9,10)
1510 enable onboard ide support
1515 Module for Digigram miXart8 sound cards.
1517 This module supports multiple cards.
1518 Note: One miXart8 board will be represented as 4 alsa cards.
1519 See Documentation/sound/cards/mixart.rst for details.
1521 When the driver is compiled as a module and the hotplug firmware
1522 is supported, the firmware data is loaded via hotplug automatically.
1523 Install the necessary firmware files in alsa-firmware package.
1524 When no hotplug fw loader is available, you need to load the
1525 firmware via mixartloader utility in alsa-tools package.
1530 Module for Echoaudio Mona
1532 This module supports multiple cards.
1533 The driver requires the firmware loader support on kernel.
1538 Module for MPU-401 UART devices.
1541 port number or -1 (disable)
1543 IRQ number or -1 (disable)
1545 PnP detection - 0 = disable, 1 = enable (default)
1547 This module supports multiple devices and PnP.
1549 Module snd-msnd-classic
1550 -----------------------
1552 Module for Turtle Beach MultiSound Classic, Tahiti or Monterey
1556 Port # for msnd-classic card
1558 IRQ # for msnd-classic card
1560 Memory address (0xb0000, 0xc8000, 0xd0000, 0xd8000, 0xe0000 or 0xe8000)
1562 enable write ndelay (default = 1)
1564 calibrate signal (default = 0)
1566 ISA PnP detection - 0 = disable, 1 = enable (default)
1568 Digital daughterboard present (default = 0)
1570 Config port (0x250, 0x260 or 0x270) default = PnP
1586 The driver requires firmware files ``turtlebeach/msndinit.bin`` and
1587 ``turtlebeach/msndperm.bin`` in the proper firmware directory.
1589 See Documentation/sound/cards/multisound.sh for important information
1590 about this driver. Note that it has been discontinued, but the
1591 Voyetra Turtle Beach knowledge base entry for it is still available
1593 https://www.turtlebeach.com
1595 Module snd-msnd-pinnacle
1596 ------------------------
1598 Module for Turtle Beach MultiSound Pinnacle/Fiji soundcards.
1601 Port # for pinnacle/fiji card
1603 IRQ # for pinnalce/fiji card
1605 Memory address (0xb0000, 0xc8000, 0xd0000, 0xd8000, 0xe0000 or 0xe8000)
1607 enable write ndelay (default = 1)
1609 calibrate signal (default = 0)
1611 ISA PnP detection - 0 = disable, 1 = enable (default)
1613 The driver requires firmware files ``turtlebeach/pndspini.bin`` and
1614 ``turtlebeach/pndsperm.bin`` in the proper firmware directory.
1619 Module for MOTU MidiTimePiece AV multiport MIDI (on the parallel
1623 I/O port # for MTPAV (0x378,0x278, default=0x378)
1625 IRQ # for MTPAV (7,5, default=7)
1627 number of supported hardware ports, default=8.
1629 Module supports only 1 card. This module has no enable option.
1634 Module for Ego Systems (ESI) Miditerminal 4140
1636 This module supports multiple devices.
1637 Requires parport (``CONFIG_PARPORT``).
1642 Module for NeoMagic NM256AV/ZX chips
1645 max playback frame size in kB (4-128kB)
1647 max capture frame size in kB (4-128kB)
1649 0 or 1 (disabled by default)
1651 specify buffer top address
1653 0 or 1 (disabled by default)
1655 alias buffer_top=0x25a800
1657 enable AC97 RESET workaround for some laptops
1659 enable extended AC97 RESET workaround for some other laptops
1661 This module supports one chip and autoprobe.
1663 The power-management is supported.
1665 Note: on some notebooks the buffer address cannot be detected
1666 automatically, or causes hang-up during initialization.
1667 In such a case, specify the buffer top address explicitly via
1668 the buffer_top option.
1670 Sony F250: buffer_top=0x25a800
1671 Sony F270: buffer_top=0x272800
1672 The driver supports only ac97 codec. It's possible to force
1673 to initialize/use ac97 although it's not detected. In such a
1674 case, use ``force_ac97=1`` option - but *NO* guarantee whether it
1677 Note: The NM256 chip can be linked internally with non-AC97
1678 codecs. This driver supports only the AC97 codec, and won't work
1679 with machines with other (most likely CS423x or OPL3SAx) chips,
1680 even though the device is detected in lspci. In such a case, try
1681 other drivers, e.g. snd-cs4232 or snd-opl3sa2. Some has ISA-PnP
1682 but some doesn't have ISA PnP. You'll need to specify ``isapnp=0``
1683 and proper hardware parameters in the case without ISA PnP.
1685 Note: some laptops need a workaround for AC97 RESET. For the
1686 known hardware like Dell Latitude LS and Sony PCG-F305, this
1687 workaround is enabled automatically. For other laptops with a
1688 hard freeze, you can try ``reset_workaround=1`` option.
1690 Note: Dell Latitude CSx laptops have another problem regarding
1691 AC97 RESET. On these laptops, reset_workaround2 option is
1692 turned on as default. This option is worth to try if the
1693 previous reset_workaround option doesn't help.
1695 Note: This driver is really crappy. It's a porting from the
1696 OSS driver, which is a result of black-magic reverse engineering.
1697 The detection of codec will fail if the driver is loaded *after*
1698 X-server as described above. You might be able to force to load
1699 the module, but it may result in hang-up. Hence, make sure that
1700 you load this module *before* X if you encounter this kind of
1706 Module for Yamaha OPL3-SA2/SA3 sound cards.
1709 ISA PnP detection - 0 = disable, 1 = enable (default)
1711 with ``isapnp=0``, the following options are available:
1714 control port # for OPL3-SA chip (0x370)
1716 SB port # for OPL3-SA chip (0x220,0x240)
1718 WSS port # for OPL3-SA chip (0x530,0xe80,0xf40,0x604)
1720 port # for MPU-401 UART (0x300,0x330), -1 = disable
1722 FM port # for OPL3-SA chip (0x388), -1 = disable
1724 IRQ # for OPL3-SA chip (5,7,9,10)
1726 first DMA # for Yamaha OPL3-SA chip (0,1,3)
1728 second DMA # for Yamaha OPL3-SA chip (0,1,3), -1 = disable
1730 This module supports multiple cards and ISA PnP. It does not support
1731 autoprobe (if ISA PnP is not used) thus all ports must be specified!!!
1733 The power-management is supported.
1735 Module snd-opti92x-ad1848
1736 -------------------------
1738 Module for sound cards based on OPTi 82c92x and Analog Devices AD1848 chips.
1739 Module works with OAK Mozart cards as well.
1742 ISA PnP detection - 0 = disable, 1 = enable (default)
1744 with ``isapnp=0``, the following options are available:
1747 port # for WSS chip (0x530,0xe80,0xf40,0x604)
1749 port # for MPU-401 UART (0x300,0x310,0x320,0x330)
1751 port # for OPL3 device (0x388)
1753 IRQ # for WSS chip (5,7,9,10,11)
1755 IRQ # for MPU-401 UART (5,7,9,10)
1757 first DMA # for WSS chip (0,1,3)
1759 This module supports only one card, autoprobe and PnP.
1761 Module snd-opti92x-cs4231
1762 -------------------------
1764 Module for sound cards based on OPTi 82c92x and Crystal CS4231 chips.
1767 ISA PnP detection - 0 = disable, 1 = enable (default)
1769 with ``isapnp=0``, the following options are available:
1772 port # for WSS chip (0x530,0xe80,0xf40,0x604)
1774 port # for MPU-401 UART (0x300,0x310,0x320,0x330)
1776 port # for OPL3 device (0x388)
1778 IRQ # for WSS chip (5,7,9,10,11)
1780 IRQ # for MPU-401 UART (5,7,9,10)
1782 first DMA # for WSS chip (0,1,3)
1784 second DMA # for WSS chip (0,1,3)
1786 This module supports only one card, autoprobe and PnP.
1791 Module for sound cards based on OPTi 82c93x chips.
1794 ISA PnP detection - 0 = disable, 1 = enable (default)
1796 with ``isapnp=0``, the following options are available:
1799 port # for WSS chip (0x530,0xe80,0xf40,0x604)
1801 port # for MPU-401 UART (0x300,0x310,0x320,0x330)
1803 port # for OPL3 device (0x388)
1805 IRQ # for WSS chip (5,7,9,10,11)
1807 IRQ # for MPU-401 UART (5,7,9,10)
1809 first DMA # for WSS chip (0,1,3)
1811 second DMA # for WSS chip (0,1,3)
1813 This module supports only one card, autoprobe and PnP.
1818 Module for sound cards based on the C-Media CMI8786/8787/8788 chip:
1822 * AuzenTech X-Meridian
1823 * AuzenTech X-Meridian 2G
1825 * Club3D Theatron DTS
1826 * HT-Omega Claro (plus)
1827 * HT-Omega Claro halo (XT)
1828 * Kuroutoshikou CMI8787-HG2PCI
1829 * Razer Barracuda AC-1
1831 * TempoTec HiFier Fantasia
1832 * TempoTec HiFier Serenade
1834 This module supports autoprobe and multiple cards.
1839 Module for internal PC-Speaker.
1842 Disable PC-Speaker PCM sound. Only beeps remain.
1844 enable NForce chipset workaround. Expect bad sound.
1846 This module supports system beeps, some kind of PCM playback and
1847 even a few mixer controls.
1852 Module for Digigram PCXHR boards
1854 This module supports multiple cards.
1856 Module snd-portman2x4
1857 ---------------------
1859 Module for Midiman Portman 2x4 parallel port MIDI interface
1861 This module supports multiple cards.
1863 Module snd-powermac (on ppc only)
1864 ---------------------------------
1866 Module for PowerMac, iMac and iBook on-board soundchips
1869 enable beep using PCM (enabled as default)
1871 Module supports autoprobe a chip.
1873 Note: the driver may have problems regarding endianness.
1875 The power-management is supported.
1877 Module snd-pxa2xx-ac97 (on arm only)
1878 ------------------------------------
1880 Module for AC97 driver for the Intel PXA2xx chip
1882 For ARM architecture only.
1884 The power-management is supported.
1889 Module for Conexant Riptide chip
1892 Joystick port # (default: 0x200)
1894 MPU401 port # (default: 0x330)
1896 OPL3 port # (default: 0x388)
1898 This module supports multiple cards.
1899 The driver requires the firmware loader support on kernel.
1900 You need to install the firmware file ``riptide.hex`` to the standard
1901 firmware path (e.g. /lib/firmware).
1906 Module for RME Digi32, Digi32 Pro and Digi32/8 (Sek'd Prodif32,
1907 Prodif96 and Prodif Gold) sound cards.
1909 This module supports multiple cards.
1914 Module for RME Digi96, Digi96/8 and Digi96/8 PRO/PAD/PST sound cards.
1916 This module supports multiple cards.
1921 Module for RME Digi9652 (Hammerfall, Hammerfall-Light) sound cards.
1924 Enable precise pointer (doesn't work reliably). (default = 0)
1926 This module supports multiple cards.
1928 Note: snd-page-alloc module does the job which snd-hammerfall-mem
1929 module did formerly. It will allocate the buffers in advance
1930 when any RME9652 cards are found. To make the buffer
1931 allocation sure, load snd-page-alloc module in the early
1932 stage of boot sequence. See `Early Buffer Allocation`_
1935 Module snd-sa11xx-uda1341 (on arm only)
1936 ---------------------------------------
1938 Module for Philips UDA1341TS on Compaq iPAQ H3600 sound card.
1940 Module supports only one card.
1941 Module has no enable and index options.
1943 The power-management is supported.
1948 Module for 8-bit SoundBlaster cards: SoundBlaster 1.0, SoundBlaster 2.0,
1952 port # for SB DSP chip (0x220,0x240,0x260)
1954 IRQ # for SB DSP chip (5,7,9,10)
1956 DMA # for SB DSP chip (1,3)
1958 This module supports multiple cards and autoprobe.
1960 The power-management is supported.
1962 Module snd-sb16 and snd-sbawe
1963 -----------------------------
1965 Module for 16-bit SoundBlaster cards: SoundBlaster 16 (PnP),
1966 SoundBlaster AWE 32 (PnP), SoundBlaster AWE 64 PnP
1969 Mic Auto-Gain-Control - 0 = disable, 1 = enable (default)
1971 ASP/CSP chip support - 0 = disable (default), 1 = enable
1973 ISA PnP detection - 0 = disable, 1 = enable (default)
1975 with isapnp=0, the following options are available:
1978 port # for SB DSP 4.x chip (0x220,0x240,0x260)
1980 port # for MPU-401 UART (0x300,0x330), -1 = disable
1982 base port # for EMU8000 synthesizer (0x620,0x640,0x660) (snd-sbawe
1985 IRQ # for SB DSP 4.x chip (5,7,9,10)
1987 8-bit DMA # for SB DSP 4.x chip (0,1,3)
1989 16-bit DMA # for SB DSP 4.x chip (5,6,7)
1991 This module supports multiple cards, autoprobe and ISA PnP.
1993 Note: To use Vibra16X cards in 16-bit half duplex mode, you must
1994 disable 16bit DMA with dma16 = -1 module parameter.
1995 Also, all Sound Blaster 16 type cards can operate in 16-bit
1996 half duplex mode through 8-bit DMA channel by disabling their
1999 The power-management is supported.
2004 Module for Gallant SC-6000 soundcard and later models: SC-6600 and
2008 Port # (0x220 or 0x240)
2010 MSS Port # (0x530 or 0xe80)
2014 MPU-401 IRQ # (5,7,9,10) ,0 - no MPU-401 irq
2018 Enable gameport - 0 = disable (default), 1 = enable
2020 This module supports multiple cards.
2022 This card is also known as Audio Excel DSP 16 or Zoltrix AV302.
2027 Module for ENSONIQ SoundScape cards.
2032 WSS Port # (PnP setup)
2036 MPU-401 IRQ # (PnP setup)
2040 2nd DMA # (PnP setup, -1 to disable)
2042 Enable gameport - 0 = disable (default), 1 = enable
2044 This module supports multiple cards.
2046 The driver requires the firmware loader support on kernel.
2048 Module snd-sun-amd7930 (on sparc only)
2049 --------------------------------------
2051 Module for AMD7930 sound chips found on Sparcs.
2053 This module supports multiple cards.
2055 Module snd-sun-cs4231 (on sparc only)
2056 -------------------------------------
2058 Module for CS4231 sound chips found on Sparcs.
2060 This module supports multiple cards.
2062 Module snd-sun-dbri (on sparc only)
2063 -----------------------------------
2065 Module for DBRI sound chips found on Sparcs.
2067 This module supports multiple cards.
2069 Module snd-wavefront
2070 --------------------
2072 Module for Turtle Beach Maui, Tropez and Tropez+ sound cards.
2075 Use CS4232 MPU-401 interface
2076 (inaccessibly located inside your computer)
2078 ISA PnP detection - 0 = disable, 1 = enable (default)
2080 with isapnp=0, the following options are available:
2083 Port # for CS4232 PCM interface.
2085 IRQ # for CS4232 PCM interface (5,7,9,11,12,15).
2087 Port # for CS4232 MPU-401 interface.
2089 IRQ # for CS4232 MPU-401 interface (9,11,12,15).
2097 DMA1 # for CS4232 PCM interface.
2099 DMA2 # for CS4232 PCM interface.
2101 The below are options for wavefront_synth features:
2104 Assume that we need to boot the OS (default:no);
2105 If yes, then during driver loading, the state of the board is
2106 ignored, and we reset the board and load the firmware anyway.
2108 Assume that the FX process needs help (default:yes);
2109 If false, we'll leave the FX processor in whatever state it is
2110 when the driver is loaded. The default is to download the
2111 microprogram and associated coefficients to set it up for
2112 "default" operation, whatever that means.
2114 Debug parameters for card initialization
2116 How long to wait without sleeping, usecs (default:150);
2117 This magic number seems to give pretty optimal throughput
2118 based on my limited experimentation.
2119 If you want to play around with it and find a better value, be
2120 my guest. Remember, the idea is to get a number that causes us
2121 to just busy wait for as many WaveFront commands as possible,
2122 without coming up with a number so large that we hog the whole
2124 Specifically, with this number, out of about 134,000 status
2125 waits, only about 250 result in a sleep.
2127 How long to sleep when waiting for reply (default: 100)
2129 How many times to try sleeping during a wait (default: 50)
2131 Pathname to processed ICS2115 OS firmware (default:wavefront.os);
2132 The path name of the ISC2115 OS firmware. In the recent
2133 version, it's handled via firmware loader framework, so it
2134 must be installed in the proper path, typically,
2137 How long to wait for a reset to take effect (default:2)
2139 How many seconds to wait for the RAM test (default:20)
2141 How many seconds to wait for the ICS2115 OS (default:10)
2143 This module supports multiple cards and ISA PnP.
2145 Note: the firmware file ``wavefront.os`` was located in the earlier
2146 version in /etc. Now it's loaded via firmware loader, and
2147 must be in the proper firmware path, such as /lib/firmware.
2148 Copy (or symlink) the file appropriately if you get an error
2149 regarding firmware downloading after upgrading the kernel.
2151 Module snd-sonicvibes
2152 ---------------------
2154 Module for S3 SonicVibes PCI sound cards.
2155 * PINE Schubert 32 PCI
2158 Reverb Enable - 1 = enable, 0 = disable (default);
2159 SoundCard must have onboard SRAM for this.
2161 Mic Gain Enable - 1 = enable, 0 = disable (default)
2163 This module supports multiple cards and autoprobe.
2165 Module snd-serial-u16550
2166 ------------------------
2168 Module for UART16550A serial MIDI ports.
2171 port # for UART16550A chip
2173 IRQ # for UART16550A chip, -1 = poll mode
2175 speed in bauds (9600,19200,38400,57600,115200)
2178 base for divisor in bauds (57600,115200,230400,460800)
2181 number of MIDI ports in a serial port (1-4)
2185 0 = Soundcanvas, 1 = MS-124T, 2 = MS-124W S/A,
2186 3 = MS-124W M/B, 4 = Generic
2188 This module supports multiple cards. This module does not support autoprobe
2189 thus the main port must be specified!!! Other options are optional.
2194 Module for Trident 4DWave DX/NX sound cards.
2195 * Best Union Miss Melody 4DWave PCI
2197 * Warpspeed ONSpeed 4DWave PCI
2200 * CHIC True Sound 4Dwave
2201 * Shark Predator4D-PCI
2202 * Jaton SonicWave 4D
2203 * SiS SI7018 PCI Audio
2204 * Hoontech SoundTrack Digital 4DWave NX
2207 max channels (voices) reserved for PCM
2209 max wavetable size in kB (4-?kb)
2211 This module supports multiple cards and autoprobe.
2213 The power-management is supported.
2218 Module for the Edirol UA-101/UA-1000 audio/MIDI interfaces.
2220 This module supports multiple devices, autoprobe and hotplugging.
2222 Module snd-usb-audio
2223 --------------------
2225 Module for USB audio and USB MIDI devices.
2228 Vendor ID for the device (optional)
2230 Product ID for the device (optional)
2232 Max. number of packets per URB (default: 8)
2234 Device specific magic number (optional);
2235 Influence depends on the device
2238 Ignore any USB-controller regarding mixer interface (default: no)
2240 Enable auto-clock selection for UAC2 devices (default: yes)
2242 Quirk alias list, pass strings like ``0123abcd:5678beef``, which
2243 applies the existing quirk for the device 5678:beef to a new
2246 Apply the generic implicit feedback sync mode. When this is set
2247 and the playback stream sync mode is ASYNC, the driver tries to
2248 tie an adjacent ASYNC capture stream as the implicit feedback
2249 source. This is equivalent with quirk_flags bit 17.
2251 Use vmalloc() for allocations of the PCM buffers (default: yes).
2252 For architectures with non-coherent memory like ARM or MIPS, the
2253 mmap access may give inconsistent results with vmalloc'ed
2254 buffers. If mmap is used on such architectures, turn off this
2255 option, so that the DMA-coherent buffers are allocated and used
2258 The option is needed for devices that have multiple streams
2259 defined in multiple USB interfaces. The driver may invoke
2260 registrations multiple times (once per interface) and this may
2261 lead to the insufficient device enumeration.
2262 This option receives an array of strings, and you can pass
2263 ID:INTERFACE like ``0123abcd:4`` for performing the delayed
2264 registration to the given device. In this example, when a USB
2265 device 0123:abcd is probed, the driver waits the registration
2266 until the USB interface 4 gets probed.
2267 The driver prints a message like "Found post-registration device
2268 assignment: 1234abcd:04" for such a device, so that user can
2271 Contains the bit flags for various device specific workarounds.
2272 Applied to the corresponding card index.
2274 * bit 0: Skip reading sample rate for devices
2275 * bit 1: Create Media Controller API entries
2276 * bit 2: Allow alignment on audio sub-slot at transfer
2277 * bit 3: Add length specifier to transfers
2278 * bit 4: Start playback stream at first in implement feedback mode
2279 * bit 5: Skip clock selector setup
2280 * bit 6: Ignore errors from clock source search
2281 * bit 7: Indicates ITF-USB DSD based DACs
2282 * bit 8: Add a delay of 20ms at each control message handling
2283 * bit 9: Add a delay of 1-2ms at each control message handling
2284 * bit 10: Add a delay of 5-6ms at each control message handling
2285 * bit 11: Add a delay of 50ms at each interface setup
2286 * bit 12: Perform sample rate validations at probe
2287 * bit 13: Disable runtime PM autosuspend
2288 * bit 14: Ignore errors for mixer access
2289 * bit 15: Support generic DSD raw U32_BE format
2290 * bit 16: Set up the interface at first like UAC1
2291 * bit 17: Apply the generic implicit feedback sync mode
2292 * bit 18: Don't apply implicit feedback sync mode
2294 This module supports multiple devices, autoprobe and hotplugging.
2296 NB: ``nrpacks`` parameter can be modified dynamically via sysfs.
2297 Don't put the value over 20. Changing via sysfs has no sanity
2300 NB: ``ignore_ctl_error=1`` may help when you get an error at accessing
2301 the mixer element such as URB error -22. This happens on some
2302 buggy USB device or the controller. This workaround corresponds to
2303 the ``quirk_flags`` bit 14, too.
2305 NB: ``quirk_alias`` option is provided only for testing / development.
2306 If you want to have a proper support, contact to upstream for
2307 adding the matching quirk in the driver code statically.
2308 Ditto for ``quirk_flags``. If a device is known to require specific
2309 workarounds, please report to the upstream.
2311 Module snd-usb-caiaq
2312 --------------------
2314 Module for caiaq UB audio interfaces,
2316 * Native Instruments RigKontrol2
2317 * Native Instruments Kore Controller
2318 * Native Instruments Audio Kontrol 1
2319 * Native Instruments Audio 8 DJ
2321 This module supports multiple devices, autoprobe and hotplugging.
2323 Module snd-usb-usx2y
2324 --------------------
2326 Module for Tascam USB US-122, US-224 and US-428 devices.
2328 This module supports multiple devices, autoprobe and hotplugging.
2330 Note: you need to load the firmware via ``usx2yloader`` utility included
2331 in alsa-tools and alsa-firmware packages.
2336 Module for AC'97 motherboards based on VIA 82C686A/686B, 8233, 8233A,
2337 8233C, 8235, 8237 (south) bridge.
2340 0x300,0x310,0x320,0x330, otherwise obtain BIOS setup
2343 Enable joystick (default off) [VIA686A/686B only]
2345 AC'97 codec clock base (default 48000Hz)
2347 support DXS channels, 0 = auto (default), 1 = enable, 2 = disable,
2348 3 = 48k only, 4 = no VRA, 5 = enable any sample rate and different
2349 sample rates on different channels [VIA8233/C, 8235, 8237 only]
2351 AC'97 workaround for strange hardware;
2352 See `AC97 Quirk Option`_ section below.
2354 This module supports one chip and autoprobe.
2356 Note: on some SMP motherboards like MSI 694D the interrupts might
2357 not be generated properly. In such a case, please try to
2358 set the SMP (or MPS) version on BIOS to 1.1 instead of
2359 default value 1.4. Then the interrupt number will be
2360 assigned under 15. You might also upgrade your BIOS.
2362 Note: VIA8233/5/7 (not VIA8233A) can support DXS (direct sound)
2363 channels as the first PCM. On these channels, up to 4
2364 streams can be played at the same time, and the controller
2365 can perform sample rate conversion with separate rates for
2367 As default (``dxs_support = 0``), 48k fixed rate is chosen
2368 except for the known devices since the output is often
2369 noisy except for 48k on some mother boards due to the
2371 Please try once ``dxs_support=5`` and if it works on other
2372 sample rates (e.g. 44.1kHz of mp3 playback), please let us
2373 know the PCI subsystem vendor/device id's (output of
2375 If ``dxs_support=5`` does not work, try ``dxs_support=4``; if it
2376 doesn't work too, try dxs_support=1. (dxs_support=1 is
2377 usually for old motherboards. The correct implemented
2378 board should work with 4 or 5.) If it still doesn't
2379 work and the default setting is ok, ``dxs_support=3`` is the
2380 right choice. If the default setting doesn't work at all,
2381 try ``dxs_support=2`` to disable the DXS channels.
2382 In any cases, please let us know the result and the
2383 subsystem vendor/device ids. See `Links and Addresses`_
2386 Note: for the MPU401 on VIA823x, use snd-mpu401 driver
2387 additionally. The mpu_port option is for VIA686 chips only.
2389 The power-management is supported.
2391 Module snd-via82xx-modem
2392 ------------------------
2394 Module for VIA82xx AC97 modem
2397 AC'97 codec clock base (default 48000Hz)
2399 This module supports one card and autoprobe.
2401 Note: The default index value of this module is -2, i.e. the first
2404 The power-management is supported.
2409 Module for virtual rawmidi devices.
2410 This module creates virtual rawmidi devices which communicate
2411 to the corresponding ALSA sequencer ports.
2414 MIDI devices # (1-4, default=4)
2416 This module supports multiple cards.
2421 Module for sound cards based on the Asus AV66/AV100/AV200 chips,
2422 i.e., Xonar D1, DX, D2, D2X, DS, DSX, Essence ST (Deluxe),
2423 Essence STX (II), HDAV1.3 (Deluxe), and HDAV1.3 Slim.
2425 This module supports autoprobe and multiple cards.
2430 Module for Digigram VX-Pocket VX222, V222 v2 and Mic cards.
2433 Enable Microphone on V222 Mic (NYI)
2435 Capture IBL size. (default = 0, minimum size)
2437 This module supports multiple cards.
2439 When the driver is compiled as a module and the hotplug firmware
2440 is supported, the firmware data is loaded via hotplug automatically.
2441 Install the necessary firmware files in alsa-firmware package.
2442 When no hotplug fw loader is available, you need to load the
2443 firmware via vxloader utility in alsa-tools package. To invoke
2444 vxloader automatically, add the following to /etc/modprobe.d/alsa.conf
2448 install snd-vx222 /sbin/modprobe --first-time -i snd-vx222\
2449 && /usr/bin/vxloader
2451 (for 2.2/2.4 kernels, add ``post-install /usr/bin/vxloader`` to
2452 /etc/modules.conf, instead.)
2453 IBL size defines the interrupts period for PCM. The smaller size
2454 gives smaller latency but leads to more CPU consumption, too.
2455 The size is usually aligned to 126. As default (=0), the smallest
2456 size is chosen. The possible IBL values can be found in
2457 /proc/asound/cardX/vx-status proc file.
2459 The power-management is supported.
2464 Module for Digigram VX-Pocket VX2 and 440 PCMCIA cards.
2467 Capture IBL size. (default = 0, minimum size)
2469 This module supports multiple cards. The module is compiled only when
2470 PCMCIA is supported on kernel.
2472 With the older 2.6.x kernel, to activate the driver via the card
2473 manager, you'll need to set up /etc/pcmcia/vxpocket.conf. See the
2474 sound/pcmcia/vx/vxpocket.c. 2.6.13 or later kernel requires no
2475 longer require a config file.
2477 When the driver is compiled as a module and the hotplug firmware
2478 is supported, the firmware data is loaded via hotplug automatically.
2479 Install the necessary firmware files in alsa-firmware package.
2480 When no hotplug fw loader is available, you need to load the
2481 firmware via vxloader utility in alsa-tools package.
2483 About capture IBL, see the description of snd-vx222 module.
2485 Note: snd-vxp440 driver is merged to snd-vxpocket driver since
2488 The power-management is supported.
2493 Module for Yamaha PCI chips (YMF72x, YMF74x & YMF75x).
2496 0x300,0x330,0x332,0x334, 0 (disable) by default,
2497 1 (auto-detect for YMF744/754 only)
2499 0x388,0x398,0x3a0,0x3a8, 0 (disable) by default
2500 1 (auto-detect for YMF744/754 only)
2502 0x201,0x202,0x204,0x205, 0 (disable) by default,
2505 enable shared rear/line-in switch (bool)
2507 This module supports autoprobe and multiple chips.
2509 The power-management is supported.
2511 Module snd-pdaudiocf
2512 --------------------
2514 Module for Sound Core PDAudioCF sound card.
2516 The power-management is supported.
2522 The ac97_quirk option is used to enable/override the workaround for
2523 specific devices on drivers for on-board AC'97 controllers like
2524 snd-intel8x0. Some hardware have swapped output pins between Master
2525 and Headphone, or Surround (thanks to confusion of AC'97
2526 specifications from version to version :-)
2528 The driver provides the auto-detection of known problematic devices,
2529 but some might be unknown or wrongly detected. In such a case, pass
2530 the proper value with this option.
2532 The following strings are accepted:
2535 Don't override the default setting
2539 Bind Master and Headphone controls as a single control
2541 Swap headphone and master controls
2543 Swap master and surround controls
2545 For AD1985, turn on OMS bit and use headphone
2547 For ALC65x, turn on the jack sense mode
2549 Inverted EAPD implementation
2551 Bind EAPD bit for turning on/off mute LED
2553 For backward compatibility, the corresponding integer value -1, 0, ...
2556 For example, if ``Master`` volume control has no effect on your device
2557 but only ``Headphone`` does, pass ac97_quirk=hp_only module option.
2560 Configuring Non-ISAPNP Cards
2561 ============================
2563 When the kernel is configured with ISA-PnP support, the modules
2564 supporting the isapnp cards will have module options ``isapnp``.
2565 If this option is set, *only* the ISA-PnP devices will be probed.
2566 For probing the non ISA-PnP cards, you have to pass ``isapnp=0`` option
2567 together with the proper i/o and irq configuration.
2569 When the kernel is configured without ISA-PnP support, isapnp option
2570 will be not built in.
2573 Module Autoloading Support
2574 ==========================
2576 The ALSA drivers can be loaded automatically on demand by defining
2577 module aliases. The string ``snd-card-%1`` is requested for ALSA native
2578 devices where ``%i`` is sound card number from zero to seven.
2580 To auto-load an ALSA driver for OSS services, define the string
2581 ``sound-slot-%i`` where ``%i`` means the slot number for OSS, which
2582 corresponds to the card index of ALSA. Usually, define this
2583 as the same card module.
2585 An example configuration for a single emu10k1 card is like below:
2588 ----- /etc/modprobe.d/alsa.conf
2589 alias snd-card-0 snd-emu10k1
2590 alias sound-slot-0 snd-emu10k1
2591 ----- /etc/modprobe.d/alsa.conf
2593 The available number of auto-loaded sound cards depends on the module
2594 option ``cards_limit`` of snd module. As default it's set to 1.
2595 To enable the auto-loading of multiple cards, specify the number of
2596 sound cards in that option.
2598 When multiple cards are available, it'd better to specify the index
2599 number for each card via module option, too, so that the order of
2600 cards is kept consistent.
2602 An example configuration for two sound cards is like below:
2605 ----- /etc/modprobe.d/alsa.conf
2607 options snd cards_limit=2
2608 alias snd-card-0 snd-interwave
2609 alias snd-card-1 snd-ens1371
2610 options snd-interwave index=0
2611 options snd-ens1371 index=1
2613 alias sound-slot-0 snd-interwave
2614 alias sound-slot-1 snd-ens1371
2615 ----- /etc/modprobe.d/alsa.conf
2617 In this example, the interwave card is always loaded as the first card
2618 (index 0) and ens1371 as the second (index 1).
2620 Alternative (and new) way to fixate the slot assignment is to use
2621 ``slots`` option of snd module. In the case above, specify like the
2625 options snd slots=snd-interwave,snd-ens1371
2627 Then, the first slot (#0) is reserved for snd-interwave driver, and
2628 the second (#1) for snd-ens1371. You can omit index option in each
2629 driver if slots option is used (although you can still have them at
2630 the same time as long as they don't conflict).
2632 The slots option is especially useful for avoiding the possible
2633 hot-plugging and the resultant slot conflict. For example, in the
2634 case above again, the first two slots are already reserved. If any
2635 other driver (e.g. snd-usb-audio) is loaded before snd-interwave or
2636 snd-ens1371, it will be assigned to the third or later slot.
2638 When a module name is given with '!', the slot will be given for any
2639 modules but that name. For example, ``slots=!snd-pcsp`` will reserve
2640 the first slot for any modules but snd-pcsp.
2643 ALSA PCM devices to OSS devices mapping
2644 =======================================
2647 /dev/snd/pcmC0D0[c|p] -> /dev/audio0 (/dev/audio) -> minor 4
2648 /dev/snd/pcmC0D0[c|p] -> /dev/dsp0 (/dev/dsp) -> minor 3
2649 /dev/snd/pcmC0D1[c|p] -> /dev/adsp0 (/dev/adsp) -> minor 12
2650 /dev/snd/pcmC1D0[c|p] -> /dev/audio1 -> minor 4+16 = 20
2651 /dev/snd/pcmC1D0[c|p] -> /dev/dsp1 -> minor 3+16 = 19
2652 /dev/snd/pcmC1D1[c|p] -> /dev/adsp1 -> minor 12+16 = 28
2653 /dev/snd/pcmC2D0[c|p] -> /dev/audio2 -> minor 4+32 = 36
2654 /dev/snd/pcmC2D0[c|p] -> /dev/dsp2 -> minor 3+32 = 39
2655 /dev/snd/pcmC2D1[c|p] -> /dev/adsp2 -> minor 12+32 = 44
2657 The first number from ``/dev/snd/pcmC{X}D{Y}[c|p]`` expression means
2658 sound card number and second means device number. The ALSA devices
2659 have either ``c`` or ``p`` suffix indicating the direction, capture and
2660 playback, respectively.
2662 Please note that the device mapping above may be varied via the module
2663 options of snd-pcm-oss module.
2666 Proc interfaces (/proc/asound)
2667 ==============================
2669 /proc/asound/card#/pcm#[cp]/oss
2670 -------------------------------
2672 erase all additional information about OSS applications
2674 <app_name> <fragments> <fragment_size> [<options>]
2676 name of application with (higher priority) or without path
2678 number of fragments or zero if auto
2680 size of fragment in bytes or zero if auto
2685 the application tries to open a pcm device for
2686 this channel but does not want to use it.
2687 (Cause a bug or mmap needs)
2688 It's good for Quake etc...
2692 force block mode (rvplayer)
2694 force non-block mode
2696 write only whole fragments (optimization affecting
2699 do not fill silence ahead to avoid clicks
2701 Returns the whitespace blocks in GETOPTR ioctl
2702 instead of filled blocks
2707 echo "x11amp 128 16384" > /proc/asound/card0/pcm0p/oss
2708 echo "squake 0 0 disable" > /proc/asound/card0/pcm0c/oss
2709 echo "rvplayer 0 0 block" > /proc/asound/card0/pcm0p/oss
2712 Early Buffer Allocation
2713 =======================
2715 Some drivers (e.g. hdsp) require the large contiguous buffers, and
2716 sometimes it's too late to find such spaces when the driver module is
2717 actually loaded due to memory fragmentation. You can pre-allocate the
2718 PCM buffers by loading snd-page-alloc module and write commands to its
2719 proc file in prior, for example, in the early boot stage like
2720 ``/etc/init.d/*.local`` scripts.
2722 Reading the proc file /proc/drivers/snd-page-alloc shows the current
2723 usage of page allocation. In writing, you can send the following
2724 commands to the snd-page-alloc driver:
2726 * add VENDOR DEVICE MASK SIZE BUFFERS
2728 VENDOR and DEVICE are PCI vendor and device IDs. They take
2729 integer numbers (0x prefix is needed for the hex).
2730 MASK is the PCI DMA mask. Pass 0 if not restricted.
2731 SIZE is the size of each buffer to allocate. You can pass
2732 k and m suffix for KB and MB. The max number is 16MB.
2733 BUFFERS is the number of buffers to allocate. It must be greater
2734 than 0. The max number is 4.
2738 This will erase the all pre-allocated buffers which are not in
2745 ALSA project homepage
2746 http://www.alsa-project.org
2748 http://bugzilla.kernel.org/
2750 mailto:alsa-devel@alsa-project.org
2752 https://www.alsa-project.org/alsa-info.sh