PDA

View Full Version : soundcard recognition at console vs gnome



jdictionary
21st November 2008, 02:35 AM
Hello,

I notice on my FC9 system that when I am logged into Gnome, I can run "aplay -l" and see my soundcard listed, sound works great, etc. But as soon as I logout to the console I get this:

$ aplay -l
aplay: device_list:215: no soundcards found...

I'm having a hard time figuring out which daemon or service, etc. is starting when I log into Gnome that enables my soundcard (at least that is how it seems). I'd like to have this system play sound at run level three. It seems odd that I would need to be logged into Gnome to have the soundcard even recognized.

Thanks for any tips,
Rick

scottro
21st November 2008, 02:52 AM
Welcome to the wonderful world of pulse audio and the decision to tie sound to console kit.

http://home.roadrunner.com/~computertaijutsu/rhsound.html gives some possible solutions.

jdictionary
21st November 2008, 07:30 AM
Thanks for the link. I figured out that it is a permissions issue. If I do "sudo aplay -l" I can see the sound card. I followed the tips about the console perms and this got me up and running if I log into the actual console. If I ssh in however (which is normally the case for this server), it won't work since the console perms do not apply to pseudo terminals (as far as I can tell). I found a work around which is not great but it gets the job done. I went into /etc/udev/rules.d and edited the file 40-alsa.rules. For each line that referred to "snd" I added GROUP="audio". For example:

KERNEL=="controlC[0-9]*", GROUP="audio", NAME="snd/%k"

Then I created an audio group and added myself to it, rebooted and all is good. Now my /dev/snd devices look like this:

crw-rw----+ 1 root audio 116, 7 2008-11-21 01:21 controlC0

Note that you must back out the console perms additions for sound if you had already added them or they will override this. Also, the 40-alsa.rules file says clearly at the top to not edit it since it will get overwritten in an update but I'm not sure how to override it with my own custom version. I tried using a 41-alsa.rules file but that didn't work. So for now I'm just going to keep my changes in 40-alsa.rules and know that I will need to reapply them if the udev package gets updated. In the meantime I'll keep looking for a way to override it.

Thanks again for the link. It got me headed down the right path.

Rick

scottro
21st November 2008, 01:10 PM
Glad it helped.

Don't bother with a bug report. The developer considers it not a bug, but a user configuration issue.