/[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.27 - (show annotations) (download) (as text)
Tue Mar 2 21:03:53 2004 UTC (10 years, 5 months ago) by aaby
Branch: MAIN
Changes since 1.26: +2 -2 lines
File MIME type: application/xml
corrected small error, diff:
@@ -265,7 +265,7 @@
 </pre>

 <note>
-2.6 kernels require alsa-driver to be atl east version 1.0.2c.
+2.6 kernels require alsa-driver to be at least version 1.0.2c.
 </note>

1 <?xml version='1.0' encoding="UTF-8"?>
2 <!-- $Header: /home/cvsroot/gentoo/xml/htdocs/doc/en/alsa-guide.xml,v 1.26 2004/02/23 14:17:05 erwin 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.0</version>
44 <date>February 22, 2003</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 <i>alsa-oss</i>, 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 neccessary sound drivers
416 for your card (including the OSS support drivers if you set USE=oss). The first
417 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 <p>
522 After copying over the sound font you want to use, you need to select it for use
523 with <c>/usr/bin/sfxload</c>.
524 </p>
525
526 <pre caption="Selecting the sound font">
527 # <i>/usr/bin/sfxload /usr/share/sfbank/8MBGMSFX.SF2</i>
528 </pre>
529
530 <note>
531 You may wish to place this command in /etc/conf.d/local.start or in the startup
532 script for your sound card (/etc/alsa.d/emu10k1) to make sure it gets loaded
533 at startup.
534 </note>
535
536 </body>
537 </section>
538 <section>
539 <title>Timidity++ Virtual Synthesizer</title>
540 <body>
541
542 <p>
543 If your sound card does not come with a hardware synthesizer (or you don't
544 want to use it), you can use <c>timidity++</c> to provide you with a virtual
545 synthesizer. Start by emerging this package:
546 </p>
547
548 <pre caption="Installing Timidity++">
549 # <i>emerge timidity++</i>
550 </pre>
551
552 <p>
553 A sample configuration file will be installed for you in
554 <path>/usr/share/timitidy/config/timidity.cfg</path>. If you don't have a
555 timidity++ configuration setup yet, you can just use this one.
556 </p>
557
558 <pre caption="Use the default Timidity++ configuration file">
559 # <i>cp /usr/share/timitidy/config/timidity.cfg /usr/share/timidity</i>
560 </pre>
561
562 <p>
563 Now, you need to enable the init script to run when your system boots
564 and enable it now.
565 </p>
566
567 <pre caption="Add timidity to default runlevel and start it now">
568 # <i>rc-update add timidity default</i>
569 # <i>/etc/init.d/timidity start</i>
570 </pre>
571
572 <p>
573 Note that there is a configuration file for the init script that you can
574 modify in <path>/etc/conf.d/timidity</path>, and sane defaults have been
575 chosen for you.
576 </p>
577
578 </body>
579 </section>
580 <section>
581 <title>Testing MIDI Support</title>
582 <body>
583
584 <p>
585 You can use <c>pmidi</c> to test out your MIDI configuration. To do so,
586 you need to first emerge its package.
587 </p>
588
589 <pre caption="Installing pmidi">
590 # <i>emerge pmidi</i>
591 </pre>
592
593 <p>
594 The '-l' command line option to pmidi will list all detected MIDI output ports,
595 and '-p' can be used to select the one for playback. Check to see what
596 MIDI output ports are available on your system:
597 </p>
598
599 <pre caption="Listed ports when using hardware sythisizer">
600 # <i>pmidi -l</i>
601 Port Client name Port name
602 64:0 Rawmidi 0 - EMU10K1 MPU-401 (U EMU10K1 MPU-401 (UART)
603 65:0 Emu10k1 WaveTable Emu10k1 Port 0
604 65:1 Emu10k1 WaveTable Emu10k1 Port 1
605 65:2 Emu10k1 WaveTable Emu10k1 Port 2
606 65:3 Emu10k1 WaveTable Emu10k1 Port 3
607 </pre>
608
609 <pre caption="Listed ports when using Timidity++">
610 # <i>pmidi -l</i>
611 Port Client name Port name
612 64:0 Rawmidi 0 - ES1371 ES1371
613 128:0 TiMidity TiMidity port 0
614 128:1 TiMidity TiMidity port 1
615 128:2 TiMidity TiMidity port 2
616 128:3 TiMidity TiMidity port 3
617 </pre>
618
619 <p>
620 Now, try playing a MIDI file to make sure everything works:
621 </p>
622
623 <pre caption="Play a song">
624 # <i>pmidi -p 65:0 Final\ Fantasy\ 7\ -\ Aerith\'s\ Theme.mid</i>
625 or
626 # <i>pmidi -p 128:0 Final\ Fantasy\ 7\ -\ Aerith\'s\ Theme.mid</i>
627 </pre>
628
629 </body>
630 </section>
631 </chapter>
632
633 <chapter>
634 <title>Final Notes</title>
635 <section>
636 <title>After kernel-upgrades...</title>
637 <body>
638
639 <p>
640 When you ever rebuild your kernel, or upgrade to another kernel, you'll have to
641 rebuild the ALSA modules.
642 </p>
643
644 <p>
645 Although you might have installed <c>alsa-driver</c>, <c>alsa-lib</c> and
646 <c>alsa-utils</c>, only the first will have to be installed again, since it will
647 put the alsa modules in <path>/lib/modules/*/kernel/sound/pci/</path>.
648 </p>
649
650 <pre caption="Needed after each kernel compile">
651 # <i>emerge alsa-driver</i>
652 </pre>
653
654 </body>
655 </section>
656 <section>
657 <title>alsa-tools and alsa-firmware</title>
658 <body>
659
660 <p>
661 The alsa-tools and alsa-firmware packages contain tools useful to only users of
662 specific sound cards. Most users will not need these. If you do need alsa-tools,
663 you can set the environment variable 'ALSA_TOOLS' to install just the needed tools
664 for your card:
665 </p>
666
667 <pre caption="Installing alsa-tools">
668 # <i>env ALSA_TOOLS='as10k1 ac3dec' emerge alsa-tools</i>
669 </pre>
670
671 </body>
672 </section>
673 <section>
674 <title>Mixing versions</title>
675 <body>
676
677 <p>
678 Often times, different versions of <c>alsa-driver</c>, <c>alsa-lib</c>,
679 <c>alsa-utils</c>, <c>alsa-tools</c>, and <c>alsa-oss</c> will work with each
680 other, but it is recommended that you try to keep the versions in sync.
681 </p>
682
683 </body>
684 </section>
685 <section>
686 <title>/etc/modules.autoload</title>
687 <body>
688
689 <p>
690 You won't have to edit this file for use with ALSA. After doing <c>rc-update add
691 alsasound boot</c>, the correct modules will be loaded at startup.
692 </p>
693
694 <!--
695 <p>
696 It's not necessary to add <c>snd-pcm-oss</c> or <c>snd-mixer-oss</c> in this
697 file. Check the <uri link="http://www.djcj.org/LAU/guide/alsbook/faq1.html">this
698 FAQ</uri> for more info.
699 </p>
700 -->
701
702 </body>
703 </section>
704 <section>
705 <title>Known bugs</title>
706 <body>
707
708 <note>
709 This guide lags behind on the alsa-development. Chances are these bugs
710 are already fixed when you read this.
711 </note>
712
713 <ul>
714 <li>
715 If you have <b>lots of noise</b> when using <b>oss</b> emulation, add
716 <e>options snd-pcm-oss dsp_map=1</e> to <path>/etc/modules.d/alsa</path>
717 </li>
718 </ul>
719
720 </body>
721 </section>
722 <section>
723 <title>Activating Joystick Support</title>
724 <body>
725
726 <p>
727 If your soundcard has a joystick plug, you might be interested in activating
728 joystick support for your soundcard. If so, start by verifying if your soundcard
729 driver has a joystick parameter. You can verify this by running <c>modinfo</c>
730 against your <path>snd-&lt;your chipset&gt;</path>. For instance, for the
731 <c>snd-via82xx</c>:
732 </p>
733
734 <pre caption="Running modinfo">
735 # <i>modinfo snd-via82xx</i>
736 filename: /lib/modules/2.4.22-ck2/snd-via82xx.o
737 description: "VIA VT82xx audio"
738 author: "Jaroslav Kysela &lt;perex@suse.cz&gt;"
739 license: "GPL"
740 parm: index int array (min = 1, max = 8), description "Index value for VIA 82xx bridge."
741 parm: id string array (min = 1, max = 8), description "ID string for VIA 82xx bridge."
742 parm: enable int array (min = 1, max = 8), description "Enable audio part of VIA 82xx bridge."
743 parm: mpu_port long array (min = 1, max = 8), description "MPU-401 port. (VT82C686x only)"
744 <i>parm: joystick int array (min = 1, max = 8), description "Enable joystick. (VT82C686x only)"</i>
745 parm: ac97_clock int array (min = 1, max = 8), description "AC'97 codec clock (default 48000Hz)."
746 parm: dxs_support int array (min = 1, max = 8), description "Support for DXS channels
747 (0 = auto, 1 = enable, 2 = disable, 3 = 48k only, 4 = no VRA)"
748 </pre>
749
750 <p>
751 If it has the <c>joystick</c> parameter, then append <c>joystick=1</c> to your
752 <c>options</c> line in <path>/etc/modules.d/alsa</path>. For instance, for the
753 <c>snd-via82xx</c>:
754 </p>
755
756 <pre caption="Adding the joystick parameter">
757 alias snd-card-0 snd-via82xx
758 options snd-via82xx joystick=1
759 </pre>
760
761 </body>
762 </section>
763 <section>
764 <title>More links...</title>
765 <body>
766
767 <p>
768 You could check these for additional info:
769 </p>
770
771 <ul>
772 <li>
773 <uri link="http://www.gentoo.org/doc/en/desktop.xml">The Gentoo Linux
774 Desktop Configuration Guide</uri>
775 </li>
776 <li>
777 <uri link="http://www.alsa-project.org">ALSA Project Homepage</uri>
778 </li>
779 <li>
780 <uri link="http://www.alsa-project.org/documentation.php3">ALSA Users
781 Documentation</uri>
782 </li>
783 <li>
784 <uri link="http://www.djcj.org">ALSA Howto's and FAQ's</uri>
785 </li>
786 <li>
787 <uri link="http://tldp.org/HOWTO/Sound-HOWTO/index.html">Linux Sound
788 HOWTO</uri>
789 </li>
790 <li>
791 <uri link="http://linux-sound.org/">Sound and MIDI Software For Linux</uri>
792 </li>
793 </ul>
794
795 </body>
796 </section>
797 </chapter>
798 </guide>

  ViewVC Help
Powered by ViewVC 1.1.20