This started out as an addendum for my earlier message, setting sound permissions, but I felt it would be better if posted separately.
It is meant to describe one method for setting up the sound system so things 'just work' from boot up. This includes loading the modules, setting the permissions and symlinks plus running aumix to set default sound levels. This setup is guaranteed only to work on my laptop using OSS and ESD configured as described, YMMV! Ok, you are warned but don't be afraid to try it out. If anyone has info for using ALSA with this or fixes for this info, be sure and post as I hope this will get into the FAQ.
First off, some general info. I tend to modularize as much of the kernel as possible. This method relies on these modules and the kernel being able to auto-load modules as needed. In fact, I count on the kernel to do much of the work. My kernel is custom built but the default kernel also provides sound modules. I think it should work as well but I did not verify this.
Ok, we will start with the /etc/modules.conf as it is probably the hardest for most users. The important thing here is loading the proper module for your sound system. You may actually wind up with more loaded modules than the driver alone. For example, the Yamaha sound system for my laptop loads these modules;
soundcore [ymfpci sound]
Here is the relevant portion of my /etc/modules.conf
alias sound-slot-0 ymfpci
post-install sound-slot-0 /usr/bin/aumix -f /etc/aumixrc -L >/dev/null 2&1 || :
pre-remove sound-slot-0 /usr/bin/aumix -f /etc/aumixrc -S >/dev/null 2&1 || :
# other modules.conf entries
In brief, this loads the sound modules then the system executes aumix and uses the default settings from the file /etc/aumixrc if available or ~/.aumixrc (via -L and -S) if that file doesn't exist. Of course at boot-up the ~ is /root so it's suggested to run aumix interactively and save a config file to store in /etc/aumixrc. The purpose of keeping the load and save options (-L & -S) is to allow for optional loading and unloading of the sound system but they don't affect anything if the sound system is statically loaded. Note that the only module specified is the actual sound driver itself. If the proper modules have been compiled, the kernel should load them. After editing the modules.conf file don't forget to run depmod -a also.
Next step is to verify the /etc/devfsd.conf file. This is actually easy. All I added here is the simple entry to set the user/group/permissions. Devfs in AL is configured to auto-load modules which may also help things out. Don't forget to ensure the group sndusers exists and only contains the users you want to access the sound devices.
#-- set sound permissions
REGISTER sound/.* PERMISSIONS root.sndusers 0660
And finally, I added the ESD daemon to the rc.conf file so it was loaded at startup. Here is the pertinent section of my rc.conf.
#-- Daemons to start at boot-up
DAEMONS=(network crond gpm inetd portmap nfslock nfsd esd)
Notice there are no entries in rc.local. In fact, my rc.local is still empty.
Notice also that I don't specifically set the symlinks for the /dev/dsp, mixer etc or use the 'save default permissions' option in devfsd. The symlinks are created automatically on my system as a side effect of running ESD. You KDE users will be happy to note that you can use the same method and simply skip the ESD in rc.conf part. When KDE is first run, arts loads the modules and set the symlinks. Yes, I verified this. However, KDE doesn't unload the sound system on exit which may or may not be a good thing depending on your point of view. I should also mention that KDE and ARTS also works if the ESD is loaded.
The one thing this setup lacks on my PC is the /dev/midi device. AFAIK, this is a hardware limitation since it's a laptop. So far, I haven't noticed a problem. Sound works great, CD's play and multiple sounds work fine.
Ok, waiting for input...
Sice I've got my envy24 based card up and running with spdif and all (pure alsa baby!) I was planning on making a little howto myself, I'll post this ice1712-howto this week.
apt-get install arch
This worked for me . I also added my sound module to the modules array in rc.conf, not sure if there was any need..
"Plurality should not be assumed without necessity" or "keep it simple"
- William of Ockham (1285-1349)
I also added my sound module to the modules array in rc.conf, not sure if there was any need..
This would depend on how you use the system. For example, if you boot directly into KDE, the modules will autoload. Likewise, if you load ESD (Enlightenment Sound Daemon) at startup they will autoload. My laptop uses the ESD method since my desktop is non-standard. Of course my experience here is strictly OSS so, YMMV.