1 |
Hi All- |
2 |
|
3 |
(To the developers, though this may be a long post and it may initially |
4 |
appear to be appropriate for strictly the user list, I'm pretty sure |
5 |
there is an important point for you near the bottom (about the |
6 |
script /etc/init.d/alsasound). I'm not a developer, so I'm not certain |
7 |
that you'll find it noteworthy, and so if I'm wrong, my apologies for |
8 |
sending this cc to the developer's list. Also, is there a list archive? |
9 |
I considered searching for this subject in a list archive, but didn't see |
10 |
one listed on http://www.gentoo.org/main/en/lists.xml) |
11 |
|
12 |
I'm following the thread "Alsa & 2.6.1" on gentoo-user since it seems to |
13 |
be related, but my issues are slightly different---or maybe I just have |
14 |
more detail than I see described in that thread, not sure. This may be a |
15 |
long post, so I offer apologies for that in advance. |
16 |
|
17 |
Anyway, I've been using the Gentoo Linux ALSA Guide, but it clearly |
18 |
distinguishes between the kernel versions 2.4 and 2.5/2.6. I see (from |
19 |
the Gentoo Guide) that much of the ALSA code is already in 2.6.x. |
20 |
|
21 |
I've noted that the Guide describes setting up ALSA with a 2.4.x kernel, |
22 |
and it seems to be that the instructions for doing so with a 2.6.x kernel |
23 |
would probably be different, in light of the presence of ALSA in the 2.6 |
24 |
kernel, but I'm not sure exactly how they should differ. |
25 |
|
26 |
Anyway, my first specific problem comes when following the "ALSA modules" |
27 |
section of the guide. I've grep'd my /proc/pci file and also done lspci |
28 |
with the following relevant output: |
29 |
====================================== |
30 |
# grep audio /proc/pci |
31 |
Multimedia audio controller: PCI device 10de:006a (nVidia Corporation |
32 |
(rev 161). |
33 |
|
34 |
# lspci | grep audio |
35 |
00:06.0 Multimedia audio controller: nVidia Corporation nForce2 AC97 Audio |
36 |
Controler (MCP) (rev a1) |
37 |
====================================== |
38 |
|
39 |
This is an Asus A7N8X motherboard, with onboard 6 channel audio that the |
40 |
motherboard docs describe as a "Realtek ALC650 6CH with built-in HP |
41 |
amplifier". I didn't find such a device in the ALSA Soundcard Matrix |
42 |
linked to from the Gentoo Guide, but I did find in the Matrix |
43 |
what /proc/pci and lspci show. There's only one Nvidia device ("nForce") |
44 |
in the Matrix, and since I seem to have nForce2 (output from lspci), I |
45 |
thought it would be the appropriate entry for me to use. The Matrix |
46 |
mentions the module: snd-intel8x0 as being associated with this device. |
47 |
|
48 |
So, following the Gentoo Guide, I did a: |
49 |
# env ALSA_CARDS='intel8x0' emerge alsa-driver |
50 |
|
51 |
Now, I'm not really sure if this step is required since I did build |
52 |
modular ALSA support with my 2.6.1 kernel build, but I tried it anyway |
53 |
and it failed with error listed here: |
54 |
|
55 |
============================================= |
56 |
In file included from |
57 |
/var/tmp/portage/alsa-driver-0.9.8/work/alsa-driver-0.9.8/include/sound/driver.h:42, |
58 |
from |
59 |
/var/tmp/portage/alsa-driver-0.9.8/work/alsa-driver-0.9.8/alsa-kernel/core/oss/rate.c:22, |
60 |
from rate.c:2: |
61 |
/var/tmp/portage/alsa-driver-0.9.8/work/alsa-driver-0.9.8/include/adriver.h:42:31: |
62 |
linux/modversions.h: No such file or directory |
63 |
make[3]: *** [fastdep] Error 1 |
64 |
make[3]: Leaving directory |
65 |
`/var/tmp/portage/alsa-driver-0.9.8/work/alsa-driver-0.9.8/acore/oss' |
66 |
make[2]: *** [_sfdep_oss] Error 2 |
67 |
make[2]: Leaving directory |
68 |
`/var/tmp/portage/alsa-driver-0.9.8/work/alsa-driver-0.9.8/acore' |
69 |
make[1]: *** [dep] Error 1 |
70 |
make[1]: Leaving directory |
71 |
`/var/tmp/portage/alsa-driver-0.9.8/work/alsa-driver-0.9.8' |
72 |
make: *** [include/sndversions.h] Error 2 |
73 |
|
74 |
!!! ERROR: media-sound/alsa-driver-0.9.8 failed. |
75 |
!!! Function src_compile, Line 64, Exitcode 2 |
76 |
!!! Parallel Make Failed |
77 |
|
78 |
============================================= |
79 |
|
80 |
As is clear here, I do seem to have the file, but apparently the make is |
81 |
not finding it where it resides: |
82 |
# locate modversions.h |
83 |
/usr/src/linux-2.6.1-gentoo-r1/include/config/modversions.h |
84 |
|
85 |
FWIW: |
86 |
# cat /usr/src/linux-2.6.1-gentoo-r1/include/config/modversions.h |
87 |
#define CONFIG_MODVERSIONS 1 |
88 |
|
89 |
The following is the relevant portion of my kernel .config file. I was |
90 |
being lazy when I built it and didn't look up the particular sound |
91 |
hardware that I had and instead just built all likely devices as modules, |
92 |
thinking that I'd only insmod the one that I needed. This detail may be |
93 |
important because when I do an lsmod now (after following the steps in |
94 |
the Gentoo Guide), I see what looks like ALL of the sound device modules |
95 |
(that I built) loaded into the kernel. Perhaps not surprisingly, this |
96 |
seems to be causing lots of problems in and of itself. So, my |
97 |
kernel .config file (Sound portions): |
98 |
|
99 |
============================================= |
100 |
|
101 |
# |
102 |
# Sound |
103 |
# |
104 |
CONFIG_SOUND=y |
105 |
|
106 |
# |
107 |
# Advanced Linux Sound Architecture |
108 |
# |
109 |
CONFIG_SND=m |
110 |
CONFIG_SND_SEQUENCER=m |
111 |
CONFIG_SND_SEQ_DUMMY=m |
112 |
CONFIG_SND_OSSEMUL=y |
113 |
CONFIG_SND_MIXER_OSS=m |
114 |
CONFIG_SND_PCM_OSS=m |
115 |
CONFIG_SND_SEQUENCER_OSS=y |
116 |
CONFIG_SND_RTCTIMER=m |
117 |
# CONFIG_SND_VERBOSE_PRINTK is not set |
118 |
# CONFIG_SND_DEBUG is not set |
119 |
|
120 |
# |
121 |
# Generic devices |
122 |
# |
123 |
CONFIG_SND_DUMMY=m |
124 |
CONFIG_SND_VIRMIDI=m |
125 |
CONFIG_SND_MTPAV=m |
126 |
CONFIG_SND_SERIAL_U16550=m |
127 |
CONFIG_SND_MPU401=m |
128 |
|
129 |
# |
130 |
# PCI devices |
131 |
# |
132 |
CONFIG_SND_ALI5451=m |
133 |
CONFIG_SND_AZT3328=m |
134 |
CONFIG_SND_CS46XX=m |
135 |
# CONFIG_SND_CS46XX_NEW_DSP is not set |
136 |
CONFIG_SND_CS4281=m |
137 |
CONFIG_SND_EMU10K1=m |
138 |
CONFIG_SND_KORG1212=m |
139 |
CONFIG_SND_NM256=m |
140 |
CONFIG_SND_RME32=m |
141 |
CONFIG_SND_RME96=m |
142 |
CONFIG_SND_RME9652=m |
143 |
CONFIG_SND_HDSP=m |
144 |
CONFIG_SND_TRIDENT=m |
145 |
CONFIG_SND_YMFPCI=m |
146 |
CONFIG_SND_ALS4000=m |
147 |
CONFIG_SND_CMIPCI=m |
148 |
CONFIG_SND_ENS1370=m |
149 |
CONFIG_SND_ENS1371=m |
150 |
CONFIG_SND_ES1938=m |
151 |
CONFIG_SND_ES1968=m |
152 |
CONFIG_SND_MAESTRO3=m |
153 |
CONFIG_SND_FM801=m |
154 |
CONFIG_SND_ICE1712=m |
155 |
CONFIG_SND_ICE1724=m |
156 |
CONFIG_SND_INTEL8X0=m |
157 |
CONFIG_SND_SONICVIBES=m |
158 |
CONFIG_SND_VIA82XX=m |
159 |
CONFIG_SND_VX222=m |
160 |
|
161 |
# |
162 |
# ALSA USB devices |
163 |
# |
164 |
CONFIG_SND_USB_AUDIO=m |
165 |
|
166 |
# |
167 |
# Open Sound System |
168 |
# |
169 |
CONFIG_SOUND_PRIME=m |
170 |
CONFIG_SOUND_BT878=m |
171 |
CONFIG_SOUND_CMPCI=m |
172 |
# CONFIG_SOUND_CMPCI_FM is not set |
173 |
# CONFIG_SOUND_CMPCI_MIDI is not set |
174 |
# CONFIG_SOUND_CMPCI_JOYSTICK is not set |
175 |
# CONFIG_SOUND_CMPCI_CM8738 is not set |
176 |
CONFIG_SOUND_EMU10K1=m |
177 |
# CONFIG_MIDI_EMU10K1 is not set |
178 |
CONFIG_SOUND_FUSION=m |
179 |
CONFIG_SOUND_CS4281=m |
180 |
CONFIG_SOUND_ES1370=m |
181 |
CONFIG_SOUND_ES1371=m |
182 |
CONFIG_SOUND_ESSSOLO1=m |
183 |
CONFIG_SOUND_MAESTRO=m |
184 |
# CONFIG_SOUND_MAESTRO3 is not set |
185 |
CONFIG_SOUND_ICH=m |
186 |
CONFIG_SOUND_SONICVIBES=m |
187 |
CONFIG_SOUND_TRIDENT=m |
188 |
CONFIG_SOUND_MSNDCLAS=m |
189 |
CONFIG_MSNDCLAS_INIT_FILE="/etc/sound/msndinit.bin" |
190 |
CONFIG_MSNDCLAS_PERM_FILE="/etc/sound/msndperm.bin" |
191 |
CONFIG_SOUND_MSNDPIN=m |
192 |
CONFIG_MSNDPIN_INIT_FILE="/etc/sound/pndspini.bin" |
193 |
CONFIG_MSNDPIN_PERM_FILE="/etc/sound/pndsperm.bin" |
194 |
CONFIG_SOUND_VIA82CXXX=m |
195 |
# CONFIG_MIDI_VIA82CXXX is not set |
196 |
CONFIG_SOUND_OSS=m |
197 |
CONFIG_SOUND_TRACEINIT=y |
198 |
# CONFIG_SOUND_DMAP is not set |
199 |
# CONFIG_SOUND_AD1816 is not set |
200 |
# CONFIG_SOUND_AD1889 is not set |
201 |
CONFIG_SOUND_SGALAXY=m |
202 |
CONFIG_SOUND_ADLIB=m |
203 |
CONFIG_SOUND_ACI_MIXER=m |
204 |
CONFIG_SOUND_CS4232=m |
205 |
CONFIG_SOUND_SSCAPE=m |
206 |
CONFIG_SOUND_GUS=m |
207 |
CONFIG_SOUND_GUS16=y |
208 |
CONFIG_SOUND_GUSMAX=y |
209 |
CONFIG_SOUND_VMIDI=m |
210 |
CONFIG_SOUND_TRIX=m |
211 |
CONFIG_SOUND_MSS=m |
212 |
CONFIG_SOUND_MPU401=m |
213 |
CONFIG_SOUND_NM256=m |
214 |
CONFIG_SOUND_MAD16=m |
215 |
# CONFIG_MAD16_OLDCARD is not set |
216 |
CONFIG_SOUND_PAS=m |
217 |
CONFIG_SOUND_PSS=m |
218 |
# CONFIG_PSS_MIXER is not set |
219 |
CONFIG_SOUND_SB=m |
220 |
CONFIG_SOUND_AWE32_SYNTH=m |
221 |
CONFIG_SOUND_WAVEFRONT=m |
222 |
CONFIG_SOUND_MAUI=m |
223 |
CONFIG_SOUND_YM3812=m |
224 |
CONFIG_SOUND_OPL3SA1=m |
225 |
CONFIG_SOUND_OPL3SA2=m |
226 |
CONFIG_SOUND_YMFPCI=m |
227 |
# CONFIG_SOUND_YMFPCI_LEGACY is not set |
228 |
CONFIG_SOUND_UART6850=m |
229 |
CONFIG_SOUND_AEDSP16=m |
230 |
# CONFIG_SC6600 is not set |
231 |
# CONFIG_AEDSP16_MSS is not set |
232 |
# CONFIG_AEDSP16_SBPRO is not set |
233 |
# CONFIG_AEDSP16_MPU401 is not set |
234 |
CONFIG_SOUND_TVMIXER=m |
235 |
CONFIG_SOUND_KAHLUA=m |
236 |
CONFIG_SOUND_ALI5455=m |
237 |
CONFIG_SOUND_FORTE=m |
238 |
CONFIG_SOUND_RME96XX=m |
239 |
CONFIG_SOUND_AD1980=m |
240 |
|
241 |
============================================= |
242 |
|
243 |
So, continuing with this saga, the very first part of the instructions in |
244 |
the Gentoo Guide (energe alsa-driver) fail for me. Maybe it's not |
245 |
necessary? |
246 |
|
247 |
But as I mentioned above, I now have other problems too. |
248 |
|
249 |
What I did to get where I am now was simply follow the Gentoo Guide, |
250 |
specifically: |
251 |
|
252 |
"ALSA modules" |
253 |
env ALSA_CARDS='intel8x0' emerge alsa-driver |
254 |
(I also edited my /etc/make.conf and added ALSA_CARDS="intel8x0" in case |
255 |
this would influence the loading of modules, but no help there) |
256 |
|
257 |
|
258 |
"Configuration of ALSA" |
259 |
# emerge alsa-utils (no apparent problems here) |
260 |
|
261 |
modified the file "/etc/modules.d/alsa" as directed in the Guide (with |
262 |
changes for my soundcard module of course) |
263 |
|
264 |
# modules-update (no apparent problems here, though it took a long time) |
265 |
|
266 |
Verified that /etc/devfsd.conf looked as described in the Guide. |
267 |
|
268 |
"Starting ALSA" |
269 |
# rc-update add alsasound boot |
270 |
|
271 |
Although the next step in the Guide is to run |
272 |
# /etc/init.d/alsasound start |
273 |
I never did that manually. Instead, I rebooted (for various reasons that |
274 |
I won't bother listing here) which apparently ran that script |
275 |
automatically because of my previous rc-update add alsasound boot |
276 |
command. |
277 |
|
278 |
# /etc/init.d/alsasound status |
279 |
status: started |
280 |
|
281 |
I stopped following the Guide here because of this problem with about 50 |
282 |
sound modules being loaded into my kernel. Clearly, this is a problem |
283 |
and I'm not sure how to solve it. |
284 |
|
285 |
It looks to me like the script /etc/init.d/alsa automatically loads all |
286 |
modules that it finds in the output of "modprobe -c | grep snd.* | grep |
287 |
pci:" (see line 50-59 from that script quoted below) and that's quite |
288 |
alot in my case because of all the modules that I built. |
289 |
|
290 |
================================================ |
291 |
50 ebegin "Loading ALSA drivers" |
292 |
51 |
293 |
52 # I really dislike this and would like to tidy it up. |
294 |
53 # Anyone running 2.4 + alsa-driver willing to help me? |
295 |
54 |
296 |
55 DRIVERS="$(modprobe -c | grep snd.* | grep pci: | awk '{ print $3 }' |
297 |
| uniq)" |
298 |
56 if [ -z "${DRIVERS}" ] ; then |
299 |
57 # Fallback on older modprobe syntax |
300 |
58 DRIVERS="$(/sbin/modprobe -c | grep -E |
301 |
"^[[:space:]]*alias[[:space:]]+snd-card-[[:digit:]]" | awk '{print $3}')" |
302 |
59 fi |
303 |
|
304 |
================================================ |
305 |
|
306 |
So, my real issues I think are just these two: |
307 |
1) How to configure ALSA while using 2.6.1 kernel (Gentoo Guide doesn't |
308 |
seem to work in my case) |
309 |
2) How to get only one PCI sound device module loaded via the |
310 |
script /etc/init.d/alsasound even though I have many available to load. |
311 |
Must I rebuild my kernel and just not build modules for any sound devices |
312 |
except those that I have installed? |
313 |
|
314 |
Maybe this last is a question for developers. |
315 |
|
316 |
Thanks in advance for any suggestions. |
317 |
|
318 |
-Kevin |
319 |
|
320 |
-- |
321 |
gentoo-dev@g.o mailing list |