/[gentoo]/xml/htdocs/doc/en/alsa-guide.xml
Gentoo

Contents of /xml/htdocs/doc/en/alsa-guide.xml

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.31 - (show annotations) (download) (as text)
Sun Apr 11 10:52:16 2004 UTC (10 years, 3 months ago) by cam
Branch: MAIN
Changes since 1.30: +2 -2 lines
File MIME type: application/xml
Fixed coding style due to the forthcoming DTD enforcement.
Sorry for all the translators :) (including me, argh)

1 <?xml version='1.0' encoding="UTF-8"?>
2 <!-- $Header: /home/cvsroot/gentoo/xml/htdocs/doc/en/alsa-guide.xml,v 1.30 2004/03/28 08:50:17 swift Exp $ -->
3 <!DOCTYPE guide SYSTEM "/dtd/guide.dtd">
4
5 <guide link = "/doc/en/alsa-guide.xml">
6 <title>Gentoo Linux ALSA Guide</title>
7 <author title="Author">
8 <mail link="zu@pandora.be">Vincent Verleye</mail>
9 </author>
10 <author title="Author">
11 <mail link="g2boojum@gentoo.org">Grant Goodyear</mail>
12 </author>
13 <author title="Author">
14 <mail link="agenkin@gentoo.org">Arcady Genkin</mail>
15 </author>
16 <author title="Author">
17 <mail link="eradicator@gentoo.org">Jeremy Huddleston</mail>
18 </author>
19 <author title="Editor"><!-- zhen@gentoo.org -->
20 John P. Davis
21 </author>
22 <author title="Editor">
23 <mail link="swift@gentoo.org">Sven Vermeulen</mail>
24 </author>
25 <author title="Editor">
26 <mail link="bennyc@gentoo.org">Benny Chuang</mail>
27 </author>
28 <author title="Editor">
29 <mail link="blubber@gentoo.org">Tiemo Kieft</mail>
30 </author>
31 <author title="Editor">
32 <mail link="erwin@gentoo.org">Erwin</mail>
33 </author>
34
35 <abstract>
36 This guide will show you how to set up the Advanced Linux Sound Architecture
37 (ALSA) on Gentoo Linux. In addition to the Gentoo Linux Desktop Configuration
38 Guide, this guide is supposed to give you more information on this subject.
39 </abstract>
40
41 <license/>
42
43 <version>1.4.2</version>
44 <date>March 28, 2004</date>
45
46 <chapter>
47 <title>Introduction</title>
48 <section>
49 <title>What is ALSA?</title>
50 <body>
51
52 <p>
53 The Advanced Linux Sound Architecture (ALSA) is a project to improve the Linux
54 sound subsystem by rewriting large chunks of it. It has replaced the Open
55 Sound System (OSS) as the default sound subsystem in the 2.6 kernel, but it
56 can be used with either 2.4 or 2.6 kernels.
57 </p>
58
59 <p>
60 ALSA provides audio and MIDI functionality for Linux.
61 </p>
62
63 <p>
64 Quoted from <uri>http://www.alsa-project.org</uri>, ALSA has the following
65 features:
66 </p>
67
68 <ul>
69 <li>
70 Efficient support for all types of audio interfaces, from consumer
71 soundcards to professional multichannel audio interfaces
72 </li>
73 <li>Fully modularized sound drivers</li>
74 <li>SMP and thread-safe design</li>
75 <li>
76 User space library (alsa-lib) to simplify application programming and
77 provide higher level functionality
78 </li>
79 <li>
80 Support for the older OSS API, providing binary compatibility for most OSS
81 programs
82 </li>
83 </ul>
84
85 <p>
86 There's lots more to ALSA however, like support for Full Duplex playback and
87 recording, multiple soundcard support, hardware mixing of streams, extensive
88 mixer capabilities (to support advanced features of new soundcards), ...
89 </p>
90
91 </body>
92 </section>
93 <section>
94 <title>Why use ALSA?</title>
95 <body>
96
97 <p>
98 Your sound card may be supported by modules available in the 2.4 kernel (these
99 are also provided in the 2.6 kernel under the 'Open Sound System (DEPRECATED)'
100 option). Additionally, you might be able to use the commercial OSS/4Front sound
101 driver system. If you wish to use either of these systems, then you should read
102 through the <uri link="http://www.tldp.org/HOWTO/Sound-HOWTO/index.html">Linux
103 Sound HOWTO</uri>.
104 </p>
105
106 <p>
107 The OSS/4Front drivers have some limitations, however. Being commercial is
108 one. ALSA is an attempt to go beyond these limitations with an open source
109 development model. ALSA is a fully GPL and LGPL'ed sound driver system that
110 provides a professional quality system for recording, playback, and MIDI
111 sequencing.
112 </p>
113
114 </body>
115 </section>
116 <section>
117 <title>What cards does ALSA support?</title>
118 <body>
119
120 <p>
121 ALSA tries to support as many (new) cards as possible by providing open-source
122 drivers. However, some vendors may provide binary-only packages.
123 </p>
124
125 <p>
126 To know if your card is supported, you can find a Soundcard Matrix of supported
127 and not-supported cards here: <uri>http://www.alsa-project.org/alsa-doc/</uri>.
128 </p>
129
130 </body>
131 </section>
132 </chapter>
133
134 <chapter>
135 <title>Installation</title>
136 <section>
137 <title>Gentoo USE flags</title>
138 <body>
139
140 <p>
141 To compile programs with ALSA-support, be sure to add <e>alsa</e> to
142 your USE-variable. However, several tools don't support alsa yet, and
143 require OSS. ALSA provides OSS-emulation if you define <e>oss</e> in your
144 USE-variable before you start.
145 </p>
146
147 </body>
148 </section>
149 <section>
150 <title>Kernel modules</title>
151 <body>
152
153 <p>
154 When using the 2.4 kernels, you'll need to compile the alsa drivers separately
155 from the rest of the kernel. If you are using a 2.6 kernel, you have the
156 option of using the ALSA drivers included in the kernel or those provided
157 by the <c>alsa-driver</c> package.
158 </p>
159
160 <p>
161 First we'll make sure that our kernel configuration is ready for use with ALSA.
162 All you need in your kernel configuration is having Sound Card Support set to
163 be built as a module (M). This will build <path>soundcore.o</path>.
164 </p>
165
166 <note>
167 Possibly, this will also work if you build 'Sound Card Support' in the kernel
168 (Y) instead of building it as a module (M). However, the official ALSA
169 documentation suggests building it as a module, since ALSA will try loading it.
170 </note>
171
172 <p>
173 If you already have a working kernel configuration, make sure you remove all
174 sound drivers (except for Sound Card Support). If you wish to do this without
175 having to reboot, you could do like this:
176 </p>
177
178 <pre caption="Kernel configuration">
179 # <i>cd /usr/src/linux</i>
180 # <i>cp .config ~/</i>
181 # <i>make mrproper</i>
182 # <i>cp ~/.config .</i>
183 # <i>make menuconfig</i>
184 </pre>
185
186 <p>
187 Now select <e>Sound Card Support</e> as Module (M) and deselect all other sound
188 drivers. If you are using 2.6 with the ALSA modules provided by the kernel, select
189 the drivers for your sound card as well (look in the <uri
190 link="#doc_chap2_sect3">ALSA modules</uri> section below if you need help
191 choosing the right drivers). Exit and say Y to save your kernel configuration.
192 After that, build the modules:
193 </p>
194
195 <pre caption="2.4 Kernel compilation">
196 # <i>make dep clean</i>
197 # <i>make modules modules_install</i>
198 </pre>
199
200 <pre caption="2.6 Kernel compilation">
201 # <i>make</i>
202 # <i>make modules_install</i>
203 </pre>
204
205 <p>
206 If you compiled 2.6 with the ALSA modules provided by the kernel, please skip to
207 <uri link="#doc_chap2_sect4">Configuration of ALSA</uri> below.
208 </p>
209
210 <p>
211 Before installing your new modules, this last line will delete all your previous
212 modules, even the ones from a previous ALSA installation.
213 </p>
214
215 <impo>
216 This means, whenever you recompile your kernel later on, you MUST recompile
217 <c>alsa-driver</c>.
218 </impo>
219
220 </body>
221 </section>
222 <section>
223 <title>ALSA modules</title>
224 <body>
225
226 <p>
227 Now it's time to install the ALSA drivers for your soundcard(s). If your
228 soundcard is PCI, you can find out the name and type of your soundcard by
229 looking at the output of <path>/proc/pci</path>.
230 </p>
231
232 <pre caption="Search for soundcard information">
233 # <i>grep audio /proc/pci</i>
234 </pre>
235
236 <warn>
237 If you had a previous sound setup and there are still non-ALSA sound modules
238 loaded, unload them <e>now</e>. Check with <c>lsmod</c> and use <c>rmmod</c>
239 to unload all sound-related modules on your system. If <c>rmmod</c> complains
240 about not being able to unload the modules because they are in use, try using
241 <c>/etc/init.c/alsasound stop</c> to remove them.
242 </warn>
243
244 <p>
245 We could simply do an <c>emerge alsa-driver</c> now, this would compile and
246 install <e>all</e> ALSA sound drivers.
247 </p>
248
249 <p>
250 However, to save some time, lookup the <e>Module Name</e> of your soundcard(s)
251 on the <uri link="http://www.alsa-project.org/alsa-doc">ALSA Soundcard
252 Matrix</uri> by following the <e>Details</e> link in the <e>Driver and Docs</e>
253 column in the row of the chipset of your soundcard. Mine is <c>snd-emu10k1</c>,
254 since I have an SBlive! soundcard, with the <e>EMU10K1</e> chipset. We'll set
255 ALSA_CARDS environment to the value of the module name before emerging (but
256 without the snd prefix), so emerge will only compile the drivers we need.
257 </p>
258
259 <pre caption="With 2.4 Kernel">
260 # <i>env ALSA_CARDS='emu10k1' emerge alsa-driver</i>
261 </pre>
262
263 <pre caption="With 2.6 Kernel">
264 # <i>env ALSA_CARDS='emu10k1' emerge \>=media-sound/alsa-driver-1.0.2c</i>
265 </pre>
266
267 <note>
268 2.6 kernels require alsa-driver to be at least version 1.0.2c.
269 </note>
270
271 <note>
272 You can also add this value in <path>/etc/make.conf</path>, so when you have
273 to emerge the alsa-driver later on you can just run <c>emerge alsa-driver</c>.
274 For example, like this: <c>echo 'ALSA_CARDS="emu10k1"' >> /etc/make.conf</c>
275 </note>
276
277 <note>
278 When you want to install ALSA drivers for more than one soundcard, you could
279 set ALSA_CARDS to a space-separated list of drivers; like this: <c>env
280 ALSA_CARDS='emu10k1 intel8x0 ens1370' emerge alsa-driver</c>
281 </note>
282
283 <note>
284 If you want to have OSS compatibility, make sure to emerge <c>alsa-oss</c>, it
285 is the ALSA/OSS compatibility wrapper.
286 </note>
287
288 <note>
289 If you plan on recompiling your kernels numerous times, it might
290 be adviseable to emerge <c>alsa-driver</c> with <c>--buildpkg</c>. This
291 will create a binary package for it. Later, after recompiling your kernel,
292 you can just do <c>emerge --usepkg alsa-driver</c> which will install the
293 binary package instead of recompiling it completely. If 'depmod -a' ever
294 complains about sound drivers having unreferenced symbols when you do this,
295 you will need to recompile the alsa-driver package from source.
296 </note>
297
298 <p>
299 After this, the ALSA modules should be installed on your system.
300 </p>
301
302 </body>
303 </section>
304 <section>
305 <title>Configuration of ALSA</title>
306 <body>
307
308 <p>
309 Let's start configuring now to get ALSA working properly. We'll need to edit
310 some files, to let our system know about the freshly installed ALSA modules.
311 </p>
312
313 <p>
314 First, install <c>alsa-utils</c> on your system:
315 </p>
316
317 <pre caption = "Emerging alsa-utils">
318 # <i>emerge alsa-utils</i>
319 </pre>
320
321 <p>
322 Hereafter, we need to edit <path>/etc/modules.d/alsa</path>.
323 </p>
324
325 <warn>
326 There is no need to edit <path>/etc/modules.conf</path>. Instead, always edit
327 files in <path>/etc/modules.d</path> and run <c>modules-update</c> to generate
328 <path>/etc/modules.conf</path> from the updated data.
329 </warn>
330
331 <pre caption="In /etc/modules.d/alsa">
332 ## and then run `modules-update' command.
333 ## Read alsa-driver's INSTALL file in /usr/share/doc for more info.
334 ##
335 ## ALSA portion
336 alias snd-card-0 snd-emu10k1
337 ## alias snd-card-1 snd-intel8x0
338 ## alias snd-card-2 snd-ens1370
339 ## OSS/Free portion
340 alias sound-slot-0 snd-card-0
341 ## alias sound-slot-1 snd-card-1
342 ## alias sound-slot-2 snd-card-2
343 ##
344 </pre>
345
346 <note>
347 If you have more than one soundcard, add more <c>snd-card</c> and <c>snd-slot</c>
348 aliases and adjust the <c>cards_limit</c> value at the end of the file. You can
349 find examples for configurations with two or more soundcards in <uri
350 link="http://www.alsa-project.org/alsa-doc/alsa-howto/c1660.htm">Chapter 6</uri>
351 of the <uri
352 link="http://www.alsa-project.org/alsa-doc/alsa-howto/alsa-howto.html">ALSA
353 Howto</uri>.
354 </note>
355
356 <p>
357 Last thing to do in this file, almost at the end, check if these lines are there
358 and uncommented:
359 </p>
360
361 <pre caption="Near the end of /etc/modules.d/alsa">
362 alias /dev/mixer snd-mixer-oss
363 alias /dev/dsp snd-pcm-oss
364 alias /dev/midi snd-seq-oss
365 </pre>
366
367 <p>
368 After double-checking the file <path>/etc/modules.d/alsa</path> to make sure
369 everyting is ok, run <c>modules-update</c>.
370 </p>
371
372 <pre caption="Running modules-update">
373 # <i>modules-update</i>
374 </pre>
375
376 <note>
377 Running <c>modules-update</c> here will insert the data from
378 <path>/etc/modules.d/alsa</path> into <path>/etc/modules.conf</path>
379 </note>
380
381 <p>
382 You should also verify that <path>/etc/devfsd.conf</path> has the alsa devices
383 and permissions correctly registered.
384 </p>
385
386 <pre caption="/etc/devfsd.conf">
387 # ALSA/OSS stuff
388 # Comment/change these if you want to change the permissions on
389 # the audio devices
390 LOOKUP snd MODLOAD ACTION snd
391 LOOKUP dsp MODLOAD
392 LOOKUP mixer MODLOAD
393 LOOKUP midi MODLOAD
394 REGISTER sound/.* PERMISSIONS root.audio 660
395 REGISTER snd/.* PERMISSIONS root.audio 660
396 </pre>
397
398 <note>
399 Notice that devfsd.conf sets <path>/dev/sound</path> permissions to be
400 root.audio. Thus, for non-root users to use audio they will have to be part of
401 the audio group.
402 </note>
403
404 </body>
405 </section>
406 </chapter>
407
408 <chapter>
409 <title>Starting ALSA</title>
410 <section>
411 <title>Adding alsasound to a runlevel</title>
412 <body>
413
414 <p>
415 An init script is provided for you which will install all necessary sound
416 drivers for your card (including the OSS support drivers if you set USE=oss).
417 The first thing to do now is to make ALSA startup at boot time:
418 </p>
419
420 <pre caption="Add ALSA to the boot runlevel">
421 # <i>rc-update add alsasound boot</i>
422 </pre>
423
424 <warn>
425 Note that the alsasound script should be added to the "boot" runlevel, not the
426 "default" runlevel.
427 </warn>
428
429 </body>
430 </section>
431 <section>
432 <title>Running and unmuting</title>
433 <body>
434
435 <p>
436 Since we're Linux users, we don't want to reboot. So we'll start the alsasound
437 script manually.
438 </p>
439
440 <pre caption="Starting ALSA">
441 # <i>/etc/init.d/alsasound start</i>
442 </pre>
443
444 <p>
445 ALSA is running now. If everything is ok, you should be able to see the ALSA
446 modules loaded when running <c>lsmod</c>. However, sound won't work yet,
447 because the channels are still muted. We need <c>amixer</c> to fix this.
448 </p>
449
450 <pre caption = "Running amixer">
451 # <i>amixer</i>
452 </pre>
453
454 <!-- alsasound init script will do this for them now...
455 <warn>
456 You shouldn't get this, but <e>if</e> you get an error about "amixer: Mixer
457 attach default error: No such file or directory", you should manually modprobe
458 <c>snd-mixer-oss</c> and <c>snd-pcm-oss</c> once. After that run amixer again.
459 </warn>
460
461 <pre caption="Only if you get an error when running amixer">
462 # <i>modprobe snd-mixer-oss</i>
463 # <i>modprobe snd-pcm-oss</i>
464 # <i>amixer</i>
465 </pre>
466 -->
467
468 <p>
469 If you got this far, now unmute Master and PCM channels. Some hardware
470 even requires you to unmute the center channel or even the surround
471 channel.
472 </p>
473
474 <pre caption = "Unmuting channels">
475 # <i>amixer set Master 100 unmute</i>
476 # <i>amixer set PCM 100 unmute</i>
477 <comment>Only if the above doesn't succeed on its own:</comment>
478 # <i>amixer set Center 100 unmute</i>
479 # <i>amixer set Surround 100 unmute</i>
480 <comment>Test the sound:</comment>
481 # <i>aplay $KDEDIR/share/sounds/pop.wav</i> <codenote>(pop.wav is part of KDE)</codenote>
482 </pre>
483
484 <p>
485 We check to see if sound is working by using the aplay (alsa play) command. If
486 you hear a pop, then sound is indeed working. Then, adjust the volume settings
487 to your liking; the ncurses-based <c>alsamixer</c> is a great way to get them
488 "just so".
489 </p>
490
491 <p>
492 When you reboot your system, the <c>alsasound</c> init script will
493 properly save and restore your volume settings.
494 </p>
495
496 </body>
497 </section>
498 </chapter>
499
500 <chapter>
501 <title>MIDI Support</title>
502 <section>
503 <title>Hardware Synthesizer</title>
504 <body>
505
506 <p>
507 Some sound cards (SBLive, Audigy, and others) come with onboard MIDI synthesizers.
508 To use them, you must first install the <c>awesfx</c> package.
509 </p>
510
511 <pre caption="Install awesfx">
512 # <i>emerge awesfx</i>
513 </pre>
514
515 <p>
516 Now, you should place your sound fonts in <path>/usr/share/sfbank/</path>. You
517 can probably get the sound fonts off of the windows driver CD for your sound card.
518 With the SBLive, one of the included sound font files is called 8MBGMSFX.SF2.
519 </p>
520
521 <note>
522 On some recents CD supplied with a SBLive, the font file is called CT4GMSFX.SF2.
523 If it is your case, please replace all occurrences of 8MBGMSFX.SF2 with
524 CT4GMSFX.SF2 in the examples.
525 </note>
526
527 <p>
528 After copying over the sound font you want to use, you need to select it for use
529 with <c>/usr/bin/sfxload</c>.
530 </p>
531
532 <pre caption="Selecting the sound font">
533 # <i>/usr/bin/sfxload /usr/share/sfbank/8MBGMSFX.SF2</i>
534 </pre>
535
536 <note>
537 You may wish to place this command in /etc/conf.d/local.start or in the startup
538 script for your sound card (/etc/alsa.d/emu10k1) to make sure it gets loaded
539 at startup.
540 </note>
541
542 </body>
543 </section>
544 <section>
545 <title>Timidity++ Virtual Synthesizer</title>
546 <body>
547
548 <p>
549 If your sound card does not come with a hardware synthesizer (or you don't
550 want to use it), you can use <c>timidity++</c> to provide you with a virtual
551 synthesizer. Start by emerging this package:
552 </p>
553
554 <pre caption="Installing Timidity++">
555 # <i>emerge timidity++</i>
556 </pre>
557
558 <p>
559 A sample configuration file will be installed for you in
560 <path>/usr/share/timitidy/config/timidity.cfg</path>. If you don't have a
561 timidity++ configuration setup yet, you can just use this one.
562 </p>
563
564 <pre caption="Use the default Timidity++ configuration file">
565 # <i>cp /usr/share/timidity/config/timidity.cfg /usr/share/timidity</i>
566 </pre>
567
568 <p>
569 Now, you need to enable the init script to run when your system boots
570 and enable it now.
571 </p>
572
573 <pre caption="Add timidity to default runlevel and start it now">
574 # <i>rc-update add timidity default</i>
575 # <i>/etc/init.d/timidity start</i>
576 </pre>
577
578 <p>
579 Note that there is a configuration file for the init script that you can
580 modify in <path>/etc/conf.d/timidity</path>, and sane defaults have been
581 chosen for you.
582 </p>
583
584 </body>
585 </section>
586 <section>
587 <title>Testing MIDI Support</title>
588 <body>
589
590 <p>
591 You can use <c>pmidi</c> to test out your MIDI configuration. To do so,
592 you need to first emerge its package.
593 </p>
594
595 <pre caption="Installing pmidi">
596 # <i>emerge pmidi</i>
597 </pre>
598
599 <p>
600 The '-l' command line option to pmidi will list all detected MIDI output ports,
601 and '-p' can be used to select the one for playback. Check to see what
602 MIDI output ports are available on your system:
603 </p>
604
605 <pre caption="Listed ports when using hardware synthesizer">
606 # <i>pmidi -l</i>
607 Port Client name Port name
608 64:0 Rawmidi 0 - EMU10K1 MPU-401 (U EMU10K1 MPU-401 (UART)
609 65:0 Emu10k1 WaveTable Emu10k1 Port 0
610 65:1 Emu10k1 WaveTable Emu10k1 Port 1
611 65:2 Emu10k1 WaveTable Emu10k1 Port 2
612 65:3 Emu10k1 WaveTable Emu10k1 Port 3
613 </pre>
614
615 <pre caption="Listed ports when using Timidity++">
616 # <i>pmidi -l</i>
617 Port Client name Port name
618 64:0 Rawmidi 0 - ES1371 ES1371
619 128:0 TiMidity TiMidity port 0
620 128:1 TiMidity TiMidity port 1
621 128:2 TiMidity TiMidity port 2
622 128:3 TiMidity TiMidity port 3
623 </pre>
624
625 <p>
626 Now, try playing a MIDI file to make sure everything works:
627 </p>
628
629 <pre caption="Play a song">
630 # <i>pmidi -p 65:0 Final\ Fantasy\ 7\ -\ Aerith\'s\ Theme.mid</i>
631 or
632 # <i>pmidi -p 128:0 Final\ Fantasy\ 7\ -\ Aerith\'s\ Theme.mid</i>
633 </pre>
634
635 </body>
636 </section>
637 </chapter>
638
639 <chapter>
640 <title>Final Notes</title>
641 <section>
642 <title>After kernel-upgrades...</title>
643 <body>
644
645 <p>
646 When you ever rebuild your kernel, or upgrade to another kernel, you'll have to
647 rebuild the ALSA modules.
648 </p>
649
650 <p>
651 Although you might have installed <c>alsa-driver</c>, <c>alsa-lib</c> and
652 <c>alsa-utils</c>, only the first will have to be installed again, since it will
653 put the alsa modules in <path>/lib/modules/*/kernel/sound/pci/</path>.
654 </p>
655
656 <pre caption="Needed after each kernel compile">
657 # <i>emerge alsa-driver</i>
658 </pre>
659
660 </body>
661 </section>
662 <section>
663 <title>alsa-tools and alsa-firmware</title>
664 <body>
665
666 <p>
667 The alsa-tools and alsa-firmware packages contain tools useful to only users of
668 specific sound cards. Most users will not need these. If you do need alsa-tools,
669 you can set the environment variable 'ALSA_TOOLS' to install just the needed tools
670 for your card:
671 </p>
672
673 <pre caption="Installing alsa-tools">
674 # <i>env ALSA_TOOLS='as10k1 ac3dec' emerge alsa-tools</i>
675 </pre>
676
677 </body>
678 </section>
679 <section>
680 <title>Mixing versions</title>
681 <body>
682
683 <p>
684 Often times, different versions of <c>alsa-driver</c>, <c>alsa-lib</c>,
685 <c>alsa-utils</c>, <c>alsa-tools</c>, and <c>alsa-oss</c> will work with each
686 other, but it is recommended that you try to keep the versions in sync.
687 </p>
688
689 </body>
690 </section>
691 <section>
692 <title>/etc/modules.autoload</title>
693 <body>
694
695 <p>
696 You won't have to edit this file for use with ALSA. After doing <c>rc-update add
697 alsasound boot</c>, the correct modules will be loaded at startup.
698 </p>
699
700 <!--
701 <p>
702 It's not necessary to add <c>snd-pcm-oss</c> or <c>snd-mixer-oss</c> in this
703 file. Check the <uri link="http://www.djcj.org/LAU/guide/alsbook/faq1.html">this
704 FAQ</uri> for more info.
705 </p>
706 -->
707
708 </body>
709 </section>
710 <section>
711 <title>Known bugs</title>
712 <body>
713
714 <note>
715 This guide lags behind on the alsa-development. Chances are these bugs
716 are already fixed when you read this.
717 </note>
718
719 <ul>
720 <li>
721 If you have <b>lots of noise</b> when using <b>oss</b> emulation, add
722 <e>options snd-pcm-oss dsp_map=1</e> to <path>/etc/modules.d/alsa</path>
723 </li>
724 </ul>
725
726 </body>
727 </section>
728 <section>
729 <title>Activating Joystick Support</title>
730 <body>
731
732 <p>
733 If your soundcard has a joystick plug, you might be interested in activating
734 joystick support for your soundcard. If so, start by verifying if your soundcard
735 driver has a joystick parameter. You can verify this by running <c>modinfo</c>
736 against your <path>snd-&lt;your chipset&gt;</path>. For instance, for the
737 <c>snd-via82xx</c>:
738 </p>
739
740 <pre caption="Running modinfo">
741 # <i>modinfo snd-via82xx</i>
742 filename: /lib/modules/2.4.22-ck2/snd-via82xx.o
743 description: "VIA VT82xx audio"
744 author: "Jaroslav Kysela &lt;perex@suse.cz&gt;"
745 license: "GPL"
746 parm: index int array (min = 1, max = 8), description "Index value for VIA 82xx bridge."
747 parm: id string array (min = 1, max = 8), description "ID string for VIA 82xx bridge."
748 parm: enable int array (min = 1, max = 8), description "Enable audio part of VIA 82xx bridge."
749 parm: mpu_port long array (min = 1, max = 8), description "MPU-401 port. (VT82C686x only)"
750 <i>parm: joystick int array (min = 1, max = 8), description "Enable joystick. (VT82C686x only)"</i>
751 parm: ac97_clock int array (min = 1, max = 8), description "AC'97 codec clock (default 48000Hz)."
752 parm: dxs_support int array (min = 1, max = 8), description "Support for DXS channels
753 (0 = auto, 1 = enable, 2 = disable, 3 = 48k only, 4 = no VRA)"
754 </pre>
755
756 <p>
757 If it has the <c>joystick</c> parameter, then append <c>joystick=1</c> to your
758 <c>options</c> line in <path>/etc/modules.d/alsa</path>. For instance, for the
759 <c>snd-via82xx</c>:
760 </p>
761
762 <pre caption="Adding the joystick parameter">
763 alias snd-card-0 snd-via82xx
764 options snd-via82xx joystick=1
765 </pre>
766
767 </body>
768 </section>
769 <section>
770 <title>More links...</title>
771 <body>
772
773 <p>
774 You could check these for additional info:
775 </p>
776
777 <ul>
778 <li>
779 <uri link="http://www.gentoo.org/doc/en/desktop.xml">The Gentoo Linux
780 Desktop Configuration Guide</uri>
781 </li>
782 <li>
783 <uri link="http://www.alsa-project.org">ALSA Project Homepage</uri>
784 </li>
785 <li>
786 <uri link="http://www.alsa-project.org/documentation.php3">ALSA Users
787 Documentation</uri>
788 </li>
789 <li>
790 <uri link="http://www.djcj.org">ALSA Howto's and FAQ's</uri>
791 </li>
792 <li>
793 <uri link="http://tldp.org/HOWTO/Sound-HOWTO/index.html">Linux Sound
794 HOWTO</uri>
795 </li>
796 <li>
797 <uri link="http://linux-sound.org/">Sound and MIDI Software For Linux</uri>
798 </li>
799 </ul>
800
801 </body>
802 </section>
803 </chapter>
804 </guide>

  ViewVC Help
Powered by ViewVC 1.1.20