What sound card does actually work with Linux?
In my company we are standardising more and more on Linux. The servers have been running it for a long time, but since our workstations are used for development with tools such as buildout, I have started using Linux as a desktop machine as well. Buildout and some other tools work without tweaks on Linux, while we have had problems on other platforms.
I held off on Linux on the desktop for a long time, using Windows XP on my desktop and using VNC to a local Linux machine instead. But now I've built a Core 2 Duo Workstation with 4GB of RAM and a 24" monitor. It sits well in our new offices and can be used by anyone in the company that needs it.
Linux on the desktop hasn't been a pain free experience, due to one thing: Sound, or lack thereof actually. Sound is essential for running things like Skype, and producing screencasts.
I'm running CentOS 5 and my motherboard is a "MSI - Socket 775 - ATX IP35 (P35 NEO-FI) - DDR2 / SATA II / Gblan". After starting the machine up, sound usually works. A couple of hours or days later it stops working. Sometimes it is just the audio input, sometimes all of it disappears.
Now granted, CentOS is not the first distribution that springs to mind when thinking about Linux on the desktop, but my colleague to the left of me has the same problem and he's running Ubuntu, and he even managed to find the correct driver for his particular motherboard sound chip. Still sound suuport on his machine is at leastas erratic as on my machine.
So, it is time to use Google to get some solid knowledge. Unfortunately there isn't much. Most questions people field seem to go unanswered. Most hardware compatibility lists I have found are out of date and the cards listed can not be bought anymore. On one site, linuxmce, they actually do list two compatible cards. However the cheaper one needs "some configuration", and the expensive one is expensive enough that the price plus the time and resources needed to install it would probably mean it is cheaper to buy a new computer.
On that front there is some good news: Red Hat keeps a list of certified hardware systems. I haven't tried any of those systems, but I guess certification for Red Hat EL 5 ought to mean that sound should work on a CentOS 5 (CentOS is a free version of RH EL 5). One guy in the company swears by HP servers and workstations, so I will probably refrain in the future from building a computer on my own and go for HP. It was good fun though building it, although the fun starts to wear off.
For any future workstations, it is going to be certified ones. And what with the fate of my current workstation? I suppose I can live with some restarts as one way of containing the problem. I have tried a USB sound card that came with the Philips headset I am using. That card displays the same erratic behaviour.
As it stands now, I may either put in a Soundblaster card and hope for the best or retire the workstation to Windows XP and get a certified workstation There is a guide for compatible sound cards at LinuxQuestions.org. A lot of hardware is reviewed and rated on that site and that site is probably the best hope for finding compatible components. Some of the Creative sound cards have 10 out of 10 ratings there and some close to zero on compatibility.
Here is mention of what chip is best supported in the Sound Blaster cards, which seems to be the emu 101k chip.
A third option is to figure out what motherboards the certified hardware use. Unfortunately there is no Red Hat guide for motherboards on their site, but it should not be impossible to glean what mobos are in e.g. the certified Dell or HP systems.
Update 18:49
My latest attempt is to look at this page with configuration parameters for ALSA. They go into the /etc/modprobe.conf file on CentOS and I selected the
6stack-dig
for
ALC883/888
and I appended the modprobe.conf to have a line like this:
options snd-card-0 index=0 model=6stack-dig
We'll see if that helps.
I got the hint to do this from this posting in this thread. Sound is working right now but then it usually is after a restart.