| 1 | <?xml version='1.0' encoding="UTF-8"?> |
1 | <?xml version='1.0' encoding="UTF-8"?> |
| 2 | <!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/alsa-guide.xml,v 1.66 2006/05/01 05:52:31 fox2mike Exp $ --> |
2 | <!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/alsa-guide.xml,v 1.71 2007/01/31 15:54:35 nightmorph Exp $ --> |
| 3 | |
3 | |
| 4 | <!DOCTYPE guide SYSTEM "/dtd/guide.dtd"> |
4 | <!DOCTYPE guide SYSTEM "/dtd/guide.dtd"> |
| 5 | |
5 | |
| 6 | <guide link="/doc/en/alsa-guide.xml"> |
6 | <guide link="/doc/en/alsa-guide.xml"> |
| 7 | <title>Gentoo Linux ALSA Guide</title> |
7 | <title>Gentoo Linux ALSA Guide</title> |
| 8 | |
8 | |
| 9 | <author title="Author"> |
9 | <author title="Author"> |
| 10 | <mail link="fox2mike@gentoo.org">Shyam Mani</mail> |
10 | <mail link="fox2mike@gentoo.org">Shyam Mani</mail> |
| 11 | </author> |
11 | </author> |
|
|
12 | <author title="Author"> |
|
|
13 | <mail link="nightmorph@gentoo.org">Joshua Saddler</mail> |
|
|
14 | </author> |
|
|
15 | <author title="Contributor"> |
|
|
16 | <mail link="flameeyes@gentoo.org">Diego Pettenò</mail> |
|
|
17 | </author> |
| 12 | |
18 | |
| 13 | <abstract> |
19 | <abstract> |
| 14 | This document helps a user setup ALSA on Gentoo Linux. |
20 | This document helps a user setup ALSA on Gentoo Linux. |
| 15 | </abstract> |
21 | </abstract> |
| 16 | |
22 | |
| 17 | <!-- The content of this document is licensed under the CC-BY-SA license --> |
23 | <!-- The content of this document is licensed under the CC-BY-SA license --> |
| 18 | <!-- See http://creativecommons.org/licenses/by-sa/2.5 --> |
24 | <!-- See http://creativecommons.org/licenses/by-sa/2.5 --> |
| 19 | <license/> |
25 | <license/> |
| 20 | |
26 | |
| 21 | <version>2.12</version> |
27 | <version>2.16</version> |
| 22 | <date>2006-05-01</date> |
28 | <date>2007-01-31</date> |
| 23 | |
29 | |
| 24 | <chapter> |
30 | <chapter> |
| 25 | <title>Introduction</title> |
31 | <title>Introduction</title> |
| 26 | <section> |
32 | <section> |
| 27 | <title>What is ALSA?</title> |
33 | <title>What is ALSA?</title> |
| … | |
… | |
| 74 | <p> |
80 | <p> |
| 75 | The two options are : |
81 | The two options are : |
| 76 | </p> |
82 | </p> |
| 77 | |
83 | |
| 78 | <ol> |
84 | <ol> |
| 79 | <li> |
85 | <li>Use ALSA provided by your kernel.</li> |
| 80 | Use ALSA provided by your kernel. This is the preferred/recommended |
|
|
| 81 | method. |
|
|
| 82 | </li> |
|
|
| 83 | <li> |
|
|
| 84 | Use Gentoo's <c>media-sound/alsa-driver</c> package. |
86 | <li>Use Gentoo's <c>media-sound/alsa-driver</c> package.</li> |
| 85 | </li> |
|
|
| 86 | </ol> |
87 | </ol> |
| 87 | |
88 | |
| 88 | <p> |
89 | <p> |
| 89 | We shall take a peek into both before finally deciding on one. |
90 | The in-kernel drivers and the <c>alsa-driver</c> package can vary a little; it's |
|
|
91 | possible that features and fixes found in one might not yet be incorporated into |
|
|
92 | the other. The upstream developers are aware of this, but the two drivers are |
|
|
93 | effectively separate branches of the ALSA project; they are not entirely |
|
|
94 | identical. You should be aware that they might function slightly differently, so |
|
|
95 | if one doesn't work for you, try the other! We shall take a peek into both |
|
|
96 | before finally deciding on one. |
| 90 | </p> |
97 | </p> |
| 91 | |
98 | |
| 92 | <p> |
99 | <p> |
| 93 | If you were to use ALSA provided by the kernel, the following are the pros and |
100 | If you were to use ALSA provided by the kernel, the following are the pros and |
| 94 | cons : |
101 | cons : |
| … | |
… | |
| 99 | <th>Kernel ALSA</th> |
106 | <th>Kernel ALSA</th> |
| 100 | <th>Pros and Cons</th> |
107 | <th>Pros and Cons</th> |
| 101 | </tr> |
108 | </tr> |
| 102 | <tr> |
109 | <tr> |
| 103 | <th>+</th> |
110 | <th>+</th> |
| 104 | <ti>Pretty stable as drivers are integrated into kernel.</ti> |
111 | <ti> |
|
|
112 | No need to emerge yet another package; drivers are integrated into kernel. |
|
|
113 | </ti> |
| 105 | </tr> |
114 | </tr> |
| 106 | <tr> |
115 | <tr> |
| 107 | <th>+</th> |
116 | <th>+</th> |
| 108 | <ti>One shot solution, no repeating emerges.</ti> |
117 | <ti>One shot solution, no repeating emerges.</ti> |
| 109 | </tr> |
118 | </tr> |
| 110 | <tr> |
119 | <tr> |
| 111 | <th>-</th> |
120 | <th>-</th> |
| 112 | <ti>Might be a slightly older version than <c>alsa-driver</c>.</ti> |
121 | <ti>Might be a slightly different version than <c>alsa-driver</c>.</ti> |
| 113 | </tr> |
122 | </tr> |
| 114 | </table> |
123 | </table> |
| 115 | |
124 | |
| 116 | <p> |
125 | <p> |
| 117 | And, if you were to use alsa-driver, |
126 | And, if you were to use alsa-driver, |
| … | |
… | |
| 122 | <th>alsa-driver</th> |
131 | <th>alsa-driver</th> |
| 123 | <th>Pros and Cons</th> |
132 | <th>Pros and Cons</th> |
| 124 | </tr> |
133 | </tr> |
| 125 | <tr> |
134 | <tr> |
| 126 | <th>+</th> |
135 | <th>+</th> |
| 127 | <ti>Latest drivers from the ALSA Project.</ti> |
136 | <ti>Possibly the latest drivers from the ALSA Project.</ti> |
|
|
137 | </tr> |
|
|
138 | <tr> |
|
|
139 | <th>+</th> |
|
|
140 | <ti>Useful if you intend to develop audio drivers.</ti> |
| 128 | </tr> |
141 | </tr> |
| 129 | <tr> |
142 | <tr> |
| 130 | <th>-</th> |
143 | <th>-</th> |
| 131 | <ti>Every kernel recompile requires a re-emerge of <c>alsa-driver</c>.</ti> |
144 | <ti>Every kernel recompile requires a re-emerge of <c>alsa-driver</c>.</ti> |
| 132 | </tr> |
145 | </tr> |
| … | |
… | |
| 141 | <section> |
154 | <section> |
| 142 | <title>So...</title> |
155 | <title>So...</title> |
| 143 | <body> |
156 | <body> |
| 144 | |
157 | |
| 145 | <p> |
158 | <p> |
| 146 | The main difference between using <c>alsa-driver</c> and ALSA that comes with |
159 | The differences between <c>alsa-driver</c> and the in-kernel ALSA drivers are |
| 147 | the kernel is that <c>alsa-driver</c> is generally more up to date than the |
160 | quite subtle, as mentioned earlier. Since there are not any huge differences, |
| 148 | version in the kernel. Since this does not make any huge difference as |
161 | this guide will go through the process of using the ALSA provided by the kernel |
| 149 | such, you are encouraged to use the ALSA provided by the kernel for ease of use. |
162 | <e>first</e> for ease of use. However, if you run into problems, try switching |
| 150 | Before reporting any sound related issues to <uri |
163 | to <c>alsa-driver</c>. Before reporting any sound related issues to <uri |
| 151 | link="https://bugs.gentoo.org">Gentoo Bugzilla</uri>, please try to reproduce |
164 | link="https://bugs.gentoo.org">Gentoo Bugzilla</uri>, please try to reproduce |
| 152 | them using <c>alsa-driver</c> and file the bug report no matter what the |
165 | them using <c>alsa-driver</c> and file the bug report no matter what the |
| 153 | result. |
166 | result. |
| 154 | </p> |
167 | </p> |
| 155 | |
168 | |
| … | |
… | |
| 208 | <c>emu10k1</c> module. That is the information we need for now. If you are |
221 | <c>emu10k1</c> module. That is the information we need for now. If you are |
| 209 | interested in detailed information, you can click on the link next to the |
222 | interested in detailed information, you can click on the link next to the |
| 210 | "Details" and that will take you to the <c>emu10k1</c> specific page. |
223 | "Details" and that will take you to the <c>emu10k1</c> specific page. |
| 211 | </p> |
224 | </p> |
| 212 | |
225 | |
|
|
226 | <p> |
|
|
227 | If you intend to use MIDI, then you should add <c>midi</c> to your USE flags in |
|
|
228 | <path>/etc/make.conf</path> before emerging any ALSA packages. Later in the |
|
|
229 | guide, we will show you how to set up <uri link="#midi">MIDI support</uri>. |
|
|
230 | </p> |
|
|
231 | |
|
|
232 | <pre caption="MIDI support in /etc/make.conf"> |
|
|
233 | <comment>(If you want MIDI support)</comment> |
|
|
234 | USE="midi" |
|
|
235 | |
|
|
236 | <comment>(If you don't need MIDI)</comment> |
|
|
237 | USE="-midi" |
|
|
238 | </pre> |
|
|
239 | |
| 213 | </body> |
240 | </body> |
| 214 | </section> |
241 | </section> |
| 215 | <section id="kernel"> |
242 | <section id="kernel"> |
| 216 | <title>Using ALSA provided by your Kernel</title> |
243 | <title>Using ALSA provided by your Kernel</title> |
| 217 | <body> |
244 | <body> |
| … | |
… | |
| 252 | Now we will look at some of the options we will have to enable in the 2.6 |
279 | Now we will look at some of the options we will have to enable in the 2.6 |
| 253 | kernel to ensure proper ALSA support for our sound card. |
280 | kernel to ensure proper ALSA support for our sound card. |
| 254 | </p> |
281 | </p> |
| 255 | |
282 | |
| 256 | <p> |
283 | <p> |
| 257 | Please note that for the sake of ease, all examples show ALSA built as modules. |
284 | Please note that for ease of use, all examples show ALSA built as modules. It |
| 258 | It is advisable to follow the same as it then allows the use of <c>alsaconf</c> |
285 | is advisable to follow the same as it then allows the use of <c>alsaconf</c> |
| 259 | which is a boon when you want to configure your card. Please do <e>not</e> skip |
286 | which is a boon when you want to configure your card. Please do <e>not</e> skip |
| 260 | the <uri link="#alsa-config">Configuration</uri> section of this document. If |
287 | the <uri link="#alsa-config">Configuration</uri> section of this document. If |
| 261 | you still like to have options built-in, ensure that you make changes to your |
288 | you still like to have options built-in, ensure that you make changes to your |
| 262 | config accordingly. |
289 | config accordingly. |
| 263 | </p> |
290 | </p> |
| … | |
… | |
| 391 | <pre caption="Installing alsa-driver"> |
418 | <pre caption="Installing alsa-driver"> |
| 392 | # <i>emerge alsa-driver</i> |
419 | # <i>emerge alsa-driver</i> |
| 393 | </pre> |
420 | </pre> |
| 394 | |
421 | |
| 395 | <impo> |
422 | <impo> |
| 396 | Please note that you will have to run <c>emerge alsa-driver</c> after every |
423 | Please note that you will have to run <c>emerge alsa-driver</c> after every |
| 397 | kernel (re)compile, as the earlier drivers are deleted. |
424 | kernel (re)compile, as the earlier drivers are deleted. To make this task |
|
|
425 | easier, you may want to emerge the <c>module-rebuild</c> package, which will |
|
|
426 | keep track of module packages and rebuild them for you. First run <c>module |
|
|
427 | rebuild populate</c> to create the list, and then after every kernel |
|
|
428 | (re)compile, you just run <c>module-rebuild rebuild</c>, and your external |
|
|
429 | modules will be rebuilt. |
| 398 | </impo> |
430 | </impo> |
| 399 | |
431 | |
| 400 | </body> |
432 | </body> |
| 401 | </section> |
433 | </section> |
| 402 | </chapter> |
434 | </chapter> |
| … | |
… | |
| 429 | </section> |
461 | </section> |
| 430 | <section id="alsa-config"> |
462 | <section id="alsa-config"> |
| 431 | <title>Configuration</title> |
463 | <title>Configuration</title> |
| 432 | <body> |
464 | <body> |
| 433 | |
465 | |
|
|
466 | <p> |
|
|
467 | Recent versions of <c>udev</c> (<c>>=udev-103</c>) provide some degree of |
|
|
468 | kernel-level autoconfiguration of your sound card. If possible, try to rely on |
|
|
469 | just letting your kernel automatically setup your sound card for you. Otherwise, |
|
|
470 | use <c>alsaconf</c> to configure your card, as shown below. |
|
|
471 | </p> |
|
|
472 | |
| 434 | <note> |
473 | <note> |
| 435 | Please shut down any programs that <e>might</e> access the sound card while |
474 | Please shut down any programs that <e>might</e> access the sound card while |
| 436 | running <c>alsaconf</c>. |
475 | running <c>alsaconf</c>. |
| 437 | </note> |
476 | </note> |
| 438 | |
477 | |
| 439 | <p> |
478 | <p> |
| 440 | The easiest way to configure your sound card is to run <c>alsaconf</c>. Just |
479 | Another way to configure your sound card is to run <c>alsaconf</c>. Just type |
| 441 | type <c>alsaconf</c> in a shell as root. |
480 | <c>alsaconf</c> in a shell as root. |
| 442 | </p> |
481 | </p> |
| 443 | |
482 | |
| 444 | <pre caption="Invoking alsaconf"> |
483 | <pre caption="Invoking alsaconf"> |
| 445 | # <i>alsaconf</i> |
484 | # <i>alsaconf</i> |
| 446 | </pre> |
485 | </pre> |
| … | |
… | |
| 509 | <section> |
548 | <section> |
| 510 | <title>Volume Check!</title> |
549 | <title>Volume Check!</title> |
| 511 | <body> |
550 | <body> |
| 512 | |
551 | |
| 513 | <p> |
552 | <p> |
| 514 | We've completed all the setups and pre-requisites, so let's fire up ALSA. If |
553 | We've completed all the setups and prerequisites, so let's fire up ALSA. If |
| 515 | you ran <c>alsaconf</c>, you can skip this step, since <c>alsaconf</c> already |
554 | you ran <c>alsaconf</c>, you can skip this step, since <c>alsaconf</c> already |
| 516 | does this for you. |
555 | does this for you. |
| 517 | </p> |
556 | </p> |
| 518 | |
557 | |
| 519 | <pre caption="Start the service"> |
558 | <pre caption="Start the service"> |
| 520 | <comment>(ALSA as modules)</comment> |
|
|
| 521 | # <i>/etc/init.d/alsasound start</i> |
559 | # <i>/etc/init.d/alsasound start</i> |
| 522 | * Loading ALSA modules ... |
|
|
| 523 | * Loading: snd-card-0 ... [ ok ] |
|
|
| 524 | * Loading: snd-pcm-oss ... [ ok ] |
|
|
| 525 | * Loading: snd-seq ... [ ok ] |
|
|
| 526 | * Loading: snd-emu10k1-synth ... [ ok ] |
|
|
| 527 | * Loading: snd-seq-midi ... [ ok ] |
|
|
| 528 | * Restoring Mixer Levels ... [ ok ] |
|
|
| 529 | <comment>(ALSA compiled in)</comment> |
|
|
| 530 | # <i>/etc/init.d/alsasound start</i> |
|
|
| 531 | * Loading ALSA modules ... |
|
|
| 532 | * Restoring Mixer Levels ... [ ok ] |
|
|
| 533 | </pre> |
560 | </pre> |
| 534 | |
561 | |
| 535 | <p> |
562 | <p> |
| 536 | Now that the required things have been taken care of, we need to check up on |
563 | Now that the required things have been taken care of, we need to check up on |
| 537 | the volume as in certain cases, it is muted. We use <c>alsamixer</c> for this |
564 | the volume as in certain cases, it is muted. We use <c>alsamixer</c> for this |
| … | |
… | |
| 606 | |
633 | |
| 607 | <p> |
634 | <p> |
| 608 | Finally. Some music. If everything above is perfect, you should now be able to |
635 | Finally. Some music. If everything above is perfect, you should now be able to |
| 609 | listen to some good music. A quick way to test is to use a command line tool |
636 | listen to some good music. A quick way to test is to use a command line tool |
| 610 | like <c>media-sound/madplay</c>. You could also use something more well known |
637 | like <c>media-sound/madplay</c>. You could also use something more well known |
| 611 | like <c>mpg123</c> or <c>xmms</c>. If you are an ogg fan, you could use |
638 | like <c>mpg123</c>. If you are an ogg fan, you could use <c>ogg123</c> provided |
| 612 | <c>ogg123</c> provided by <c>media-sound/vorbis-tools</c>. Use any player you |
639 | by <c>media-sound/vorbis-tools</c>. Use any player you are comfortable with. As |
| 613 | are comfortable with. As always, <c>emerge</c> what you need. |
640 | always, <c>emerge</c> what you need. |
| 614 | </p> |
641 | </p> |
| 615 | |
642 | |
| 616 | <pre caption="Getting the software"> |
643 | <pre caption="Getting the software"> |
| 617 | <comment>(Install the applications you want)</comment> |
644 | <comment>(Install the applications you want)</comment> |
| 618 | # <i>emerge madplay mpg123 xmms</i> |
645 | # <i>emerge madplay mpg123</i> |
| 619 | <comment>(To play .ogg files)</comment> |
646 | <comment>(To play .ogg files)</comment> |
| 620 | # <i>emerge vorbis-tools</i> |
647 | # <i>emerge vorbis-tools</i> |
| 621 | </pre> |
648 | </pre> |
| 622 | |
649 | |
| 623 | <p> |
650 | <p> |
| … | |
… | |
| 783 | directory after you unmerge <c>alsa-driver</c>. Be sure to remove the correct |
810 | directory after you unmerge <c>alsa-driver</c>. Be sure to remove the correct |
| 784 | kernel version and not the current one! |
811 | kernel version and not the current one! |
| 785 | </p> |
812 | </p> |
| 786 | |
813 | |
| 787 | <pre caption="Removing the alsa-driver modules"> |
814 | <pre caption="Removing the alsa-driver modules"> |
| 788 | <comment>(Replace KERNELVER with your kernel version)</comment> |
|
|
| 789 | # <i>rm -rf /lib/modules/KERNELVER/alsa-driver</i> |
815 | # <i>rm -rf /lib/modules/$(uname -r)/alsa-driver</i> |
| 790 | </pre> |
816 | </pre> |
| 791 | |
817 | |
| 792 | <p> |
818 | <p> |
| 793 | Another reason for error messages similar to the ones above could be a file in |
819 | Another reason for error messages similar to the ones above could be a file in |
| 794 | <path>/etc/modules.d</path> supplying a <c>device_node</c> parameter when it |
820 | <path>/etc/modules.d</path> supplying a <c>device_mode</c> parameter when it |
| 795 | isn't required. Confirm that this is indeed the issue and find out which file |
821 | isn't required. Confirm that this is indeed the issue and find out which file |
| 796 | is the culprit. |
822 | is the culprit. |
| 797 | </p> |
823 | </p> |
| 798 | |
824 | |
| 799 | <pre caption="Confirming and searching for device_node"> |
825 | <pre caption="Confirming and searching for device_mode"> |
| 800 | <comment>(Check dmesg to confirm)</comment> |
826 | <comment>(Check dmesg to confirm)</comment> |
| 801 | # <i>dmesg | grep device_mode</i> |
827 | # <i>dmesg | grep device_mode</i> |
| 802 | snd: Unknown parameter `device_mode' |
828 | snd: Unknown parameter `device_mode' |
| 803 | <comment>(Now, to get to the source of the issue)</comment> |
829 | <comment>(Now, to get to the source of the issue)</comment> |
| 804 | # <i>grep device_mode /etc/modules.d/*</i> |
830 | # <i>grep device_mode /etc/modules.d/*</i> |
| … | |
… | |
| 814 | </section> |
840 | </section> |
| 815 | </chapter> |
841 | </chapter> |
| 816 | |
842 | |
| 817 | <chapter> |
843 | <chapter> |
| 818 | <title>Other things ALSA</title> |
844 | <title>Other things ALSA</title> |
| 819 | <section> |
845 | <section id="midi"> |
| 820 | <title>Setting up MIDI support</title> |
846 | <title>Setting up MIDI support</title> |
| 821 | <body> |
847 | <body> |
|
|
848 | |
|
|
849 | <p> |
|
|
850 | First, check to make sure that you enabled the <c>midi</c> USE flag in |
|
|
851 | <path>/etc/make.conf</path>. |
|
|
852 | </p> |
|
|
853 | |
|
|
854 | <pre caption="MIDI support in /etc/make.conf"> |
|
|
855 | USE="midi" |
|
|
856 | </pre> |
|
|
857 | |
|
|
858 | <p> |
|
|
859 | If you didn't previously enable <c>midi</c>, go ahead and add it to |
|
|
860 | <path>/etc/make.conf</path> now. You will also need to re-emerge any ALSA |
|
|
861 | packages that use the <c>midi</c> flag, such as <c>alsa-lib</c>, |
|
|
862 | <c>alsa-utils</c>, and <c>alsa-driver</c>. |
|
|
863 | </p> |
| 822 | |
864 | |
| 823 | <p> |
865 | <p> |
| 824 | If your sound card is one of those that come with on-board MIDI synthesizers |
866 | If your sound card is one of those that come with on-board MIDI synthesizers |
| 825 | and you would like to listen to some .mid files, you have to install |
867 | and you would like to listen to some .mid files, you have to install |
| 826 | <c>awesfx</c> which is basically a set of utilities for controlling the AWE32 |
868 | <c>awesfx</c> which is basically a set of utilities for controlling the AWE32 |
| … | |
… | |
| 894 | <pre caption="Installing timidity++"> |
936 | <pre caption="Installing timidity++"> |
| 895 | # <i>emerge timidity++</i> |
937 | # <i>emerge timidity++</i> |
| 896 | </pre> |
938 | </pre> |
| 897 | |
939 | |
| 898 | <p> |
940 | <p> |
| 899 | For timidity to play sounds, it needs a sound font. If you do not have any, |
941 | For timidity to play sounds, it needs a sound font. Fortunately, the ebuild will |
| 900 | install <c>timidity-eawpatches</c> or <c>timidity-shompatches</c> which will |
942 | install some sound font packages for you. There are a few other font packages |
| 901 | give you some sound fonts. You can have multiple sound font configurations |
943 | available in Portage, such as <c>timidity-freepats</c> and |
|
|
944 | <c>timidity-eawpatches</c>. You can have multiple sound font configurations |
| 902 | installed, and you can place your own in <path>/usr/share/timidity/</path>. |
945 | installed, and you can place your own in <path>/usr/share/timidity/</path>. To |
| 903 | To switch between different timidity configurations, you should use the |
946 | switch between different timidity configurations, you should use the |
| 904 | <c>timidity-update</c> tool provided in the timidity++ package. |
947 | <c>timidity-update</c> tool provided in the timidity++ package. In later |
|
|
948 | versions of timidity, <c>eselect</c> is used to switch configurations. |
| 905 | </p> |
949 | </p> |
| 906 | |
950 | |
| 907 | <pre caption="Installing sound fonts"> |
951 | <pre caption="Changing configurations"> |
| 908 | # <i>emerge timidity-eawpatches</i> |
952 | <comment>(replace eawpatches with the name of your sound font package)</comment> |
| 909 | # <i>timidity-update -g -s eawpatches</i> |
953 | # <i>timidity-update -g -s eawpatches</i> |
| 910 | |
954 | |
| 911 | <comment>(or)</comment> |
955 | <comment>(Use eselect if you have installed >=timidity-2.13.2-r3)</comment> |
| 912 | |
956 | # <i>eselect timidity list</i> |
| 913 | # <i>emerge timidity-shompatches</i> |
957 | # <i>eselect timidity set eawpatches</i> |
| 914 | # <i>timidity-update -g -s shompatches</i> |
|
|
| 915 | </pre> |
958 | </pre> |
| 916 | |
959 | |
| 917 | <p> |
960 | <p> |
| 918 | Don't forget to add <c>timidity</c> to the default runlevel. |
961 | Don't forget to add <c>timidity</c> to the default runlevel. |
| 919 | </p> |
962 | </p> |
| … | |
… | |
| 933 | <title>Tools and Firmware</title> |
976 | <title>Tools and Firmware</title> |
| 934 | <body> |
977 | <body> |
| 935 | |
978 | |
| 936 | <p> |
979 | <p> |
| 937 | Some specific sound cards can benefit from certain tools provided by the |
980 | Some specific sound cards can benefit from certain tools provided by the |
| 938 | <c>alsa-tools</c> and <c>alsa-firmware</c> packages. If you need |
981 | <c>alsa-tools</c> and <c>alsa-firmware</c> packages. You may install either with |
| 939 | <c>alsa-tools</c>, be sure to define the ALSA_TOOLS variable in |
982 | a simple <c>emerge</c>. |
| 940 | <path>/etc/make.conf</path> with the tools you require. For instance: |
|
|
| 941 | </p> |
|
|
| 942 | |
|
|
| 943 | <pre caption="Selecting ALSA Tools in /etc/make.conf"> |
|
|
| 944 | ALSA_TOOLS="as10k1 ac3dec" |
|
|
| 945 | </pre> |
|
|
| 946 | |
|
|
| 947 | <p> |
|
|
| 948 | If the ALSA_TOOLS variable is not set, all available tools will be built. |
|
|
| 949 | Now, install the <c>alsa-tools</c> (and/or <c>alsa-firmware</c>) package(s): |
|
|
| 950 | </p> |
983 | </p> |
| 951 | |
984 | |
| 952 | <pre caption="Installing ALSA Tools"> |
985 | <pre caption="Installing ALSA Tools"> |
| 953 | # <i>emerge alsa-tools</i> |
986 | # <i>emerge alsa-tools</i> |
| 954 | </pre> |
987 | </pre> |
| 955 | |
988 | |
| 956 | </body> |
989 | </body> |
| 957 | </section> |
990 | </section> |
| 958 | <section> |
991 | <section> |
|
|
992 | <title>Multiple sound cards</title> |
|
|
993 | <body> |
|
|
994 | |
|
|
995 | <p> |
|
|
996 | You can more than one sound card in your system simultaneously, provided that |
|
|
997 | you have built ALSA as modules in your kernel (or have installed |
|
|
998 | <c>alsa-driver</c> instead). You just need to specify which should be started |
|
|
999 | first in <path>/etc/modules.d/alsa</path>. Your cards are identified by their |
|
|
1000 | driver names inside this file. 0 is the first card, 1 is the second, and so on. |
|
|
1001 | Here's an example for a system with two sound cards. |
|
|
1002 | </p> |
|
|
1003 | |
|
|
1004 | <pre caption="Two sound cards in /etc/modules.d/alsa"> |
|
|
1005 | options snd-emu10k1 index=0 |
|
|
1006 | options snd-via82xx index=1 |
|
|
1007 | </pre> |
|
|
1008 | |
|
|
1009 | <p> |
|
|
1010 | Or, if you have two cards that use the same driver, you specify them on the same |
|
|
1011 | line, using comma-separated numbers. Here's an example for a system with three |
|
|
1012 | sound cards, two of which are the same Intel High Definition Audio card. |
|
|
1013 | </p> |
|
|
1014 | |
|
|
1015 | <pre caption="Multiple sound cards in /etc/modules.d/alsa"> |
|
|
1016 | options snd-ymfpci index=0 |
|
|
1017 | options snd-hda-intel index=1,2 |
|
|
1018 | </pre> |
|
|
1019 | |
|
|
1020 | </body> |
|
|
1021 | </section> |
|
|
1022 | <section> |
|
|
1023 | <title>Plugins</title> |
|
|
1024 | <body> |
|
|
1025 | |
|
|
1026 | <p> |
|
|
1027 | You may want to install some plugins for extra functionality. |
|
|
1028 | <c>alsa-plugins</c> is a collection of useful plugins, which include: PulseAudio |
|
|
1029 | output, a sample rate converter, jack (a low-latency audio server), and an |
|
|
1030 | encoder that lets you output 6-channel audio through digital S/PDIF connections |
|
|
1031 | (both optical and coaxial). You can choose which of its plugins you want |
|
|
1032 | installed by adding their USE flags to <path>/etc/portage/package.use</path>. |
|
|
1033 | </p> |
|
|
1034 | |
|
|
1035 | <pre caption="Installing alsa-plugins"> |
|
|
1036 | # <i>emerge -avt alsa-plugins</i> |
|
|
1037 | </pre> |
|
|
1038 | |
|
|
1039 | </body> |
|
|
1040 | </section> |
|
|
1041 | <section> |
| 959 | <title>A Big thank you to...</title> |
1042 | <title>A big thank you to...</title> |
| 960 | <body> |
1043 | <body> |
| 961 | |
1044 | |
| 962 | <p> |
1045 | <p> |
| 963 | Everyone who contributed to the earlier version of the Gentoo ALSA Guide: |
1046 | Everyone who contributed to the earlier version of the Gentoo ALSA Guide: |
| 964 | Vincent Verleye, Grant Goodyear, Arcady Genkin, Jeremy Huddleston, |
1047 | Vincent Verleye, Grant Goodyear, Arcady Genkin, Jeremy Huddleston, |