2770 lines · plain
1==============================================================2Advanced Linux Sound Architecture - Driver Configuration guide3==============================================================4 5 6Kernel Configuration7====================8 9To enable ALSA support you need at least to build the kernel with10primary sound card support (``CONFIG_SOUND``). Since ALSA can emulate11OSS, you don't have to choose any of the OSS modules.12 13Enable "OSS API emulation" (``CONFIG_SND_OSSEMUL``) and both OSS mixer14and PCM supports if you want to run OSS applications with ALSA.15 16If you want to support the WaveTable functionality on cards such as17SB Live! then you need to enable "Sequencer support"18(``CONFIG_SND_SEQUENCER``).19 20To make ALSA debug messages more verbose, enable the "Verbose printk"21and "Debug" options. To check for memory leaks, turn on "Debug memory"22too. "Debug detection" will add checks for the detection of cards.23 24Please note that all the ALSA ISA drivers support the Linux isapnp API25(if the card supports ISA PnP). You don't need to configure the cards26using isapnptools.27 28 29Module parameters30=================31 32The user can load modules with options. If the module supports more than33one card and you have more than one card of the same type then you can34specify multiple values for the option separated by commas.35 36 37Module snd38----------39 40The core ALSA module. It is used by all ALSA card drivers.41It takes the following options which have global effects.42 43major44 major number for sound driver;45 Default: 11646cards_limit47 limiting card index for auto-loading (1-8);48 Default: 1;49 For auto-loading more than one card, specify this option50 together with snd-card-X aliases.51slots52 Reserve the slot index for the given driver;53 This option takes multiple strings.54 See `Module Autoloading Support`_ section for details.55debug56 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 sysfs61 /sys/modules/snd/parameters/debug file.62 63Module snd-pcm-oss64------------------65 66The PCM OSS emulation module.67This module takes options which change the mapping of devices.68 69dsp_map70 PCM device number maps assigned to the 1st OSS device;71 Default: 072adsp_map73 PCM device number maps assigned to the 2nd OSS device;74 Default: 175nonblock_open76 Don't block opening busy PCM devices;77 Default: 178 79For example, when ``dsp_map=2``, /dev/dsp will be mapped to PCM #2 of80the card #0. Similarly, when ``adsp_map=0``, /dev/adsp will be mapped81to PCM #0 of the card #0.82For changing the second or later card, specify the option with83commas, such like ``dsp_map=0,1``.84 85``nonblock_open`` option is used to change the behavior of the PCM86regarding opening the device. When this option is non-zero,87opening a busy OSS PCM device won't be blocked but return88immediately with EAGAIN (just like O_NONBLOCK flag).89 90Module snd-rawmidi91------------------92 93This module takes options which change the mapping of devices.94similar to those of the snd-pcm-oss module.95 96midi_map97 MIDI device number maps assigned to the 1st OSS device;98 Default: 099amidi_map100 MIDI device number maps assigned to the 2nd OSS device;101 Default: 1102 103Module snd-soc-core104-------------------105 106The soc core module. It is used by all ALSA card drivers.107It takes the following options which have global effects.108 109prealloc_buffer_size_kbytes110 Specify prealloc buffer size in kbytes (default: 512).111 112Common parameters for top sound card modules113--------------------------------------------114 115Each of top level sound card module takes the following options.116 117index118 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;123 Default: -1124id125 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 in131 identifying the card132enable133 enable card;134 Default: enabled, for PCI and ISA PnP cards135 136These options are used for either specifying the order of instances or137controlling enabling and disabling of each one of the devices if there138are multiple devices bound with the same driver. For example, there are139many machines which have two HD-audio controllers (one for HDMI/DP140audio and another for onboard analog). In most cases, the second one is141in primary usage, and people would like to assign it as the first142appearing card. They can do it by specifying "index=1,0" module143parameter, which will swap the assignment slots.144 145Today, with the sound backend like PulseAudio and PipeWire which146supports dynamic configuration, it's of little use, but that was a147help for static configuration in the past.148 149Module snd-adlib150----------------151 152Module for AdLib FM cards.153 154port155 port # for OPL chip156 157This module supports multiple cards. It does not support autoprobe, so158the port must be specified. For actual AdLib FM cards it will be 0x388.159Note that this card does not have PCM support and no mixer; only FM160synthesis.161 162Make sure you have ``sbiload`` from the alsa-tools package available and,163after loading the module, find out the assigned ALSA sequencer port164number through ``sbiload -l``.165 166Example output:167::168 169 Port Client name Port name170 64:0 OPL2 FM synth OPL2 FM Port171 172Load the ``std.sb`` and ``drums.sb`` patches also supplied by ``sbiload``:173::174 175 sbiload -p 64:0 std.sb drums.sb176 177If you use this driver to drive an OPL3, you can use ``std.o3`` and ``drums.o3``178instead. To have the card produce sound, use ``aplaymidi`` from alsa-utils:179::180 181 aplaymidi -p 64:0 foo.mid182 183Module snd-ad1816a184------------------185 186Module for sound cards based on Analog Devices AD1816A/AD1815 ISA chips.187 188clockfreq189 Clock frequency for AD1816A chip (default = 0, 33000Hz)190 191This module supports multiple cards, autoprobe and PnP.192 193Module snd-ad1848194-----------------195 196Module for sound cards based on AD1848/AD1847/CS4248 ISA chips.197 198port199 port # for AD1848 chip200irq201 IRQ # for AD1848 chip202dma1203 DMA # for AD1848 chip (0,1,3)204 205This module supports multiple cards. It does not support autoprobe206thus main port must be specified!!! Other ports are optional.207 208The power-management is supported.209 210Module snd-ad1889211-----------------212 213Module for Analog Devices AD1889 chips.214 215ac97_quirk216 AC'97 workaround for strange hardware;217 See the description of intel8x0 module for details.218 219This module supports multiple cards.220 221Module snd-ali5451222------------------223 224Module for ALi M5451 PCI chip.225 226pcm_channels227 Number of hardware channels assigned for PCM228spdif229 Support SPDIF I/O;230 Default: disabled231 232This module supports one chip and autoprobe.233 234The power-management is supported.235 236Module snd-als100237-----------------238 239Module for sound cards based on Avance Logic ALS100/ALS120 ISA chips.240 241This module supports multiple cards, autoprobe and PnP.242 243The power-management is supported.244 245Module snd-als300246-----------------247 248Module for Avance Logic ALS300 and ALS300+249 250This module supports multiple cards.251 252The power-management is supported.253 254Module snd-als4000255------------------256 257Module for sound cards based on Avance Logic ALS4000 PCI chip.258 259joystick_port260 port # for legacy joystick support;261 0 = disabled (default), 1 = auto-detect262 263This module supports multiple cards, autoprobe and PnP.264 265The power-management is supported.266 267Module snd-asihpi268-----------------269 270Module for AudioScience ASI soundcards271 272enable_hpi_hwdep273 enable HPI hwdep for AudioScience soundcard274 275This module supports multiple cards.276The driver requires the firmware loader support on kernel.277 278Module snd-atiixp279-----------------280 281Module for ATI IXP 150/200/250/400 AC97 controllers.282 283ac97_clock284 AC'97 clock (default = 48000)285ac97_quirk286 AC'97 workaround for strange hardware;287 See `AC97 Quirk Option`_ section below.288ac97_codec289 Workaround to specify which AC'97 codec instead of probing.290 If this works for you file a bug with your `lspci -vn` output.291 (-2 = Force probing, -1 = Default behavior, 0-2 = Use the292 specified codec.)293spdif_aclink294 S/PDIF transfer over AC-link (default = 1)295 296This module supports one card and autoprobe.297 298ATI IXP has two different methods to control SPDIF output. One is299over AC-link and another is over the "direct" SPDIF output. The300implementation depends on the motherboard, and you'll need to301choose the correct one via spdif_aclink module option.302 303The power-management is supported.304 305Module snd-atiixp-modem306-----------------------307 308Module for ATI IXP 150/200/250 AC97 modem controllers.309 310This module supports one card and autoprobe.311 312Note: The default index value of this module is -2, i.e. the first313slot is excluded.314 315The power-management is supported.316 317Module snd-au8810, snd-au8820, snd-au8830318-----------------------------------------319 320Module for Aureal Vortex, Vortex2 and Advantage device.321 322pcifix323 Control PCI workarounds;324 0 = Disable all workarounds,325 1 = Force the PCI latency of the Aureal card to 0xff,326 2 = Force the Extend PCI#2 Internal Master for Efficient327 Handling of Dummy Requests on the VIA KT133 AGP Bridge,328 3 = Force both settings,329 255 = Autodetect what is required (default)330 331This module supports all ADB PCM channels, ac97 mixer, SPDIF, hardware332EQ, mpu401, gameport. A3D and wavetable support are still in development.333Development and reverse engineering work is being coordinated at334https://savannah.nongnu.org/projects/openvortex/335SPDIF output has a copy of the AC97 codec output, unless you use the336``spdif`` pcm device, which allows raw data passthru.337The hardware EQ hardware and SPDIF is only present in the Vortex2 and 338Advantage.339 340Note: Some ALSA mixer applications don't handle the SPDIF sample rate 341control correctly. If you have problems regarding this, try342another ALSA compliant mixer (alsamixer works).343 344Module snd-azt1605345------------------346 347Module for Aztech Sound Galaxy soundcards based on the Aztech AZT1605348chipset.349 350port351 port # for BASE (0x220,0x240,0x260,0x280)352wss_port353 port # for WSS (0x530,0x604,0xe80,0xf40)354irq355 IRQ # for WSS (7,9,10,11)356dma1357 DMA # for WSS playback (0,1,3)358dma2359 DMA # for WSS capture (0,1), -1 = disabled (default)360mpu_port361 port # for MPU-401 UART (0x300,0x330), -1 = disabled (default)362mpu_irq363 IRQ # for MPU-401 UART (3,5,7,9), -1 = disabled (default)364fm_port365 port # for OPL3 (0x388), -1 = disabled (default)366 367This module supports multiple cards. It does not support autoprobe:368``port``, ``wss_port``, ``irq`` and ``dma1`` have to be specified.369The other values are optional.370 371``port`` needs to match the BASE ADDRESS jumper on the card (0x220 or 0x240)372or the value stored in the card's EEPROM for cards that have an EEPROM and373their "CONFIG MODE" jumper set to "EEPROM SETTING". The other values can374be chosen freely from the options enumerated above.375 376If ``dma2`` is specified and different from ``dma1``, the card will operate in377full-duplex mode. When ``dma1=3``, only ``dma2=0`` is valid and the only way to378enable capture since only channels 0 and 1 are available for capture.379 380Generic settings are ``port=0x220 wss_port=0x530 irq=10 dma1=1 dma2=0381mpu_port=0x330 mpu_irq=9 fm_port=0x388``.382 383Whatever IRQ and DMA channels you pick, be sure to reserve them for384legacy ISA in your BIOS.385 386Module snd-azt2316387------------------388 389Module for Aztech Sound Galaxy soundcards based on the Aztech AZT2316390chipset.391 392port393 port # for BASE (0x220,0x240,0x260,0x280)394wss_port395 port # for WSS (0x530,0x604,0xe80,0xf40)396irq397 IRQ # for WSS (7,9,10,11)398dma1399 DMA # for WSS playback (0,1,3)400dma2401 DMA # for WSS capture (0,1), -1 = disabled (default)402mpu_port403 port # for MPU-401 UART (0x300,0x330), -1 = disabled (default)404mpu_irq405 IRQ # for MPU-401 UART (5,7,9,10), -1 = disabled (default)406fm_port407 port # for OPL3 (0x388), -1 = disabled (default)408 409This module supports multiple cards. It does not support autoprobe:410``port``, ``wss_port``, ``irq`` and ``dma1`` have to be specified.411The other values are optional.412 413``port`` needs to match the BASE ADDRESS jumper on the card (0x220 or 0x240)414or the value stored in the card's EEPROM for cards that have an EEPROM and415their "CONFIG MODE" jumper set to "EEPROM SETTING". The other values can416be chosen freely from the options enumerated above.417 418If ``dma2`` is specified and different from ``dma1``, the card will operate in419full-duplex mode. When ``dma1=3``, only ``dma2=0`` is valid and the only way to420enable capture since only channels 0 and 1 are available for capture.421 422Generic settings are ``port=0x220 wss_port=0x530 irq=10 dma1=1 dma2=0423mpu_port=0x330 mpu_irq=9 fm_port=0x388``.424 425Whatever IRQ and DMA channels you pick, be sure to reserve them for426legacy ISA in your BIOS.427 428Module snd-aw2429--------------430 431Module for Audiowerk2 sound card432 433This module supports multiple cards.434 435Module snd-azt2320436------------------437 438Module for sound cards based on Aztech System AZT2320 ISA chip (PnP only).439 440This module supports multiple cards, PnP and autoprobe.441 442The power-management is supported.443 444Module snd-azt3328445------------------446 447Module for sound cards based on Aztech AZF3328 PCI chip.448 449joystick450 Enable joystick (default off)451 452This module supports multiple cards.453 454Module snd-bt87x455----------------456 457Module for video cards based on Bt87x chips.458 459digital_rate460 Override the default digital rate (Hz)461load_all462 Load the driver even if the card model isn't known463 464This module supports multiple cards.465 466Note: The default index value of this module is -2, i.e. the first467slot is excluded.468 469Module snd-ca0106470-----------------471 472Module for Creative Audigy LS and SB Live 24bit473 474This module supports multiple cards.475 476 477Module snd-cmi8330478------------------479 480Module for sound cards based on C-Media CMI8330 ISA chips.481 482isapnp483 ISA PnP detection - 0 = disable, 1 = enable (default)484 485with ``isapnp=0``, the following options are available:486 487wssport488 port # for CMI8330 chip (WSS)489wssirq490 IRQ # for CMI8330 chip (WSS)491wssdma492 first DMA # for CMI8330 chip (WSS)493sbport494 port # for CMI8330 chip (SB16)495sbirq496 IRQ # for CMI8330 chip (SB16)497sbdma8498 8bit DMA # for CMI8330 chip (SB16)499sbdma16500 16bit DMA # for CMI8330 chip (SB16)501fmport502 (optional) OPL3 I/O port503mpuport504 (optional) MPU401 I/O port505mpuirq506 (optional) MPU401 irq #507 508This module supports multiple cards and autoprobe.509 510The power-management is supported.511 512Module snd-cmipci513-----------------514 515Module for C-Media CMI8338/8738/8768/8770 PCI sound cards.516 517mpu_port518 port address of MIDI interface (8338 only):519 0x300,0x310,0x320,0x330 = legacy port,520 1 = integrated PCI port (default on 8738),521 0 = disable522fm_port523 port address of OPL-3 FM synthesizer (8x38 only):524 0x388 = legacy port,525 1 = integrated PCI port (default on 8738),526 0 = disable527soft_ac3528 Software-conversion of raw SPDIF packets (model 033 only) (default = 1)529joystick_port530 Joystick port address (0 = disable, 1 = auto-detect)531 532This module supports autoprobe and multiple cards.533 534The power-management is supported.535 536Module snd-cs4231537-----------------538 539Module for sound cards based on CS4231 ISA chips.540 541port542 port # for CS4231 chip543mpu_port544 port # for MPU-401 UART (optional), -1 = disable545irq546 IRQ # for CS4231 chip547mpu_irq548 IRQ # for MPU-401 UART549dma1550 first DMA # for CS4231 chip551dma2552 second DMA # for CS4231 chip553 554This module supports multiple cards. This module does not support autoprobe555thus main port must be specified!!! Other ports are optional.556 557The power-management is supported.558 559Module snd-cs4236560-----------------561 562Module for sound cards based on CS4232/CS4232A,563CS4235/CS4236/CS4236B/CS4237B/CS4238B/CS4239 ISA chips.564 565isapnp566 ISA PnP detection - 0 = disable, 1 = enable (default)567 568with ``isapnp=0``, the following options are available:569 570port571 port # for CS4236 chip (PnP setup - 0x534)572cport573 control port # for CS4236 chip (PnP setup - 0x120,0x210,0xf00)574mpu_port575 port # for MPU-401 UART (PnP setup - 0x300), -1 = disable576fm_port577 FM port # for CS4236 chip (PnP setup - 0x388), -1 = disable578irq579 IRQ # for CS4236 chip (5,7,9,11,12,15)580mpu_irq581 IRQ # for MPU-401 UART (9,11,12,15)582dma1583 first DMA # for CS4236 chip (0,1,3)584dma2585 second DMA # for CS4236 chip (0,1,3), -1 = disable586 587This module supports multiple cards. This module does not support autoprobe588(if ISA PnP is not used) thus main port and control port must be589specified!!! Other ports are optional.590 591The power-management is supported.592 593This module is aliased as snd-cs4232 since it provides the old594snd-cs4232 functionality, too.595 596Module snd-cs4281597-----------------598 599Module for Cirrus Logic CS4281 soundchip.600 601dual_codec602 Secondary codec ID (0 = disable, default)603 604This module supports multiple cards.605 606The power-management is supported.607 608Module snd-cs46xx609-----------------610 611Module for PCI sound cards based on CS4610/CS4612/CS4614/CS4615/CS4622/612CS4624/CS4630/CS4280 PCI chips.613 614external_amp615 Force to enable external amplifier.616thinkpad617 Force to enable Thinkpad's CLKRUN control.618mmap_valid619 Support OSS mmap mode (default = 0).620 621This module supports multiple cards and autoprobe.622Usually external amp and CLKRUN controls are detected automatically623from PCI sub vendor/device ids. If they don't work, give the options624above explicitly.625 626The power-management is supported.627 628Module snd-cs5530629-----------------630 631Module for Cyrix/NatSemi Geode 5530 chip. 632 633Module snd-cs5535audio634----------------------635 636Module for multifunction CS5535 companion PCI device637 638The power-management is supported.639 640Module snd-ctxfi641----------------642 643Module for Creative Sound Blaster X-Fi boards (20k1 / 20k2 chips)644 645* Creative Sound Blaster X-Fi Titanium Fatal1ty Champion Series646* Creative Sound Blaster X-Fi Titanium Fatal1ty Professional Series647* Creative Sound Blaster X-Fi Titanium Professional Audio648* Creative Sound Blaster X-Fi Titanium649* Creative Sound Blaster X-Fi Elite Pro650* Creative Sound Blaster X-Fi Platinum651* Creative Sound Blaster X-Fi Fatal1ty652* Creative Sound Blaster X-Fi XtremeGamer653* Creative Sound Blaster X-Fi XtremeMusic654 655reference_rate656 reference sample rate, 44100 or 48000 (default)657multiple658 multiple to ref. sample rate, 1 or 2 (default)659subsystem660 override the PCI SSID for probing;661 the value consists of SSVID << 16 | SSDID.662 The default is zero, which means no override.663 664This module supports multiple cards.665 666Module snd-darla20667------------------668 669Module for Echoaudio Darla20670 671This module supports multiple cards.672The driver requires the firmware loader support on kernel.673 674Module snd-darla24675------------------676 677Module for Echoaudio Darla24678 679This module supports multiple cards.680The driver requires the firmware loader support on kernel.681 682Module snd-dt019x683-----------------684 685Module for Diamond Technologies DT-019X / Avance Logic ALS-007 (PnP686only)687 688This module supports multiple cards. This module is enabled only with689ISA PnP support.690 691The power-management is supported.692 693Module snd-dummy694----------------695 696Module for the dummy sound card. This "card" doesn't do any output697or input, but you may use this module for any application which698requires a sound card (like RealPlayer).699 700pcm_devs701 Number of PCM devices assigned to each card (default = 1, up to 4)702pcm_substreams703 Number of PCM substreams assigned to each PCM (default = 8, up to 128)704hrtimer705 Use hrtimer (=1, default) or system timer (=0)706fake_buffer707 Fake buffer allocations (default = 1)708 709When multiple PCM devices are created, snd-dummy gives different710behavior to each PCM device:711* 0 = interleaved with mmap support712* 1 = non-interleaved with mmap support713* 2 = interleaved without mmap 714* 3 = non-interleaved without mmap715 716As default, snd-dummy drivers doesn't allocate the real buffers717but either ignores read/write or mmap a single dummy page to all718buffer pages, in order to save the resources. If your apps need719the read/ written buffer data to be consistent, pass fake_buffer=0720option.721 722The power-management is supported.723 724Module snd-echo3g725-----------------726 727Module for Echoaudio 3G cards (Gina3G/Layla3G)728 729This module supports multiple cards.730The driver requires the firmware loader support on kernel.731 732Module snd-emu10k1733------------------734 735Module for EMU10K1/EMU10k2 based PCI sound cards.736 737* Sound Blaster Live!738* Sound Blaster PCI 512739* Sound Blaster Audigy740* E-MU APS (partially supported)741* E-MU DAS742 743extin744 bitmap of available external inputs for FX8010 (see below)745extout746 bitmap of available external outputs for FX8010 (see below)747seq_ports748 allocated sequencer ports (4 by default)749max_synth_voices750 limit of voices used for wavetable (64 by default)751max_buffer_size752 specifies the maximum size of wavetable/pcm buffers given in MB753 unit. Default value is 128.754enable_ir755 enable IR756 757This module supports multiple cards and autoprobe.758 759Input & Output configurations [extin/extout]760* Creative Card wo/Digital out [0x0003/0x1f03]761* Creative Card w/Digital out [0x0003/0x1f0f]762* Creative Card w/Digital CD in [0x000f/0x1f0f]763* Creative Card wo/Digital out + LiveDrive [0x3fc3/0x1fc3]764* Creative Card w/Digital out + LiveDrive [0x3fc3/0x1fcf]765* Creative Card w/Digital CD in + LiveDrive [0x3fcf/0x1fcf]766* Creative Card wo/Digital out + Digital I/O 2 [0x0fc3/0x1f0f]767* Creative Card w/Digital out + Digital I/O 2 [0x0fc3/0x1f0f]768* Creative Card w/Digital CD in + Digital I/O 2 [0x0fcf/0x1f0f]769* Creative Card 5.1/w Digital out + LiveDrive [0x3fc3/0x1fff]770* Creative Card 5.1 (c) 2003 [0x3fc3/0x7cff]771* Creative Card all ins and outs [0x3fff/0x7fff]772 773The power-management is supported.774 775Module snd-emu10k1x776-------------------777 778Module for Creative Emu10k1X (SB Live Dell OEM version)779 780This module supports multiple cards.781 782Module snd-ens1370783------------------784 785Module for Ensoniq AudioPCI ES1370 PCI sound cards.786 787* SoundBlaster PCI 64788* SoundBlaster PCI 128789 790joystick791 Enable joystick (default off)792 793This module supports multiple cards and autoprobe.794 795The power-management is supported.796 797Module snd-ens1371798------------------799 800Module for Ensoniq AudioPCI ES1371 PCI sound cards.801 802* SoundBlaster PCI 64803* SoundBlaster PCI 128804* SoundBlaster Vibra PCI805 806joystick_port807 port # for joystick (0x200,0x208,0x210,0x218), 0 = disable808 (default), 1 = auto-detect809 810This module supports multiple cards and autoprobe.811 812The power-management is supported.813 814Module snd-es1688815-----------------816 817Module for ESS AudioDrive ES-1688 and ES-688 sound cards.818 819isapnp820 ISA PnP detection - 0 = disable, 1 = enable (default)821mpu_port822 port # for MPU-401 port (0x300,0x310,0x320,0x330), -1 = disable (default)823mpu_irq824 IRQ # for MPU-401 port (5,7,9,10)825fm_port826 port # for OPL3 (option; share the same port as default)827 828with ``isapnp=0``, the following additional options are available:829 830port831 port # for ES-1688 chip (0x220,0x240,0x260)832irq833 IRQ # for ES-1688 chip (5,7,9,10)834dma8835 DMA # for ES-1688 chip (0,1,3)836 837This module supports multiple cards and autoprobe (without MPU-401 port)838and PnP with the ES968 chip.839 840Module snd-es18xx841-----------------842 843Module for ESS AudioDrive ES-18xx sound cards.844 845isapnp846 ISA PnP detection - 0 = disable, 1 = enable (default)847 848with ``isapnp=0``, the following options are available:849 850port851 port # for ES-18xx chip (0x220,0x240,0x260)852mpu_port853 port # for MPU-401 port (0x300,0x310,0x320,0x330), -1 = disable (default)854fm_port855 port # for FM (optional, not used)856irq857 IRQ # for ES-18xx chip (5,7,9,10)858dma1859 first DMA # for ES-18xx chip (0,1,3)860dma2861 first DMA # for ES-18xx chip (0,1,3)862 863This module supports multiple cards, ISA PnP and autoprobe (without MPU-401864port if native ISA PnP routines are not used).865When ``dma2`` is equal with ``dma1``, the driver works as half-duplex.866 867The power-management is supported.868 869Module snd-es1938870-----------------871 872Module for sound cards based on ESS Solo-1 (ES1938,ES1946) chips.873 874This module supports multiple cards and autoprobe.875 876The power-management is supported.877 878Module snd-es1968879-----------------880 881Module for sound cards based on ESS Maestro-1/2/2E (ES1968/ES1978) chips.882 883total_bufsize884 total buffer size in kB (1-4096kB)885pcm_substreams_p886 playback channels (1-8, default=2)887pcm_substreams_c888 capture channels (1-8, default=0)889clock890 clock (0 = auto-detection)891use_pm892 support the power-management (0 = off, 1 = on, 2 = auto (default))893enable_mpu894 enable MPU401 (0 = off, 1 = on, 2 = auto (default))895joystick896 enable joystick (default off) 897 898This module supports multiple cards and autoprobe.899 900The power-management is supported.901 902Module snd-fm801903----------------904 905Module for ForteMedia FM801 based PCI sound cards.906 907tea575x_tuner908 Enable TEA575x tuner;909 1 = MediaForte 256-PCS,910 2 = MediaForte 256-PCPR,911 3 = MediaForte 64-PCR912 High 16-bits are video (radio) device number + 1;913 example: 0x10002 (MediaForte 256-PCPR, device 1)914 915This module supports multiple cards and autoprobe.916 917The power-management is supported.918 919Module snd-gina20920-----------------921 922Module for Echoaudio Gina20923 924This module supports multiple cards.925The driver requires the firmware loader support on kernel.926 927Module snd-gina24928-----------------929 930Module for Echoaudio Gina24931 932This module supports multiple cards.933The driver requires the firmware loader support on kernel.934 935Module snd-gusclassic936---------------------937 938Module for Gravis UltraSound Classic sound card.939 940port941 port # for GF1 chip (0x220,0x230,0x240,0x250,0x260)942irq943 IRQ # for GF1 chip (3,5,9,11,12,15)944dma1945 DMA # for GF1 chip (1,3,5,6,7)946dma2947 DMA # for GF1 chip (1,3,5,6,7,-1=disable)948joystick_dac949 0 to 31, (0.59V-4.52V or 0.389V-2.98V)950voices951 GF1 voices limit (14-32)952pcm_voices953 reserved PCM voices954 955This module supports multiple cards and autoprobe.956 957Module snd-gusextreme958---------------------959 960Module for Gravis UltraSound Extreme (Synergy ViperMax) sound card.961 962port963 port # for ES-1688 chip (0x220,0x230,0x240,0x250,0x260)964gf1_port965 port # for GF1 chip (0x210,0x220,0x230,0x240,0x250,0x260,0x270)966mpu_port967 port # for MPU-401 port (0x300,0x310,0x320,0x330), -1 = disable968irq969 IRQ # for ES-1688 chip (5,7,9,10)970gf1_irq971 IRQ # for GF1 chip (3,5,9,11,12,15)972mpu_irq973 IRQ # for MPU-401 port (5,7,9,10)974dma8975 DMA # for ES-1688 chip (0,1,3)976dma1977 DMA # for GF1 chip (1,3,5,6,7)978joystick_dac979 0 to 31, (0.59V-4.52V or 0.389V-2.98V)980voices981 GF1 voices limit (14-32)982pcm_voices983 reserved PCM voices984 985This module supports multiple cards and autoprobe (without MPU-401 port).986 987Module snd-gusmax988-----------------989 990Module for Gravis UltraSound MAX sound card.991 992port993 port # for GF1 chip (0x220,0x230,0x240,0x250,0x260)994irq995 IRQ # for GF1 chip (3,5,9,11,12,15)996dma1997 DMA # for GF1 chip (1,3,5,6,7)998dma2999 DMA # for GF1 chip (1,3,5,6,7,-1=disable)1000joystick_dac1001 0 to 31, (0.59V-4.52V or 0.389V-2.98V)1002voices1003 GF1 voices limit (14-32)1004pcm_voices1005 reserved PCM voices1006 1007This module supports multiple cards and autoprobe.1008 1009Module snd-hda-intel1010--------------------1011 1012Module for Intel HD Audio (ICH6, ICH6M, ESB2, ICH7, ICH8, ICH9, ICH10,1013PCH, SCH), ATI SB450, SB600, R600, RS600, RS690, RS780, RV610, RV620,1014RV630, RV635, RV670, RV770, VIA VT8251/VT8237A, SIS966, ULI M54611015 1016[Multiple options for each card instance]1017 1018model1019 force the model name1020position_fix1021 Fix DMA pointer;1022 -1 = system default: choose appropriate one per controller hardware,1023 0 = auto: falls back to LPIB when POSBUF doesn't work,1024 1 = use LPIB,1025 2 = POSBUF: use position buffer,1026 3 = VIACOMBO: VIA-specific workaround for capture,1027 4 = COMBO: use LPIB for playback, auto for capture stream1028 5 = SKL+: apply the delay calculation available on recent Intel chips1029 6 = FIFO: correct the position with the fixed FIFO size, for recent AMD chips1030probe_mask1031 Bitmask to probe codecs (default = -1, meaning all slots);1032 When the bit 8 (0x100) is set, the lower 8 bits are used1033 as the "fixed" codec slots; i.e. the driver probes the1034 slots regardless what hardware reports back1035probe_only1036 Only probing and no codec initialization (default=off);1037 Useful to check the initial codec status for debugging1038bdl_pos_adj1039 Specifies the DMA IRQ timing delay in samples.1040 Passing -1 will make the driver to choose the appropriate1041 value based on the controller chip.1042patch1043 Specifies the early "patch" files to modify the HD-audio setup1044 before initializing the codecs.1045 This option is available only when ``CONFIG_SND_HDA_PATCH_LOADER=y``1046 is set. See hd-audio/notes.rst for details.1047beep_mode1048 Selects the beep registration mode (0=off, 1=on);1049 default value is set via ``CONFIG_SND_HDA_INPUT_BEEP_MODE`` kconfig.1050 1051[Single (global) options]1052 1053single_cmd1054 Use single immediate commands to communicate with codecs1055 (for debugging only)1056enable_msi1057 Enable Message Signaled Interrupt (MSI) (default = off)1058power_save1059 Automatic power-saving timeout (in second, 0 = disable)1060power_save_controller1061 Reset HD-audio controller in power-saving mode (default = on)1062pm_blacklist1063 Enable / disable power-management deny-list (default = look up PM1064 deny-list, 0 = skip PM deny-list, 1 = force to turn off runtime PM)1065align_buffer_size1066 Force rounding of buffer/period sizes to multiples of 128 bytes.1067 This is more efficient in terms of memory access but isn't1068 required by the HDA spec and prevents users from specifying1069 exact period/buffer sizes. (default = on)1070snoop1071 Enable/disable snooping (default = on)1072 1073This module supports multiple cards and autoprobe.1074 1075See hd-audio/notes.rst for more details about HD-audio driver.1076 1077Each codec may have a model table for different configurations.1078If your machine isn't listed there, the default (usually minimal)1079configuration is set up. You can pass ``model=<name>`` option to1080specify a certain model in such a case. There are different1081models depending on the codec chip. The list of available models1082is found in hd-audio/models.rst.1083 1084The model name ``generic`` is treated as a special case. When this1085model is given, the driver uses the generic codec parser without1086"codec-patch". It's sometimes good for testing and debugging.1087 1088The model option can be used also for aliasing to another PCI or codec1089SSID. When it's passed in the form of ``model=XXXX:YYYY`` where XXXX1090and YYYY are the sub-vendor and sub-device IDs in hex numbers,1091respectively, the driver will refer to that SSID as a reference to the1092quirk table.1093 1094If the default configuration doesn't work and one of the above1095matches with your device, report it together with alsa-info.sh1096output (with ``--no-upload`` option) to kernel bugzilla or alsa-devel1097ML (see the section `Links and Addresses`_).1098 1099``power_save`` and ``power_save_controller`` options are for power-saving1100mode. See powersave.rst for details.1101 1102Note 2: If you get click noises on output, try the module option1103``position_fix=1`` or ``2``. ``position_fix=1`` will use the SD_LPIB1104register value without FIFO size correction as the current1105DMA pointer. ``position_fix=2`` will make the driver to use1106the position buffer instead of reading SD_LPIB register.1107(Usually SD_LPIB register is more accurate than the1108position buffer.)1109 1110``position_fix=3`` is specific to VIA devices. The position1111of the capture stream is checked from both LPIB and POSBUF1112values. ``position_fix=4`` is a combination mode, using LPIB1113for playback and POSBUF for capture.1114 1115NB: If you get many ``azx_get_response timeout`` messages at1116loading, it's likely a problem of interrupts (e.g. ACPI irq1117routing). Try to boot with options like ``pci=noacpi``. Also, you1118can try ``single_cmd=1`` module option. This will switch the1119communication method between HDA controller and codecs to the1120single immediate commands instead of CORB/RIRB. Basically, the1121single command mode is provided only for BIOS, and you won't get1122unsolicited events, too. But, at least, this works independently1123from the irq. Remember this is a last resort, and should be1124avoided as much as possible...1125 1126MORE NOTES ON ``azx_get_response timeout`` PROBLEMS:1127On some hardware, you may need to add a proper probe_mask option1128to avoid the ``azx_get_response timeout`` problem above, instead.1129This occurs when the access to non-existing or non-working codec slot1130(likely a modem one) causes a stall of the communication via HD-audio1131bus. You can see which codec slots are probed by enabling1132``CONFIG_SND_DEBUG_VERBOSE``, or simply from the file name of the codec1133proc files. Then limit the slots to probe by probe_mask option.1134For example, ``probe_mask=1`` means to probe only the first slot, and1135``probe_mask=4`` means only the third slot.1136 1137The power-management is supported.1138 1139Module snd-hdsp1140---------------1141 1142Module for RME Hammerfall DSP audio interface(s)1143 1144This module supports multiple cards.1145 1146Note: The firmware data can be automatically loaded via hotplug1147when ``CONFIG_FW_LOADER`` is set. Otherwise, you need to load1148the firmware via hdsploader utility included in alsa-tools1149package.1150The firmware data is found in alsa-firmware package.1151 1152Note: snd-page-alloc module does the job which snd-hammerfall-mem1153module did formerly. It will allocate the buffers in advance1154when any HDSP cards are found. To make the buffer1155allocation sure, load snd-page-alloc module in the early1156stage of boot sequence. See `Early Buffer Allocation`_1157section.1158 1159Module snd-hdspm1160----------------1161 1162Module for RME HDSP MADI board.1163 1164precise_ptr1165 Enable precise pointer, or disable.1166line_outs_monitor1167 Send playback streams to analog outs by default.1168enable_monitor1169 Enable Analog Out on Channel 63/64 by default.1170 1171See hdspm.rst for details.1172 1173Module snd-ice17121174------------------1175 1176Module for Envy24 (ICE1712) based PCI sound cards.1177 1178* MidiMan M Audio Delta 10101179* MidiMan M Audio Delta 1010LT1180* MidiMan M Audio Delta DiO 24961181* MidiMan M Audio Delta 661182* MidiMan M Audio Delta 441183* MidiMan M Audio Delta 4101184* MidiMan M Audio Audiophile 24961185* TerraTec EWS 88MT1186* TerraTec EWS 88D1187* TerraTec EWX 24/961188* TerraTec DMX 6Fire1189* TerraTec Phase 881190* Hoontech SoundTrack DSP 241191* Hoontech SoundTrack DSP 24 Value1192* Hoontech SoundTrack DSP 24 Media 7.11193* Event Electronics, EZ81194* Digigram VX4421195* Lionstracs, Mediastaton1196* Terrasoniq TS 881197 1198model1199 Use the given board model, one of the following:1200 delta1010, dio2496, delta66, delta44, audiophile, delta410,1201 delta1010lt, vx442, ewx2496, ews88mt, ews88mt_new, ews88d,1202 dmx6fire, dsp24, dsp24_value, dsp24_71, ez8,1203 phase88, mediastation1204omni1205 Omni I/O support for MidiMan M-Audio Delta44/661206cs8427_timeout1207 reset timeout for the CS8427 chip (S/PDIF transceiver) in msec1208 resolution, default value is 500 (0.5 sec)1209 1210This module supports multiple cards and autoprobe.1211Note: The consumer part is not used with all Envy24 based cards (for1212example in the MidiMan Delta siree).1213 1214Note: The supported board is detected by reading EEPROM or PCI1215SSID (if EEPROM isn't available). You can override the1216model by passing ``model`` module option in case that the1217driver isn't configured properly or you want to try another1218type for testing.1219 1220Module snd-ice17241221------------------1222 1223Module for Envy24HT (VT/ICE1724), Envy24PT (VT1720) based PCI sound cards.1224 1225* MidiMan M Audio Revolution 5.11226* MidiMan M Audio Revolution 7.11227* MidiMan M Audio Audiophile 1921228* AMP Ltd AUDIO20001229* TerraTec Aureon 5.1 Sky1230* TerraTec Aureon 7.1 Space1231* TerraTec Aureon 7.1 Universe1232* TerraTec Phase 221233* TerraTec Phase 281234* AudioTrak Prodigy 7.11235* AudioTrak Prodigy 7.1 LT1236* AudioTrak Prodigy 7.1 XT1237* AudioTrak Prodigy 7.1 HIFI1238* AudioTrak Prodigy 7.1 HD21239* AudioTrak Prodigy 1921240* Pontis MS3001241* Albatron K8X800 Pro II 1242* Chaintech ZNF3-1501243* Chaintech ZNF3-2501244* Chaintech 9CJS1245* Chaintech AV-7101246* Shuttle SN25P1247* Onkyo SE-90PCI1248* Onkyo SE-200PCI1249* ESI Juli@1250* ESI Maya441251* Hercules Fortissimo IV1252* EGO-SYS WaveTerminal 192M1253 1254model1255 Use the given board model, one of the following:1256 revo51, revo71, amp2000, prodigy71, prodigy71lt,1257 prodigy71xt, prodigy71hifi, prodigyhd2, prodigy192,1258 juli, aureon51, aureon71, universe, ap192, k8x800,1259 phase22, phase28, ms300, av710, se200pci, se90pci,1260 fortissimo4, sn25p, WT192M, maya441261 1262This module supports multiple cards and autoprobe.1263 1264Note: The supported board is detected by reading EEPROM or PCI1265SSID (if EEPROM isn't available). You can override the1266model by passing ``model`` module option in case that the1267driver isn't configured properly or you want to try another1268type for testing.1269 1270Module snd-indigo1271-----------------1272 1273Module for Echoaudio Indigo1274 1275This module supports multiple cards.1276The driver requires the firmware loader support on kernel.1277 1278Module snd-indigodj1279-------------------1280 1281Module for Echoaudio Indigo DJ1282 1283This module supports multiple cards.1284The driver requires the firmware loader support on kernel.1285 1286Module snd-indigoio1287-------------------1288 1289Module for Echoaudio Indigo IO1290 1291This module supports multiple cards.1292The driver requires the firmware loader support on kernel.1293 1294Module snd-intel8x01295-------------------1296 1297Module for AC'97 motherboards from Intel and compatibles.1298 1299* Intel i810/810E, i815, i820, i830, i84x, MX440 ICH5, ICH6, ICH7,1300 6300ESB, ESB2 1301* SiS 7012 (SiS 735)1302* NVidia NForce, NForce2, NForce3, MCP04, CK804 CK8, CK8S, MCP5011303* AMD AMD768, AMD81111304* ALi m54551305 1306ac97_clock1307 AC'97 codec clock base (0 = auto-detect)1308ac97_quirk1309 AC'97 workaround for strange hardware;1310 See `AC97 Quirk Option`_ section below.1311buggy_irq1312 Enable workaround for buggy interrupts on some motherboards1313 (default yes on nForce chips, otherwise off)1314buggy_semaphore1315 Enable workaround for hardware with buggy semaphores (e.g. on some1316 ASUS laptops) (default off)1317spdif_aclink1318 Use S/PDIF over AC-link instead of direct connection from the1319 controller chip (0 = off, 1 = on, -1 = default)1320 1321This module supports one chip and autoprobe.1322 1323Note: the latest driver supports auto-detection of chip clock.1324if you still encounter too fast playback, specify the clock1325explicitly via the module option ``ac97_clock=41194``.1326 1327Joystick/MIDI ports are not supported by this driver. If your1328motherboard has these devices, use the ns558 or snd-mpu4011329modules, respectively.1330 1331The power-management is supported.1332 1333Module snd-intel8x0m1334--------------------1335 1336Module for Intel ICH (i8x0) chipset MC97 modems.1337 1338* Intel i810/810E, i815, i820, i830, i84x, MX440 ICH5, ICH6, ICH71339* SiS 7013 (SiS 735)1340* NVidia NForce, NForce2, NForce2s, NForce31341* AMD AMD81111342* ALi m54551343 1344ac97_clock1345 AC'97 codec clock base (0 = auto-detect)1346 1347This module supports one card and autoprobe.1348 1349Note: The default index value of this module is -2, i.e. the first1350slot is excluded.1351 1352The power-management is supported.1353 1354Module snd-interwave1355--------------------1356 1357Module for Gravis UltraSound PnP, Dynasonic 3-D/Pro, STB Sound Rage 321358and other sound cards based on AMD InterWave (tm) chip.1359 1360joystick_dac1361 0 to 31, (0.59V-4.52V or 0.389V-2.98V)1362midi1363 1 = MIDI UART enable, 0 = MIDI UART disable (default)1364pcm_voices1365 reserved PCM voices for the synthesizer (default 2)1366effect1367 1 = InterWave effects enable (default 0); requires 8 voices1368isapnp1369 ISA PnP detection - 0 = disable, 1 = enable (default)1370 1371with ``isapnp=0``, the following options are available:1372 1373port1374 port # for InterWave chip (0x210,0x220,0x230,0x240,0x250,0x260)1375irq1376 IRQ # for InterWave chip (3,5,9,11,12,15)1377dma11378 DMA # for InterWave chip (0,1,3,5,6,7)1379dma21380 DMA # for InterWave chip (0,1,3,5,6,7,-1=disable)1381 1382This module supports multiple cards, autoprobe and ISA PnP.1383 1384Module snd-interwave-stb1385------------------------1386 1387Module for UltraSound 32-Pro (sound card from STB used by Compaq)1388and other sound cards based on AMD InterWave (tm) chip with TEA6330T1389circuit for extended control of bass, treble and master volume.1390 1391joystick_dac1392 0 to 31, (0.59V-4.52V or 0.389V-2.98V)1393midi1394 1 = MIDI UART enable, 0 = MIDI UART disable (default)1395pcm_voices1396 reserved PCM voices for the synthesizer (default 2)1397effect1398 1 = InterWave effects enable (default 0); requires 8 voices1399isapnp1400 ISA PnP detection - 0 = disable, 1 = enable (default)1401 1402with ``isapnp=0``, the following options are available:1403 1404port1405 port # for InterWave chip (0x210,0x220,0x230,0x240,0x250,0x260)1406port_tc1407 tone control (i2c bus) port # for TEA6330T chip (0x350,0x360,0x370,0x380)1408irq1409 IRQ # for InterWave chip (3,5,9,11,12,15)1410dma11411 DMA # for InterWave chip (0,1,3,5,6,7)1412dma21413 DMA # for InterWave chip (0,1,3,5,6,7,-1=disable)1414 1415This module supports multiple cards, autoprobe and ISA PnP.1416 1417Module snd-jazz161418-------------------1419 1420Module for Media Vision Jazz16 chipset. The chipset consists of 3 chips:1421MVD1216 + MVA416 + MVA514.1422 1423port1424 port # for SB DSP chip (0x210,0x220,0x230,0x240,0x250,0x260)1425irq1426 IRQ # for SB DSP chip (3,5,7,9,10,15)1427dma81428 DMA # for SB DSP chip (1,3)1429dma161430 DMA # for SB DSP chip (5,7)1431mpu_port1432 MPU-401 port # (0x300,0x310,0x320,0x330)1433mpu_irq1434 MPU-401 irq # (2,3,5,7)1435 1436This module supports multiple cards.1437 1438Module snd-korg12121439-------------------1440 1441Module for Korg 1212 IO PCI card1442 1443This module supports multiple cards.1444 1445Module snd-layla201446------------------1447 1448Module for Echoaudio Layla201449 1450This module supports multiple cards.1451The driver requires the firmware loader support on kernel.1452 1453Module snd-layla241454------------------1455 1456Module for Echoaudio Layla241457 1458This module supports multiple cards.1459The driver requires the firmware loader support on kernel.1460 1461Module snd-lola1462---------------1463 1464Module for Digigram Lola PCI-e boards1465 1466This module supports multiple cards.1467 1468Module snd-lx6464es1469-------------------1470 1471Module for Digigram LX6464ES boards1472 1473This module supports multiple cards.1474 1475Module snd-maestro31476-------------------1477 1478Module for Allegro/Maestro3 chips1479 1480external_amp1481 enable external amp (enabled by default)1482amp_gpio1483 GPIO pin number for external amp (0-15) or -1 for default pin (81484 for allegro, 1 for others) 1485 1486This module supports autoprobe and multiple chips.1487 1488Note: the binding of amplifier is dependent on hardware.1489If there is no sound even though all channels are unmuted, try to1490specify other gpio connection via amp_gpio option. 1491For example, a Panasonic notebook might need ``amp_gpio=0x0d``1492option.1493 1494The power-management is supported.1495 1496Module snd-mia1497---------------1498 1499Module for Echoaudio Mia1500 1501This module supports multiple cards.1502The driver requires the firmware loader support on kernel.1503 1504Module snd-miro1505---------------1506 1507Module for Miro soundcards: miroSOUND PCM 1 pro, miroSOUND PCM 12,1508miroSOUND PCM 20 Radio.1509 1510port1511 Port # (0x530,0x604,0xe80,0xf40)1512irq1513 IRQ # (5,7,9,10,11)1514dma11515 1st dma # (0,1,3)1516dma21517 2nd dma # (0,1)1518mpu_port1519 MPU-401 port # (0x300,0x310,0x320,0x330)1520mpu_irq1521 MPU-401 irq # (5,7,9,10)1522fm_port1523 FM Port # (0x388)1524wss1525 enable WSS mode1526ide1527 enable onboard ide support1528 1529Module snd-mixart1530-----------------1531 1532Module for Digigram miXart8 sound cards.1533 1534This module supports multiple cards.1535Note: One miXart8 board will be represented as 4 alsa cards.1536See Documentation/sound/cards/mixart.rst for details.1537 1538When the driver is compiled as a module and the hotplug firmware1539is supported, the firmware data is loaded via hotplug automatically.1540Install the necessary firmware files in alsa-firmware package.1541When no hotplug fw loader is available, you need to load the1542firmware via mixartloader utility in alsa-tools package.1543 1544Module snd-mona1545---------------1546 1547Module for Echoaudio Mona1548 1549This module supports multiple cards.1550The driver requires the firmware loader support on kernel.1551 1552Module snd-mpu4011553-----------------1554 1555Module for MPU-401 UART devices.1556 1557port1558 port number or -1 (disable)1559irq1560 IRQ number or -1 (disable)1561pnp1562 PnP detection - 0 = disable, 1 = enable (default)1563 1564This module supports multiple devices and PnP.1565 1566Module snd-msnd-classic1567-----------------------1568 1569Module for Turtle Beach MultiSound Classic, Tahiti or Monterey1570soundcards.1571 1572io1573 Port # for msnd-classic card1574irq1575 IRQ # for msnd-classic card1576mem1577 Memory address (0xb0000, 0xc8000, 0xd0000, 0xd8000, 0xe0000 or 0xe8000)1578write_ndelay1579 enable write ndelay (default = 1)1580calibrate_signal1581 calibrate signal (default = 0)1582isapnp1583 ISA PnP detection - 0 = disable, 1 = enable (default)1584digital1585 Digital daughterboard present (default = 0)1586cfg1587 Config port (0x250, 0x260 or 0x270) default = PnP1588reset1589 Reset all devices1590mpu_io1591 MPU401 I/O port1592mpu_irq1593 MPU401 irq#1594ide_io01595 IDE port #01596ide_io11597 IDE port #11598ide_irq1599 IDE irq#1600joystick_io1601 Joystick I/O port1602 1603The driver requires firmware files ``turtlebeach/msndinit.bin`` and1604``turtlebeach/msndperm.bin`` in the proper firmware directory.1605 1606See Documentation/sound/cards/multisound.sh for important information1607about this driver. Note that it has been discontinued, but the 1608Voyetra Turtle Beach knowledge base entry for it is still available1609at1610https://www.turtlebeach.com1611 1612Module snd-msnd-pinnacle1613------------------------1614 1615Module for Turtle Beach MultiSound Pinnacle/Fiji soundcards.1616 1617io1618 Port # for pinnacle/fiji card1619irq1620 IRQ # for pinnalce/fiji card1621mem1622 Memory address (0xb0000, 0xc8000, 0xd0000, 0xd8000, 0xe0000 or 0xe8000)1623write_ndelay1624 enable write ndelay (default = 1)1625calibrate_signal1626 calibrate signal (default = 0)1627isapnp1628 ISA PnP detection - 0 = disable, 1 = enable (default)1629 1630The driver requires firmware files ``turtlebeach/pndspini.bin`` and1631``turtlebeach/pndsperm.bin`` in the proper firmware directory.1632 1633Module snd-mtpav1634----------------1635 1636Module for MOTU MidiTimePiece AV multiport MIDI (on the parallel1637port).1638 1639port1640 I/O port # for MTPAV (0x378,0x278, default=0x378)1641irq1642 IRQ # for MTPAV (7,5, default=7)1643hwports1644 number of supported hardware ports, default=8.1645 1646Module supports only 1 card. This module has no enable option.1647 1648Module snd-mts641649----------------1650 1651Module for Ego Systems (ESI) Miditerminal 41401652 1653This module supports multiple devices.1654Requires parport (``CONFIG_PARPORT``).1655 1656Module snd-nm2561657----------------1658 1659Module for NeoMagic NM256AV/ZX chips1660 1661playback_bufsize1662 max playback frame size in kB (4-128kB)1663capture_bufsize1664 max capture frame size in kB (4-128kB)1665force_ac971666 0 or 1 (disabled by default)1667buffer_top1668 specify buffer top address1669use_cache1670 0 or 1 (disabled by default)1671vaio_hack1672 alias buffer_top=0x25a8001673reset_workaround1674 enable AC97 RESET workaround for some laptops1675reset_workaround21676 enable extended AC97 RESET workaround for some other laptops1677 1678This module supports one chip and autoprobe.1679 1680The power-management is supported.1681 1682Note: on some notebooks the buffer address cannot be detected1683automatically, or causes hang-up during initialization.1684In such a case, specify the buffer top address explicitly via1685the buffer_top option.1686For example,1687Sony F250: buffer_top=0x25a8001688Sony F270: buffer_top=0x2728001689The driver supports only ac97 codec. It's possible to force1690to initialize/use ac97 although it's not detected. In such a1691case, use ``force_ac97=1`` option - but *NO* guarantee whether it1692works!1693 1694Note: The NM256 chip can be linked internally with non-AC971695codecs. This driver supports only the AC97 codec, and won't work1696with machines with other (most likely CS423x or OPL3SAx) chips,1697even though the device is detected in lspci. In such a case, try1698other drivers, e.g. snd-cs4232 or snd-opl3sa2. Some has ISA-PnP1699but some doesn't have ISA PnP. You'll need to specify ``isapnp=0``1700and proper hardware parameters in the case without ISA PnP.1701 1702Note: some laptops need a workaround for AC97 RESET. For the1703known hardware like Dell Latitude LS and Sony PCG-F305, this1704workaround is enabled automatically. For other laptops with a1705hard freeze, you can try ``reset_workaround=1`` option.1706 1707Note: Dell Latitude CSx laptops have another problem regarding1708AC97 RESET. On these laptops, reset_workaround2 option is1709turned on as default. This option is worth to try if the1710previous reset_workaround option doesn't help.1711 1712Note: This driver is really crappy. It's a porting from the1713OSS driver, which is a result of black-magic reverse engineering.1714The detection of codec will fail if the driver is loaded *after*1715X-server as described above. You might be able to force to load1716the module, but it may result in hang-up. Hence, make sure that1717you load this module *before* X if you encounter this kind of1718problem.1719 1720Module snd-opl3sa21721------------------1722 1723Module for Yamaha OPL3-SA2/SA3 sound cards.1724 1725isapnp1726 ISA PnP detection - 0 = disable, 1 = enable (default)1727 1728with ``isapnp=0``, the following options are available:1729 1730port1731 control port # for OPL3-SA chip (0x370)1732sb_port1733 SB port # for OPL3-SA chip (0x220,0x240)1734wss_port1735 WSS port # for OPL3-SA chip (0x530,0xe80,0xf40,0x604)1736midi_port1737 port # for MPU-401 UART (0x300,0x330), -1 = disable1738fm_port1739 FM port # for OPL3-SA chip (0x388), -1 = disable1740irq1741 IRQ # for OPL3-SA chip (5,7,9,10)1742dma11743 first DMA # for Yamaha OPL3-SA chip (0,1,3)1744dma21745 second DMA # for Yamaha OPL3-SA chip (0,1,3), -1 = disable1746 1747This module supports multiple cards and ISA PnP. It does not support1748autoprobe (if ISA PnP is not used) thus all ports must be specified!!!1749 1750The power-management is supported.1751 1752Module snd-opti92x-ad18481753-------------------------1754 1755Module for sound cards based on OPTi 82c92x and Analog Devices AD1848 chips.1756Module works with OAK Mozart cards as well.1757 1758isapnp1759 ISA PnP detection - 0 = disable, 1 = enable (default)1760 1761with ``isapnp=0``, the following options are available:1762 1763port1764 port # for WSS chip (0x530,0xe80,0xf40,0x604)1765mpu_port1766 port # for MPU-401 UART (0x300,0x310,0x320,0x330)1767fm_port1768 port # for OPL3 device (0x388)1769irq1770 IRQ # for WSS chip (5,7,9,10,11)1771mpu_irq1772 IRQ # for MPU-401 UART (5,7,9,10)1773dma11774 first DMA # for WSS chip (0,1,3)1775 1776This module supports only one card, autoprobe and PnP.1777 1778Module snd-opti92x-cs42311779-------------------------1780 1781Module for sound cards based on OPTi 82c92x and Crystal CS4231 chips.1782 1783isapnp1784 ISA PnP detection - 0 = disable, 1 = enable (default)1785 1786with ``isapnp=0``, the following options are available:1787 1788port1789 port # for WSS chip (0x530,0xe80,0xf40,0x604)1790mpu_port1791 port # for MPU-401 UART (0x300,0x310,0x320,0x330)1792fm_port1793 port # for OPL3 device (0x388)1794irq1795 IRQ # for WSS chip (5,7,9,10,11)1796mpu_irq1797 IRQ # for MPU-401 UART (5,7,9,10)1798dma11799 first DMA # for WSS chip (0,1,3)1800dma21801 second DMA # for WSS chip (0,1,3)1802 1803This module supports only one card, autoprobe and PnP.1804 1805Module snd-opti93x1806------------------1807 1808Module for sound cards based on OPTi 82c93x chips.1809 1810isapnp1811 ISA PnP detection - 0 = disable, 1 = enable (default)1812 1813with ``isapnp=0``, the following options are available:1814 1815port1816 port # for WSS chip (0x530,0xe80,0xf40,0x604)1817mpu_port1818 port # for MPU-401 UART (0x300,0x310,0x320,0x330)1819fm_port1820 port # for OPL3 device (0x388)1821irq1822 IRQ # for WSS chip (5,7,9,10,11)1823mpu_irq1824 IRQ # for MPU-401 UART (5,7,9,10)1825dma11826 first DMA # for WSS chip (0,1,3)1827dma21828 second DMA # for WSS chip (0,1,3)1829 1830This module supports only one card, autoprobe and PnP.1831 1832Module snd-oxygen1833-----------------1834 1835Module for sound cards based on the C-Media CMI8786/8787/8788 chip:1836 1837* Asound A-87881838* Asus Xonar DG/DGX1839* AuzenTech X-Meridian1840* AuzenTech X-Meridian 2G1841* Bgears b-Enspirer1842* Club3D Theatron DTS1843* HT-Omega Claro (plus)1844* HT-Omega Claro halo (XT)1845* Kuroutoshikou CMI8787-HG2PCI1846* Razer Barracuda AC-11847* Sondigo Inferno1848* TempoTec HiFier Fantasia1849* TempoTec HiFier Serenade1850 1851This module supports autoprobe and multiple cards.1852 1853Module snd-pcsp1854---------------1855 1856Module for internal PC-Speaker.1857 1858nopcm1859 Disable PC-Speaker PCM sound. Only beeps remain.1860nforce_wa1861 enable NForce chipset workaround. Expect bad sound.1862 1863This module supports system beeps, some kind of PCM playback and1864even a few mixer controls.1865 1866Module snd-pcxhr1867----------------1868 1869Module for Digigram PCXHR boards1870 1871This module supports multiple cards.1872 1873Module snd-portman2x41874---------------------1875 1876Module for Midiman Portman 2x4 parallel port MIDI interface1877 1878This module supports multiple cards.1879 1880Module snd-powermac (on ppc only)1881---------------------------------1882 1883Module for PowerMac, iMac and iBook on-board soundchips1884 1885enable_beep1886 enable beep using PCM (enabled as default)1887 1888Module supports autoprobe a chip.1889 1890Note: the driver may have problems regarding endianness.1891 1892The power-management is supported.1893 1894Module snd-pxa2xx-ac97 (on arm only)1895------------------------------------1896 1897Module for AC97 driver for the Intel PXA2xx chip1898 1899For ARM architecture only.1900 1901The power-management is supported.1902 1903Module snd-riptide1904------------------1905 1906Module for Conexant Riptide chip1907 1908joystick_port1909 Joystick port # (default: 0x200)1910mpu_port1911 MPU401 port # (default: 0x330)1912opl3_port1913 OPL3 port # (default: 0x388)1914 1915This module supports multiple cards.1916The driver requires the firmware loader support on kernel.1917You need to install the firmware file ``riptide.hex`` to the standard1918firmware path (e.g. /lib/firmware).1919 1920Module snd-rme321921----------------1922 1923Module for RME Digi32, Digi32 Pro and Digi32/8 (Sek'd Prodif32, 1924Prodif96 and Prodif Gold) sound cards.1925 1926This module supports multiple cards.1927 1928Module snd-rme961929----------------1930 1931Module for RME Digi96, Digi96/8 and Digi96/8 PRO/PAD/PST sound cards.1932 1933This module supports multiple cards.1934 1935Module snd-rme96521936------------------1937 1938Module for RME Digi9652 (Hammerfall, Hammerfall-Light) sound cards.1939 1940precise_ptr1941 Enable precise pointer (doesn't work reliably). (default = 0)1942 1943This module supports multiple cards.1944 1945Note: snd-page-alloc module does the job which snd-hammerfall-mem1946module did formerly. It will allocate the buffers in advance1947when any RME9652 cards are found. To make the buffer1948allocation sure, load snd-page-alloc module in the early1949stage of boot sequence. See `Early Buffer Allocation`_1950section.1951 1952Module snd-sa11xx-uda1341 (on arm only)1953---------------------------------------1954 1955Module for Philips UDA1341TS on Compaq iPAQ H3600 sound card.1956 1957Module supports only one card.1958Module has no enable and index options.1959 1960The power-management is supported.1961 1962Module snd-sb81963--------------1964 1965Module for 8-bit SoundBlaster cards: SoundBlaster 1.0, SoundBlaster 2.0,1966SoundBlaster Pro1967 1968port1969 port # for SB DSP chip (0x220,0x240,0x260)1970irq1971 IRQ # for SB DSP chip (5,7,9,10)1972dma81973 DMA # for SB DSP chip (1,3)1974 1975This module supports multiple cards and autoprobe.1976 1977The power-management is supported.1978 1979Module snd-sb16 and snd-sbawe1980-----------------------------1981 1982Module for 16-bit SoundBlaster cards: SoundBlaster 16 (PnP),1983SoundBlaster AWE 32 (PnP), SoundBlaster AWE 64 PnP1984 1985mic_agc1986 Mic Auto-Gain-Control - 0 = disable, 1 = enable (default)1987csp1988 ASP/CSP chip support - 0 = disable (default), 1 = enable1989isapnp1990 ISA PnP detection - 0 = disable, 1 = enable (default)1991 1992with isapnp=0, the following options are available:1993 1994port1995 port # for SB DSP 4.x chip (0x220,0x240,0x260)1996mpu_port1997 port # for MPU-401 UART (0x300,0x330), -1 = disable1998awe_port1999 base port # for EMU8000 synthesizer (0x620,0x640,0x660) (snd-sbawe2000 module only)2001irq2002 IRQ # for SB DSP 4.x chip (5,7,9,10)2003dma82004 8-bit DMA # for SB DSP 4.x chip (0,1,3)2005dma162006 16-bit DMA # for SB DSP 4.x chip (5,6,7)2007 2008This module supports multiple cards, autoprobe and ISA PnP.2009 2010Note: To use Vibra16X cards in 16-bit half duplex mode, you must2011disable 16bit DMA with dma16 = -1 module parameter.2012Also, all Sound Blaster 16 type cards can operate in 16-bit2013half duplex mode through 8-bit DMA channel by disabling their201416-bit DMA channel.2015 2016The power-management is supported.2017 2018Module snd-sc60002019-----------------2020 2021Module for Gallant SC-6000 soundcard and later models: SC-6600 and2022SC-7000.2023 2024port2025 Port # (0x220 or 0x240)2026mss_port2027 MSS Port # (0x530 or 0xe80)2028irq2029 IRQ # (5,7,9,10,11)2030mpu_irq2031 MPU-401 IRQ # (5,7,9,10) ,0 - no MPU-401 irq2032dma2033 DMA # (1,3,0)2034joystick2035 Enable gameport - 0 = disable (default), 1 = enable2036 2037This module supports multiple cards.2038 2039This card is also known as Audio Excel DSP 16 or Zoltrix AV302.2040 2041Module snd-sscape2042-----------------2043 2044Module for ENSONIQ SoundScape cards.2045 2046port2047 Port # (PnP setup)2048wss_port2049 WSS Port # (PnP setup)2050irq2051 IRQ # (PnP setup)2052mpu_irq2053 MPU-401 IRQ # (PnP setup)2054dma2055 DMA # (PnP setup)2056dma22057 2nd DMA # (PnP setup, -1 to disable)2058joystick2059 Enable gameport - 0 = disable (default), 1 = enable2060 2061This module supports multiple cards.2062 2063The driver requires the firmware loader support on kernel.2064 2065Module snd-sun-amd7930 (on sparc only)2066--------------------------------------2067 2068Module for AMD7930 sound chips found on Sparcs.2069 2070This module supports multiple cards.2071 2072Module snd-sun-cs4231 (on sparc only)2073-------------------------------------2074 2075Module for CS4231 sound chips found on Sparcs.2076 2077This module supports multiple cards.2078 2079Module snd-sun-dbri (on sparc only)2080-----------------------------------2081 2082Module for DBRI sound chips found on Sparcs.2083 2084This module supports multiple cards.2085 2086Module snd-wavefront2087--------------------2088 2089Module for Turtle Beach Maui, Tropez and Tropez+ sound cards.2090 2091use_cs4232_midi2092 Use CS4232 MPU-401 interface2093 (inaccessibly located inside your computer)2094isapnp2095 ISA PnP detection - 0 = disable, 1 = enable (default)2096 2097with isapnp=0, the following options are available:2098 2099cs4232_pcm_port2100 Port # for CS4232 PCM interface.2101cs4232_pcm_irq2102 IRQ # for CS4232 PCM interface (5,7,9,11,12,15).2103cs4232_mpu_port2104 Port # for CS4232 MPU-401 interface.2105cs4232_mpu_irq2106 IRQ # for CS4232 MPU-401 interface (9,11,12,15).2107ics2115_port2108 Port # for ICS21152109ics2115_irq2110 IRQ # for ICS21152111fm_port2112 FM OPL-3 Port #2113dma12114 DMA1 # for CS4232 PCM interface.2115dma22116 DMA2 # for CS4232 PCM interface.2117 2118The below are options for wavefront_synth features:2119 2120wf_raw2121 Assume that we need to boot the OS (default:no);2122 If yes, then during driver loading, the state of the board is2123 ignored, and we reset the board and load the firmware anyway.2124fx_raw2125 Assume that the FX process needs help (default:yes);2126 If false, we'll leave the FX processor in whatever state it is2127 when the driver is loaded. The default is to download the2128 microprogram and associated coefficients to set it up for2129 "default" operation, whatever that means.2130debug_default2131 Debug parameters for card initialization2132wait_usecs2133 How long to wait without sleeping, usecs (default:150);2134 This magic number seems to give pretty optimal throughput2135 based on my limited experimentation. 2136 If you want to play around with it and find a better value, be2137 my guest. Remember, the idea is to get a number that causes us2138 to just busy wait for as many WaveFront commands as possible,2139 without coming up with a number so large that we hog the whole2140 CPU. 2141 Specifically, with this number, out of about 134,000 status2142 waits, only about 250 result in a sleep. 2143sleep_interval2144 How long to sleep when waiting for reply (default: 100)2145sleep_tries2146 How many times to try sleeping during a wait (default: 50)2147ospath2148 Pathname to processed ICS2115 OS firmware (default:wavefront.os);2149 The path name of the ISC2115 OS firmware. In the recent2150 version, it's handled via firmware loader framework, so it2151 must be installed in the proper path, typically,2152 /lib/firmware.2153reset_time2154 How long to wait for a reset to take effect (default:2)2155ramcheck_time2156 How many seconds to wait for the RAM test (default:20)2157osrun_time2158 How many seconds to wait for the ICS2115 OS (default:10)2159 2160This module supports multiple cards and ISA PnP.2161 2162Note: the firmware file ``wavefront.os`` was located in the earlier2163version in /etc. Now it's loaded via firmware loader, and2164must be in the proper firmware path, such as /lib/firmware.2165Copy (or symlink) the file appropriately if you get an error2166regarding firmware downloading after upgrading the kernel.2167 2168Module snd-sonicvibes2169---------------------2170 2171Module for S3 SonicVibes PCI sound cards.2172* PINE Schubert 32 PCI2173 2174reverb2175 Reverb Enable - 1 = enable, 0 = disable (default);2176 SoundCard must have onboard SRAM for this.2177mge2178 Mic Gain Enable - 1 = enable, 0 = disable (default)2179 2180This module supports multiple cards and autoprobe.2181 2182Module snd-serial-u165502183------------------------2184 2185Module for UART16550A serial MIDI ports.2186 2187port2188 port # for UART16550A chip2189irq2190 IRQ # for UART16550A chip, -1 = poll mode2191speed2192 speed in bauds (9600,19200,38400,57600,115200)2193 38400 = default2194base2195 base for divisor in bauds (57600,115200,230400,460800)2196 115200 = default2197outs2198 number of MIDI ports in a serial port (1-4)2199 1 = default2200adaptor2201 Type of adaptor.2202 0 = Soundcanvas, 1 = MS-124T, 2 = MS-124W S/A,2203 3 = MS-124W M/B, 4 = Generic2204 2205This module supports multiple cards. This module does not support autoprobe2206thus the main port must be specified!!! Other options are optional.2207 2208Module snd-trident2209------------------2210 2211Module for Trident 4DWave DX/NX sound cards.2212* Best Union Miss Melody 4DWave PCI2213* HIS 4DWave PCI2214* Warpspeed ONSpeed 4DWave PCI2215* AzTech PCI 64-Q3D2216* Addonics SV 7502217* CHIC True Sound 4Dwave2218* Shark Predator4D-PCI2219* Jaton SonicWave 4D2220* SiS SI7018 PCI Audio2221* Hoontech SoundTrack Digital 4DWave NX2222 2223pcm_channels2224 max channels (voices) reserved for PCM2225wavetable_size2226 max wavetable size in kB (4-?kb)2227 2228This module supports multiple cards and autoprobe.2229 2230The power-management is supported.2231 2232Module snd-ua1012233----------------2234 2235Module for the Edirol UA-101/UA-1000 audio/MIDI interfaces.2236 2237This module supports multiple devices, autoprobe and hotplugging.2238 2239Module snd-usb-audio2240--------------------2241 2242Module for USB audio and USB MIDI devices.2243 2244vid2245 Vendor ID for the device (optional)2246pid2247 Product ID for the device (optional)2248nrpacks2249 Max. number of packets per URB (default: 8)2250device_setup2251 Device specific magic number (optional);2252 Influence depends on the device2253 Default: 0x0000 2254ignore_ctl_error2255 Ignore any USB-controller regarding mixer interface (default: no)2256autoclock2257 Enable auto-clock selection for UAC2 devices (default: yes)2258quirk_alias2259 Quirk alias list, pass strings like ``0123abcd:5678beef``, which2260 applies the existing quirk for the device 5678:beef to a new2261 device 0123:abcd.2262implicit_fb2263 Apply the generic implicit feedback sync mode. When this is set2264 and the playback stream sync mode is ASYNC, the driver tries to2265 tie an adjacent ASYNC capture stream as the implicit feedback2266 source. This is equivalent with quirk_flags bit 17.2267use_vmalloc2268 Use vmalloc() for allocations of the PCM buffers (default: yes).2269 For architectures with non-coherent memory like ARM or MIPS, the2270 mmap access may give inconsistent results with vmalloc'ed2271 buffers. If mmap is used on such architectures, turn off this2272 option, so that the DMA-coherent buffers are allocated and used2273 instead.2274delayed_register2275 The option is needed for devices that have multiple streams2276 defined in multiple USB interfaces. The driver may invoke2277 registrations multiple times (once per interface) and this may2278 lead to the insufficient device enumeration.2279 This option receives an array of strings, and you can pass2280 ID:INTERFACE like ``0123abcd:4`` for performing the delayed2281 registration to the given device. In this example, when a USB2282 device 0123:abcd is probed, the driver waits the registration2283 until the USB interface 4 gets probed.2284 The driver prints a message like "Found post-registration device2285 assignment: 1234abcd:04" for such a device, so that user can2286 notice the need.2287quirk_flags2288 Contains the bit flags for various device specific workarounds.2289 Applied to the corresponding card index.2290 2291 * bit 0: Skip reading sample rate for devices2292 * bit 1: Create Media Controller API entries2293 * bit 2: Allow alignment on audio sub-slot at transfer2294 * bit 3: Add length specifier to transfers2295 * bit 4: Start playback stream at first in implement feedback mode2296 * bit 5: Skip clock selector setup2297 * bit 6: Ignore errors from clock source search2298 * bit 7: Indicates ITF-USB DSD based DACs2299 * bit 8: Add a delay of 20ms at each control message handling2300 * bit 9: Add a delay of 1-2ms at each control message handling2301 * bit 10: Add a delay of 5-6ms at each control message handling2302 * bit 11: Add a delay of 50ms at each interface setup2303 * bit 12: Perform sample rate validations at probe2304 * bit 13: Disable runtime PM autosuspend2305 * bit 14: Ignore errors for mixer access2306 * bit 15: Support generic DSD raw U32_BE format2307 * bit 16: Set up the interface at first like UAC12308 * bit 17: Apply the generic implicit feedback sync mode2309 * bit 18: Don't apply implicit feedback sync mode2310 2311This module supports multiple devices, autoprobe and hotplugging.2312 2313NB: ``nrpacks`` parameter can be modified dynamically via sysfs.2314Don't put the value over 20. Changing via sysfs has no sanity2315check.2316 2317NB: ``ignore_ctl_error=1`` may help when you get an error at accessing2318the mixer element such as URB error -22. This happens on some2319buggy USB device or the controller. This workaround corresponds to2320the ``quirk_flags`` bit 14, too.2321 2322NB: ``quirk_alias`` option is provided only for testing / development.2323If you want to have a proper support, contact to upstream for2324adding the matching quirk in the driver code statically.2325Ditto for ``quirk_flags``. If a device is known to require specific2326workarounds, please report to the upstream.2327 2328Module snd-usb-caiaq2329--------------------2330 2331Module for caiaq UB audio interfaces,2332 2333* Native Instruments RigKontrol22334* Native Instruments Kore Controller2335* Native Instruments Audio Kontrol 12336* Native Instruments Audio 8 DJ2337 2338This module supports multiple devices, autoprobe and hotplugging.2339 2340Module snd-usb-usx2y2341--------------------2342 2343Module for Tascam USB US-122, US-224 and US-428 devices.2344 2345This module supports multiple devices, autoprobe and hotplugging.2346 2347Note: you need to load the firmware via ``usx2yloader`` utility included2348in alsa-tools and alsa-firmware packages.2349 2350Module snd-via82xx2351------------------2352 2353Module for AC'97 motherboards based on VIA 82C686A/686B, 8233, 8233A,23548233C, 8235, 8237 (south) bridge.2355 2356mpu_port2357 0x300,0x310,0x320,0x330, otherwise obtain BIOS setup2358 [VIA686A/686B only]2359joystick2360 Enable joystick (default off) [VIA686A/686B only]2361ac97_clock2362 AC'97 codec clock base (default 48000Hz)2363dxs_support2364 support DXS channels, 0 = auto (default), 1 = enable, 2 = disable,2365 3 = 48k only, 4 = no VRA, 5 = enable any sample rate and different2366 sample rates on different channels [VIA8233/C, 8235, 8237 only]2367ac97_quirk2368 AC'97 workaround for strange hardware;2369 See `AC97 Quirk Option`_ section below.2370 2371This module supports one chip and autoprobe.2372 2373Note: on some SMP motherboards like MSI 694D the interrupts might2374not be generated properly. In such a case, please try to2375set the SMP (or MPS) version on BIOS to 1.1 instead of2376default value 1.4. Then the interrupt number will be2377assigned under 15. You might also upgrade your BIOS.2378 2379Note: VIA8233/5/7 (not VIA8233A) can support DXS (direct sound)2380channels as the first PCM. On these channels, up to 42381streams can be played at the same time, and the controller2382can perform sample rate conversion with separate rates for2383each channel.2384As default (``dxs_support = 0``), 48k fixed rate is chosen2385except for the known devices since the output is often2386noisy except for 48k on some mother boards due to the2387bug of BIOS.2388Please try once ``dxs_support=5`` and if it works on other2389sample rates (e.g. 44.1kHz of mp3 playback), please let us2390know the PCI subsystem vendor/device id's (output of2391``lspci -nv``).2392If ``dxs_support=5`` does not work, try ``dxs_support=4``; if it2393doesn't work too, try dxs_support=1. (dxs_support=1 is2394usually for old motherboards. The correct implemented2395board should work with 4 or 5.) If it still doesn't2396work and the default setting is ok, ``dxs_support=3`` is the2397right choice. If the default setting doesn't work at all,2398try ``dxs_support=2`` to disable the DXS channels.2399In any cases, please let us know the result and the2400subsystem vendor/device ids. See `Links and Addresses`_2401below.2402 2403Note: for the MPU401 on VIA823x, use snd-mpu401 driver2404additionally. The mpu_port option is for VIA686 chips only.2405 2406The power-management is supported.2407 2408Module snd-via82xx-modem2409------------------------2410 2411Module for VIA82xx AC97 modem2412 2413ac97_clock2414 AC'97 codec clock base (default 48000Hz)2415 2416This module supports one card and autoprobe.2417 2418Note: The default index value of this module is -2, i.e. the first2419slot is excluded.2420 2421The power-management is supported.2422 2423Module snd-virmidi2424------------------2425 2426Module for virtual rawmidi devices.2427This module creates virtual rawmidi devices which communicate2428to the corresponding ALSA sequencer ports.2429 2430midi_devs2431 MIDI devices # (1-4, default=4)2432 2433This module supports multiple cards.2434 2435Module snd-virtuoso2436-------------------2437 2438Module for sound cards based on the Asus AV66/AV100/AV200 chips,2439i.e., Xonar D1, DX, D2, D2X, DS, DSX, Essence ST (Deluxe),2440Essence STX (II), HDAV1.3 (Deluxe), and HDAV1.3 Slim.2441 2442This module supports autoprobe and multiple cards.2443 2444Module snd-vx2222445----------------2446 2447Module for Digigram VX-Pocket VX222, V222 v2 and Mic cards.2448 2449mic2450 Enable Microphone on V222 Mic (NYI)2451ibl2452 Capture IBL size. (default = 0, minimum size)2453 2454This module supports multiple cards.2455 2456When the driver is compiled as a module and the hotplug firmware2457is supported, the firmware data is loaded via hotplug automatically.2458Install the necessary firmware files in alsa-firmware package.2459When no hotplug fw loader is available, you need to load the2460firmware via vxloader utility in alsa-tools package. To invoke2461vxloader automatically, add the following to /etc/modprobe.d/alsa.conf2462 2463::2464 2465 install snd-vx222 /sbin/modprobe --first-time -i snd-vx222\2466 && /usr/bin/vxloader2467 2468(for 2.2/2.4 kernels, add ``post-install /usr/bin/vxloader`` to2469/etc/modules.conf, instead.)2470IBL size defines the interrupts period for PCM. The smaller size2471gives smaller latency but leads to more CPU consumption, too.2472The size is usually aligned to 126. As default (=0), the smallest2473size is chosen. The possible IBL values can be found in2474/proc/asound/cardX/vx-status proc file.2475 2476The power-management is supported.2477 2478Module snd-vxpocket2479-------------------2480 2481Module for Digigram VX-Pocket VX2 and 440 PCMCIA cards.2482 2483ibl2484 Capture IBL size. (default = 0, minimum size)2485 2486This module supports multiple cards. The module is compiled only when2487PCMCIA is supported on kernel.2488 2489With the older 2.6.x kernel, to activate the driver via the card2490manager, you'll need to set up /etc/pcmcia/vxpocket.conf. See the2491sound/pcmcia/vx/vxpocket.c. 2.6.13 or later kernel requires no2492longer require a config file.2493 2494When the driver is compiled as a module and the hotplug firmware2495is supported, the firmware data is loaded via hotplug automatically.2496Install the necessary firmware files in alsa-firmware package.2497When no hotplug fw loader is available, you need to load the2498firmware via vxloader utility in alsa-tools package.2499 2500About capture IBL, see the description of snd-vx222 module.2501 2502Note: snd-vxp440 driver is merged to snd-vxpocket driver since2503ALSA 1.0.10.2504 2505The power-management is supported.2506 2507Module snd-ymfpci2508-----------------2509 2510Module for Yamaha PCI chips (YMF72x, YMF74x & YMF75x).2511 2512mpu_port2513 0x300,0x330,0x332,0x334, 0 (disable) by default,2514 1 (auto-detect for YMF744/754 only)2515fm_port2516 0x388,0x398,0x3a0,0x3a8, 0 (disable) by default2517 1 (auto-detect for YMF744/754 only)2518joystick_port2519 0x201,0x202,0x204,0x205, 0 (disable) by default,2520 1 (auto-detect)2521rear_switch2522 enable shared rear/line-in switch (bool)2523 2524This module supports autoprobe and multiple chips.2525 2526The power-management is supported.2527 2528Module snd-pdaudiocf2529--------------------2530 2531Module for Sound Core PDAudioCF sound card.2532 2533The power-management is supported.2534 2535 2536AC97 Quirk Option2537=================2538 2539The ac97_quirk option is used to enable/override the workaround for2540specific devices on drivers for on-board AC'97 controllers like2541snd-intel8x0. Some hardware have swapped output pins between Master2542and Headphone, or Surround (thanks to confusion of AC'972543specifications from version to version :-)2544 2545The driver provides the auto-detection of known problematic devices,2546but some might be unknown or wrongly detected. In such a case, pass2547the proper value with this option.2548 2549The following strings are accepted:2550 2551default2552 Don't override the default setting2553none2554 Disable the quirk2555hp_only2556 Bind Master and Headphone controls as a single control2557swap_hp2558 Swap headphone and master controls2559swap_surround2560 Swap master and surround controls2561ad_sharing2562 For AD1985, turn on OMS bit and use headphone2563alc_jack2564 For ALC65x, turn on the jack sense mode2565inv_eapd2566 Inverted EAPD implementation2567mute_led2568 Bind EAPD bit for turning on/off mute LED2569 2570For backward compatibility, the corresponding integer value -1, 0, ...2571are accepted, too.2572 2573For example, if ``Master`` volume control has no effect on your device2574but only ``Headphone`` does, pass ac97_quirk=hp_only module option.2575 2576 2577Configuring Non-ISAPNP Cards2578============================2579 2580When the kernel is configured with ISA-PnP support, the modules2581supporting the isapnp cards will have module options ``isapnp``.2582If this option is set, *only* the ISA-PnP devices will be probed.2583For probing the non ISA-PnP cards, you have to pass ``isapnp=0`` option2584together with the proper i/o and irq configuration.2585 2586When the kernel is configured without ISA-PnP support, isapnp option2587will be not built in.2588 2589 2590Module Autoloading Support2591==========================2592 2593The ALSA drivers can be loaded automatically on demand by defining2594module aliases. The string ``snd-card-%1`` is requested for ALSA native2595devices where ``%i`` is sound card number from zero to seven.2596 2597To auto-load an ALSA driver for OSS services, define the string2598``sound-slot-%i`` where ``%i`` means the slot number for OSS, which2599corresponds to the card index of ALSA. Usually, define this2600as the same card module.2601 2602An example configuration for a single emu10k1 card is like below:2603::2604 2605 ----- /etc/modprobe.d/alsa.conf2606 alias snd-card-0 snd-emu10k12607 alias sound-slot-0 snd-emu10k12608 ----- /etc/modprobe.d/alsa.conf2609 2610The available number of auto-loaded sound cards depends on the module2611option ``cards_limit`` of snd module. As default it's set to 1.2612To enable the auto-loading of multiple cards, specify the number of2613sound cards in that option.2614 2615When multiple cards are available, it'd better to specify the index2616number for each card via module option, too, so that the order of2617cards is kept consistent.2618 2619An example configuration for two sound cards is like below:2620::2621 2622 ----- /etc/modprobe.d/alsa.conf2623 # ALSA portion2624 options snd cards_limit=22625 alias snd-card-0 snd-interwave2626 alias snd-card-1 snd-ens13712627 options snd-interwave index=02628 options snd-ens1371 index=12629 # OSS/Free portion2630 alias sound-slot-0 snd-interwave2631 alias sound-slot-1 snd-ens13712632 ----- /etc/modprobe.d/alsa.conf2633 2634In this example, the interwave card is always loaded as the first card2635(index 0) and ens1371 as the second (index 1).2636 2637Alternative (and new) way to fixate the slot assignment is to use2638``slots`` option of snd module. In the case above, specify like the2639following: 2640::2641 2642 options snd slots=snd-interwave,snd-ens13712643 2644Then, the first slot (#0) is reserved for snd-interwave driver, and2645the second (#1) for snd-ens1371. You can omit index option in each2646driver if slots option is used (although you can still have them at2647the same time as long as they don't conflict).2648 2649The slots option is especially useful for avoiding the possible2650hot-plugging and the resultant slot conflict. For example, in the2651case above again, the first two slots are already reserved. If any2652other driver (e.g. snd-usb-audio) is loaded before snd-interwave or2653snd-ens1371, it will be assigned to the third or later slot.2654 2655When a module name is given with '!', the slot will be given for any2656modules but that name. For example, ``slots=!snd-pcsp`` will reserve2657the first slot for any modules but snd-pcsp. 2658 2659 2660ALSA PCM devices to OSS devices mapping2661=======================================2662::2663 2664 /dev/snd/pcmC0D0[c|p] -> /dev/audio0 (/dev/audio) -> minor 42665 /dev/snd/pcmC0D0[c|p] -> /dev/dsp0 (/dev/dsp) -> minor 32666 /dev/snd/pcmC0D1[c|p] -> /dev/adsp0 (/dev/adsp) -> minor 122667 /dev/snd/pcmC1D0[c|p] -> /dev/audio1 -> minor 4+16 = 202668 /dev/snd/pcmC1D0[c|p] -> /dev/dsp1 -> minor 3+16 = 192669 /dev/snd/pcmC1D1[c|p] -> /dev/adsp1 -> minor 12+16 = 282670 /dev/snd/pcmC2D0[c|p] -> /dev/audio2 -> minor 4+32 = 362671 /dev/snd/pcmC2D0[c|p] -> /dev/dsp2 -> minor 3+32 = 392672 /dev/snd/pcmC2D1[c|p] -> /dev/adsp2 -> minor 12+32 = 442673 2674The first number from ``/dev/snd/pcmC{X}D{Y}[c|p]`` expression means2675sound card number and second means device number. The ALSA devices2676have either ``c`` or ``p`` suffix indicating the direction, capture and2677playback, respectively.2678 2679Please note that the device mapping above may be varied via the module2680options of snd-pcm-oss module.2681 2682 2683Proc interfaces (/proc/asound)2684==============================2685 2686/proc/asound/card#/pcm#[cp]/oss2687-------------------------------2688erase2689 erase all additional information about OSS applications2690 2691<app_name> <fragments> <fragment_size> [<options>]2692 <app_name>2693 name of application with (higher priority) or without path2694 <fragments>2695 number of fragments or zero if auto2696 <fragment_size>2697 size of fragment in bytes or zero if auto2698 <options>2699 optional parameters2700 2701 disable2702 the application tries to open a pcm device for2703 this channel but does not want to use it.2704 (Cause a bug or mmap needs)2705 It's good for Quake etc...2706 direct2707 don't use plugins2708 block2709 force block mode (rvplayer)2710 non-block2711 force non-block mode2712 whole-frag2713 write only whole fragments (optimization affecting2714 playback only)2715 no-silence2716 do not fill silence ahead to avoid clicks2717 buggy-ptr2718 Returns the whitespace blocks in GETOPTR ioctl2719 instead of filled blocks2720 2721Example:2722::2723 2724 echo "x11amp 128 16384" > /proc/asound/card0/pcm0p/oss2725 echo "squake 0 0 disable" > /proc/asound/card0/pcm0c/oss2726 echo "rvplayer 0 0 block" > /proc/asound/card0/pcm0p/oss2727 2728 2729Early Buffer Allocation2730=======================2731 2732Some drivers (e.g. hdsp) require the large contiguous buffers, and2733sometimes it's too late to find such spaces when the driver module is2734actually loaded due to memory fragmentation. You can pre-allocate the2735PCM buffers by loading snd-page-alloc module and write commands to its2736proc file in prior, for example, in the early boot stage like2737``/etc/init.d/*.local`` scripts.2738 2739Reading the proc file /proc/drivers/snd-page-alloc shows the current2740usage of page allocation. In writing, you can send the following2741commands to the snd-page-alloc driver:2742 2743* add VENDOR DEVICE MASK SIZE BUFFERS2744 2745VENDOR and DEVICE are PCI vendor and device IDs. They take2746integer numbers (0x prefix is needed for the hex).2747MASK is the PCI DMA mask. Pass 0 if not restricted.2748SIZE is the size of each buffer to allocate. You can pass2749k and m suffix for KB and MB. The max number is 16MB.2750BUFFERS is the number of buffers to allocate. It must be greater2751than 0. The max number is 4.2752 2753* erase2754 2755This will erase the all pre-allocated buffers which are not in2756use.2757 2758 2759Links and Addresses2760===================2761 2762ALSA project homepage2763 http://www.alsa-project.org2764Kernel Bugzilla2765 http://bugzilla.kernel.org/2766ALSA Developers ML2767 mailto:alsa-devel@alsa-project.org2768alsa-info.sh script2769 https://www.alsa-project.org/alsa-info.sh2770