1 |
nightmorph 08/03/05 09:16:49 |
2 |
|
3 |
Modified: alsa-guide.xml |
4 |
Log: |
5 |
removed alsa-driver steps from the guide, per bug 183418, bug 207427 and other showstopper/regression bugs, and requests from the alsa & kernel teams. no one maintains or wants to maintain alsa-driver. it is the weakest link. |
6 |
|
7 |
Revision Changes Path |
8 |
1.81 xml/htdocs/doc/en/alsa-guide.xml |
9 |
|
10 |
file : http://sources.gentoo.org/viewcvs.py/gentoo/xml/htdocs/doc/en/alsa-guide.xml?rev=1.81&view=markup |
11 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo/xml/htdocs/doc/en/alsa-guide.xml?rev=1.81&content-type=text/plain |
12 |
diff : http://sources.gentoo.org/viewcvs.py/gentoo/xml/htdocs/doc/en/alsa-guide.xml?r1=1.80&r2=1.81 |
13 |
|
14 |
Index: alsa-guide.xml |
15 |
=================================================================== |
16 |
RCS file: /var/cvsroot/gentoo/xml/htdocs/doc/en/alsa-guide.xml,v |
17 |
retrieving revision 1.80 |
18 |
retrieving revision 1.81 |
19 |
diff -u -r1.80 -r1.81 |
20 |
--- alsa-guide.xml 19 May 2007 03:00:29 -0000 1.80 |
21 |
+++ alsa-guide.xml 5 Mar 2008 09:16:49 -0000 1.81 |
22 |
@@ -1,5 +1,5 @@ |
23 |
<?xml version='1.0' encoding="UTF-8"?> |
24 |
-<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/alsa-guide.xml,v 1.80 2007/05/19 03:00:29 nightmorph Exp $ --> |
25 |
+<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/alsa-guide.xml,v 1.81 2008/03/05 09:16:49 nightmorph Exp $ --> |
26 |
|
27 |
<!DOCTYPE guide SYSTEM "/dtd/guide.dtd"> |
28 |
|
29 |
@@ -24,8 +24,8 @@ |
30 |
<!-- See http://creativecommons.org/licenses/by-sa/2.5 --> |
31 |
<license/> |
32 |
|
33 |
-<version>2.22</version> |
34 |
-<date>2007-05-07</date> |
35 |
+<version>2.23</version> |
36 |
+<date>2008-03-05</date> |
37 |
|
38 |
<chapter> |
39 |
<title>Introduction</title> |
40 |
@@ -56,132 +56,39 @@ |
41 |
<body> |
42 |
|
43 |
<p> |
44 |
-One of Gentoo's main strengths lies in giving the user maximum control over |
45 |
-how a system is installed/configured. ALSA on Gentoo follows the same |
46 |
-principle. There are two ways you can get ALSA support up and running on your |
47 |
-system. We shall look at them in detail in the next chapter. |
48 |
+Historically, Gentoo offered two ways to get ALSA up and running: the |
49 |
+<e>in-kernel</e> driver and the external <c>alsa-driver</c> package. The two |
50 |
+solutions essentially do the same thing; this made supporting the external |
51 |
+package extremely difficult and time-consuming. The Gentoo maintainers decided |
52 |
+to discontinue support for the <c>alsa-driver</c> package, concentrating their |
53 |
+resources on the ALSA drivers available within the Linux kernel. This guide will |
54 |
+focus solely on configuring ALSA via the in-kernel driver. |
55 |
</p> |
56 |
|
57 |
-</body> |
58 |
-</section> |
59 |
-</chapter> |
60 |
- |
61 |
-<chapter> |
62 |
-<title>Installing ALSA</title> |
63 |
-<section> |
64 |
-<title>Options</title> |
65 |
-<body> |
66 |
- |
67 |
-<warn> |
68 |
-The methods shown below are mutually exclusive. You cannot have ALSA compiled |
69 |
-in your kernel and use <c>media-sound/alsa-driver</c>. It <e>will</e> fail. |
70 |
-</warn> |
71 |
- |
72 |
<p> |
73 |
-The two options are: |
74 |
+If you still require the <c>alsa-driver</c> package, please email the <mail |
75 |
+link="alsa-bugs@g.o">Gentoo ALSA maintainers</mail> with why the |
76 |
+in-kernel drivers don't work for you. Be sure to include detailed error logs. |
77 |
</p> |
78 |
|
79 |
-<ol> |
80 |
- <li> |
81 |
- Use ALSA provided by your kernel. This is the preferred/recommended method. |
82 |
- </li> |
83 |
- <li>Use Gentoo's <c>media-sound/alsa-driver</c> package.</li> |
84 |
-</ol> |
85 |
- |
86 |
-<p> |
87 |
-The in-kernel drivers and the <c>alsa-driver</c> package can vary a little; it's |
88 |
-possible that features and fixes found in one might not yet be incorporated into |
89 |
-the other. The upstream developers are aware of this, but the two drivers are |
90 |
-effectively separate branches of the ALSA project; they are not entirely |
91 |
-identical. You should be aware that they might function slightly differently, so |
92 |
-if one doesn't work for you, try the other! We shall take a peek into both |
93 |
-before finally deciding on one. |
94 |
-</p> |
95 |
- |
96 |
-<p> |
97 |
-If you were to use ALSA provided by the kernel, the following are the pros and |
98 |
-cons: |
99 |
-</p> |
100 |
- |
101 |
-<table> |
102 |
-<tr> |
103 |
- <th>Kernel ALSA</th> |
104 |
- <th>Pros and Cons</th> |
105 |
-</tr> |
106 |
-<tr> |
107 |
- <th>+</th> |
108 |
- <ti> |
109 |
- No need to emerge yet another package; drivers are integrated into kernel. |
110 |
- </ti> |
111 |
-</tr> |
112 |
-<tr> |
113 |
- <th>+</th> |
114 |
- <ti>One shot solution, no repeating emerges.</ti> |
115 |
-</tr> |
116 |
-<tr> |
117 |
- <th>-</th> |
118 |
- <ti>Might be a slightly different version than <c>alsa-driver</c>.</ti> |
119 |
-</tr> |
120 |
-</table> |
121 |
- |
122 |
-<p> |
123 |
-And, if you were to use <c>alsa-driver</c>, |
124 |
-</p> |
125 |
- |
126 |
-<table> |
127 |
-<tr> |
128 |
- <th>alsa-driver</th> |
129 |
- <th>Pros and Cons</th> |
130 |
-</tr> |
131 |
-<tr> |
132 |
- <th>+</th> |
133 |
- <ti>Possibly the latest drivers from the ALSA Project.</ti> |
134 |
-</tr> |
135 |
-<tr> |
136 |
- <th>+</th> |
137 |
- <ti>Useful if you intend to develop audio drivers.</ti> |
138 |
-</tr> |
139 |
-<tr> |
140 |
- <th>-</th> |
141 |
- <ti>Every kernel recompile requires a re-emerge of <c>alsa-driver</c>.</ti> |
142 |
-</tr> |
143 |
-<tr> |
144 |
- <th>-</th> |
145 |
- <ti>Needs certain kernel config options disabled to work correctly.</ti> |
146 |
-</tr> |
147 |
-</table> |
148 |
- |
149 |
</body> |
150 |
</section> |
151 |
-<section> |
152 |
-<title>So...</title> |
153 |
-<body> |
154 |
- |
155 |
-<p> |
156 |
-The differences between <c>alsa-driver</c> and the in-kernel ALSA drivers are |
157 |
-quite subtle, as mentioned earlier. Since there are not any huge differences, |
158 |
-you are encouraged to go through the process of using the ALSA provided by the |
159 |
-kernel <e>first</e> for ease of use. Before reporting any sound related issues |
160 |
-to <uri link="https://bugs.gentoo.org">Gentoo Bugzilla</uri>, please try to |
161 |
-reproduce them using <c>alsa-driver</c> and file the bug report no matter what |
162 |
-the result. |
163 |
-</p> |
164 |
+</chapter> |
165 |
|
166 |
-</body> |
167 |
-</section> |
168 |
+<chapter> |
169 |
+<title>Installing ALSA</title> |
170 |
<section id="lspci"> |
171 |
<title>Before you proceed</title> |
172 |
<body> |
173 |
|
174 |
<p> |
175 |
-Whichever method of install you choose, you need to know what drivers your |
176 |
-sound card uses. In most cases, sound cards (onboard and otherwise) are PCI |
177 |
-based and <c>lspci</c> will help you in digging out the required information. |
178 |
-Please <c>emerge sys-apps/pciutils</c> to get <c>lspci</c>, if you don't have it |
179 |
-installed already. In case you have a USB sound card, <c>lsusb</c> from |
180 |
-<c>sys-apps/usbutils</c> <e>might</e> be of help. For ISA cards, try using |
181 |
-<c>sys-apps/isapnptools</c>. Also, the following pages <e>may</e> help users |
182 |
-with ISA based sound cards: |
183 |
+First, you need to know what drivers your sound card uses. In most cases, sound |
184 |
+cards (onboard and otherwise) are PCI based and <c>lspci</c> will help you in |
185 |
+digging out the required information. Please <c>emerge sys-apps/pciutils</c> to |
186 |
+get <c>lspci</c>, if you don't have it installed already. In case you have a USB |
187 |
+sound card, <c>lsusb</c> from <c>sys-apps/usbutils</c> <e>might</e> be of help. |
188 |
+For ISA cards, try using <c>sys-apps/isapnptools</c>. Also, the following pages |
189 |
+<e>may</e> help users with ISA based sound cards: |
190 |
</p> |
191 |
|
192 |
<ul> |
193 |
@@ -233,13 +140,9 @@ |
194 |
</body> |
195 |
</section> |
196 |
<section id="kernel"> |
197 |
-<title>Using ALSA provided by your Kernel</title> |
198 |
+<title>Configuring the kernel</title> |
199 |
<body> |
200 |
|
201 |
-<p> |
202 |
-If you're a person who likes to keep things simple, then this is the way to go. |
203 |
-</p> |
204 |
- |
205 |
<note> |
206 |
Since the 2005.0 release, Gentoo Linux uses 2.6 as the default kernel. Please |
207 |
check that your kernel is a 2.6 series kernel. This method will <e>not</e> work |
208 |
@@ -337,91 +240,6 @@ |
209 |
|
210 |
</body> |
211 |
</section> |
212 |
-<section id="alsa-driver"> |
213 |
-<title>Using the ALSA Driver package</title> |
214 |
-<body> |
215 |
- |
216 |
-<p> |
217 |
-So you've decided to go the <c>alsa-driver</c> way. Let's get started then. |
218 |
-There are a few minor things to be done to ensure only the drivers for your |
219 |
-sound card are compiled. Although this is not really necessary, it cuts down |
220 |
-on the unnecessary drivers that will be compiled otherwise. |
221 |
-</p> |
222 |
- |
223 |
-<p> |
224 |
-If you don't have an idea of what drivers your sound card might need, please |
225 |
-take a look at the <uri link="#lspci">lspci</uri> section of this guide. Once |
226 |
-you have your driver name (<c>emu10k1</c> in our example), edit |
227 |
-<path>/etc/make.conf</path> and add a variable, <c>ALSA_CARDS</c>. |
228 |
-</p> |
229 |
- |
230 |
-<pre caption="Adding ALSA_CARDS to make.conf"> |
231 |
-<comment>(For one sound card)</comment> |
232 |
-ALSA_CARDS="emu10k1" |
233 |
-<comment>(For more than one, separate names with spaces)</comment> |
234 |
-ALSA_CARDS="emu10k1 via82xx" |
235 |
-</pre> |
236 |
- |
237 |
-<p> |
238 |
-If you have compiled your kernel and want to use <c>alsa-driver</c>, please |
239 |
-ensure the following before proceeding, else <c>alsa-driver</c> is likely to |
240 |
-fail. The next code listing gives you one way of performing the checks. |
241 |
-</p> |
242 |
- |
243 |
-<note> |
244 |
-<c>genkernel</c> users can proceed with <uri link="#doc_chap2_pre6">Installing |
245 |
-alsa-driver</uri> as their configuration is in sync with the one shown below by |
246 |
-default. |
247 |
-</note> |
248 |
- |
249 |
-<ol> |
250 |
- <li> |
251 |
- <c>CONFIG_SOUND</c> is set. (Basic Sound support enabled) |
252 |
- </li> |
253 |
- <li> |
254 |
- <c>CONFIG_SOUND_PRIME</c> is not set. (In-built OSS support disabled) |
255 |
- </li> |
256 |
- <li> |
257 |
- <c>CONFIG_SND</c> is not set. (In-built ALSA support disabled) |
258 |
- </li> |
259 |
- <li> |
260 |
- <path>/usr/src/linux</path> points to the kernel you want ALSA working on. |
261 |
- </li> |
262 |
-</ol> |
263 |
- |
264 |
-<pre caption=".config checks"> |
265 |
-<comment>(Assuming the linux symlink points to the correct kernel)</comment> |
266 |
-# <i>cd /usr/src/linux</i> |
267 |
-# <i>grep SOUND .config</i> |
268 |
-<comment>(1. is true)</comment> |
269 |
-CONFIG_SOUND=y |
270 |
-<comment>(2. is true)</comment> |
271 |
-CONFIG_SOUND_PRIME is not set |
272 |
-# <i>grep SND .config</i> |
273 |
-<comment>(and 3. is true)</comment> |
274 |
-CONFIG_SND is not set |
275 |
-</pre> |
276 |
- |
277 |
-<p> |
278 |
-Now all you have to do is type the magic words... and no, it's not abracadabra. |
279 |
-</p> |
280 |
- |
281 |
-<pre caption="Installing alsa-driver"> |
282 |
-# <i>emerge alsa-driver</i> |
283 |
-</pre> |
284 |
- |
285 |
-<impo> |
286 |
-Please note that you will have to run <c>emerge alsa-driver</c> after every |
287 |
-kernel (re)compile, as the earlier drivers are deleted. To make this task |
288 |
-easier, you may want to emerge the <c>module-rebuild</c> package, which will |
289 |
-keep track of module packages and rebuild them for you. First run |
290 |
-<c>module-rebuild populate</c> to create the list, and then after every kernel |
291 |
-(re)compile, you just run <c>module-rebuild rebuild</c>, and your external |
292 |
-modules will be rebuilt. |
293 |
-</impo> |
294 |
- |
295 |
-</body> |
296 |
-</section> |
297 |
</chapter> |
298 |
|
299 |
<chapter> |
300 |
@@ -441,11 +259,10 @@ |
301 |
</pre> |
302 |
|
303 |
<note> |
304 |
-If you activated ALSA in your <uri link="#kernel">kernel</uri> <e>and</e> did |
305 |
-not compile ALSA as modules, please proceed to the |
306 |
-<uri link="#initscript">ALSA Initscript</uri> section. The rest of you need |
307 |
-to configure ALSA. This is made very easy by the existence of the |
308 |
-<c>alsaconf</c> tool provided by <c>alsa-utils</c>. |
309 |
+If you did <e>not</e> compile ALSA as modules, please proceed to the <uri |
310 |
+link="#initscript">ALSA Initscript</uri> section. The rest of you need to |
311 |
+configure ALSA. This is made very easy by the existence of the <c>alsaconf</c> |
312 |
+tool provided by <c>alsa-utils</c>. |
313 |
</note> |
314 |
|
315 |
</body> |
316 |
@@ -735,6 +552,8 @@ |
317 |
0: SigmaTel STAC9721/23 |
318 |
</pre> |
319 |
|
320 |
+<!-- TODO: remove this a few months after alsa-driver leaves the tree --> |
321 |
+ |
322 |
<p> |
323 |
The other most common issue users face is the dreaded "Unknown symbol in module" |
324 |
error. An example of the same is shown below. |
325 |
@@ -787,7 +606,7 @@ |
326 |
</pre> |
327 |
|
328 |
<p> |
329 |
-The above issue is caused when you switch from <c>alsa-driver</c> to in-kernel |
330 |
+The above issue is caused when you switch from the <c>alsa-driver</c> to in-kernel |
331 |
ALSA because when you unmerge <c>alsa-driver</c> the module files are config |
332 |
protected and hence get left behind. So, when you switch to in-kernel |
333 |
drivers, running <c>modprobe</c> gives you a mix of <c>alsa-driver</c> and |
334 |
@@ -821,10 +640,12 @@ |
335 |
|
336 |
<p> |
337 |
Usually it is a file called <path>alsa</path> with the line <c>options snd |
338 |
-device_mode=0666</c>. Remove this line and restart the alsasound service and |
339 |
-that should take care of this issue. |
340 |
+device_mode=0666</c>. Remove this line and restart the <c>alsasound</c> service |
341 |
+and that should take care of this issue. |
342 |
</p> |
343 |
|
344 |
+<!-- End of removal notice --> |
345 |
+ |
346 |
</body> |
347 |
</section> |
348 |
</chapter> |
349 |
@@ -839,7 +660,7 @@ |
350 |
First, check to make sure that you enabled the <c>midi</c> USE flag in |
351 |
<path>/etc/make.conf</path>. If you didn't, go ahead and add it now. You will |
352 |
also need to re-emerge any ALSA packages that use the <c>midi</c> flag, such as |
353 |
-<c>alsa-lib</c>, <c>alsa-utils</c>, and <c>alsa-driver</c>. |
354 |
+<c>alsa-lib</c> and <c>alsa-utils</c>. |
355 |
</p> |
356 |
|
357 |
<p> |
358 |
@@ -969,11 +790,10 @@ |
359 |
|
360 |
<p> |
361 |
You can have more than one sound card in your system simultaneously, provided |
362 |
-that you have built ALSA as modules in your kernel (or have installed |
363 |
-<c>alsa-driver</c> instead). You just need to specify which should be started |
364 |
-first in <path>/etc/modules.d/alsa</path>. Your cards are identified by their |
365 |
-driver names inside this file. 0 is the first card, 1 is the second, and so on. |
366 |
-Here's an example for a system with two sound cards. |
367 |
+that you have built ALSA as modules in your kernel. You just need to specify |
368 |
+which should be started first in <path>/etc/modules.d/alsa</path>. Your cards |
369 |
+are identified by their driver names inside this file. 0 is the first card, 1 is |
370 |
+the second, and so on. Here's an example for a system with two sound cards. |
371 |
</p> |
372 |
|
373 |
<pre caption="Two sound cards in /etc/modules.d/alsa"> |
374 |
|
375 |
|
376 |
|
377 |
-- |
378 |
gentoo-doc-cvs@l.g.o mailing list |