This was posted on the
www.dropline.net forums for a sound problem I had. Hope this might be helpfull to you. I eventually fixed my problem by going with a 2.6.x kernel but anyways...here goes
This is a run-down of how to get sound working with the included kernel OSS drivers.
Verify that the sound isn't already loaded. Hotplug on Slackware 9 systems will generally determine the correct module. Type "lsmod" as root to see if a module is loaded with soundcore. It may say something like "i_810_audio" if you have an Intel sound chip. It is definately the most common Intel chip. If you don't see a sound module listed, but you know which chip you have, then go onto the next step.
If you know which sound chip that you have (lspci might show you this), then you can load the correct module. The modules are usually located in /lib/modules/2.4.20/kernel/drivers/sound. You can browse this directory to determine the correct module that you need to use. Then, as root, load the module with "modprobe modulename". If you don't get any errors, then everything should be fine. Verify that it is working by typing "lsmod".
You can try to use the sound now, however, users may not be able to access the DSP device unless you do a few things. There are two ways that you can do this.
Method A: This is the most secure way. First, you need to create a group called "sound". You can do this as root by typing "groupadd sound". Then, edit the /etc/group file with your favorite editor (I use pico), and add the names of all of the people that you'd like to have sound to the group at the bottom of the file. For example: My sound line in the /etc/group file says:
Code:
sound:x:102:root,zborgerd
This makes it so that I can access the DSP. The final step is to change the group of the DSP device. You do this, as root, by typing:
Code:
chgrp sound /dev/dsp*
chgrp sound /dev/mixer*
chgrp sound /dev/midi*
That will make it so that all members of the sound group will have access to the sound and mixer devices.
Method B: This is the less secure, but very simple method. This gives everyone with an account on the box access to the DSP device. I don't suggest using this if you plan on having remote access like SSH or telnet available to friends or other people. But that's entirely up to you. It's as simple as typing:
Code:
chmod 666 /dev/dsp*
chmod 666 /dev/mixer*
chmod 666 /dev/midi*
Remember. This gives everyone with an account access this device. I don't know if there are any potential exploits that can occur, but I usually don't like to give world-writable access to devices.
-------------
There is another important note. Most sound chips are like Winmodems. They really only allow a single stream of PCM audio to the DSP device. Systems like Windows use DirectX to mix audio streams in software, using the CPU. In Linux, you'll get hang-ups on the DSP if two programs try to access it at one time... That is, if your sound chip doesn't support multiple sound streams at one time. This can be remedied (a bit) by having programs like XMMS, GAIM, and others, use an output plugin that mixes audio. Such programs are ESD (Gnome) and ARTSD (KDE).
There is a second option... If you want an easier way of getting sound to work, try the OSS Commercial drivers from 4-Front. You can get these commercial drivers from
http://www.opensound.com. They aren't very expensive ($35 USD). They have some unique advanced features, like a professional quality real-time mixer that works like DirectSound does in Windows. It allows multiple audio streams at one time. It has some advanced loopback recording features in the Pro driver version. Installation is very simple. You just have to run a curses-based setup program from a console. It will auto-detect your sound chip and will test and load the proper module. The only thing that you might need to do to se it up is disable any old sound drivers (these tend to load through hotplug's kernel module loader), and tell it to load the new module on start-up. I use these OSS drivers on my machine, and they are great. But I'll probably switch to ALSA when the 2.6 kernel becomes mainstream. There is a demo version available from their web site.
The third option is ALSA (as mentioned above). Many people are using those drivers but I find them to be a bit unstable at this time. They are great if you have the right soundcard, but most modules are a little immature at this time (in my opinion), and the ALSA drivers must emulate the OSS format for 99% of programs these days. I don't feel that now is the right time to use ALSA, but many people are pretty successful with it. I'll likely wait until they are part of the 2.6 kernel before I begin to use them at home. ALSA is a good choice if you want free drivers with support for the newest sound chips.
So, those are the choices...
A) Kernel OSS drivers: Stable, easy to install, poorest sound quality, proven, lacks features.
B) Commercial OSS drivers: Stable, easiest to install, great sound quality, professional quality mixer, proven design (mixer acts strange with the occasional mmap() programs like Quake), many features including things like SPDIF and surround.
C) ALSA: Free, more difficult to install, great sound quality (for most chips), supports plug-ins like JACK, has emulation for the OSS API, will be the future of Linux audio (when 2.6 kernel is released), kinda buggy (in my opinion).