24 June 2009

Linux sound-system sucks!

Yeah, so I've been running Linux / Ubuntu now for about 4 months, and it has been a pleasure almost the whole way. I've had to dabble in Windows from time to time, especially "supporting" our two other Windows machines in the house, but every time I meddle with them, I'm extremely happy to return to my Ubuntu Jaunty 9.04. For the most parts.

There is this one area which sucks, though, and I mentioned it in one of my previous reports that I couldn't get the microphone to work. Here's the low-down on this whole thing ;

Ubuntu comes out of the box with ALSA (Advanced Linux Sound Architecture) and PulseAudio (a client/server system for sound over networks, amongst other things), and the two connected together in GNOME (the default Window manager it uses) should in theory work. But the forums and intertubes are abundant with problems relating to sound setup, anything from sound not working at all, some aspects not working, cracking or garbled sounds, and so on. Because Linux is open-source and has the advantage of "so many options", then the disadvantage of "so many options" also becomes quite clear.

When you write your software you write for either OSS (Open Sound System; try Googling for OSS and they'll translate it into Open Source Software ... AAARGH!) or ALSA, and both packages have wrappers for eachother, but it means that there's a multitude of ways to reach that haven of good supported sound. We can throw ESound and Gstreamer and JACK into the mix for further confusion as well.

So, one perticular part of these options was that the Linux kernel guys decided to throw out OSS and put in ALSA instead, at around Kernel version 2.5.x or so. The reason was mostly that OSS v.2 was in wide use as the developers entered into a lengthy v.3 rewrite, the company that sponsored them changed the license (dual license, one branch for GPL [often lagging], another for a sellable version). Then they scrapped v.3 to start on the new and improved v.4, which was to be fully GPL'ed and all things sorted out. In theory, but in the mean-time the world moved on, and ALSA became the standard.

So, back to my story. My sound system was finally working, except for the fact that my microphones (plug and internal) didn't work. I tried it all, including downloading and manually compiling and modding the Kernel with the latest version of ALSA drivers and libs, without any luck. (Well, I upgraded ALSA nicely, but alas no microphones). I tweaked manually the modprobe configuration files, upgraded and updated any Esound, Gstreamer or ALSA thing I could find, tweaked their links configs, reset them, autodetection and manual stuff, on and off, on and off. It drove me nuts!

So in the end I got the whiff of the OSS story. First it was simply dismissed because it was "the old system", but as more and more reported success with the latest OSS v.4 where ALSA failed, I thought I'd give it a try. I removed anything ALSA and PulseAudio (and frankly, not that many people have a need for PulseAudio, even less be able to correctly set it up, so why make it default?), installed some dependencies for OSS, downloaded a .deb package (trickier than it sounds), restarted, installed, configured (setup GNOME with the OSS sinks), and ...

Microphones work! They friggin' actually work, and after only 4 months I can make Skype calls which I need for work. But, as sound in general works fine - and here's the punchline! - now the left channel has crackling when the sound reaches a certain low / mid threshold (no, the mixer is set correctly; this is weirder in that it's only in the left channel. It's not overdrive, but some clicking-ish noise), and I can't friggin' get rid of it!

And yeah, you try searching the intertubes for Ubuntu 9.04, sound and OSS v.4 where "OSS" is treated as "Open Source Software" by Google. Bloody smart-arses.

Sure I love Linux, but I friggin' hate the Linux sound system. And I hate Google a little bit, too, this time.


  1. I use Linux, Mac, and Windows, I must sadly say that Linux is my least favorite OS's, the reason is that I always miss some kind of hardware drivers, either the graphics card, network device or sound card, the only exception for me has been Debian which worked right out of the box.

  2. You are using Microsoft, Mac & Linux & Linux is your least favourite OS. Interesting, unless you bought it with the new machine you have paid hundred or more for Windows or Mac.

    Because Linux is Free OS, it has problems with properitory drivers like sound & video drivers. Companies will not allow Linux to use their drivers for free or they are not making Linux compatible.

    You can not compare Billion dollar Microsoft & Mac with free and open source Linux.

    I have brand new Window 7. It is very good, but most of the time about 85% of my time I use Linux. Linux for terrestrial TV, and most of audio and video at home and on the net I use Linux.

    Linux for humanity not to make billions of dollars. If you have give Linux developers what you are paying for Microsoft or Mac, I'm sure they can make Linux compatible with all drives sound or video.

    You are using FREE software, MAN! wake up!

  3. I can say, without a doubt, Linux is my favorite OS, but mostly probably because I'm a developer and a geek. However, my kids seem to like Linux (Ubuntu) as well, as they've not been conditioned into anything in particular (we've got lots of OS'es around), however the wife is Windows dependent mostly due to work. We're working on that, though. Me, at work, we support hundreds of Windows / Citrix machines, and they're a pain (probably the Win / Citrix combo), and our Win servers alwyas bounce around. Argh.

    I can understand people fed up with Linux hardware support, however it's not the fault of Linux, only the fault of crap hardware manufacturers with not wide-enough support for their stuff. And it's a shame. But I see that certain manufacturers getting it and realizing there's a big market in Linux support as well. It'll get there. In fact, considering my main machine (a Toshiba P300 laptop) has got virtually no support (Toshiba sucks in this respect), it works suprisingly well. Even the sound problems in my original posting has been fixed (although not by Toshiba, of course), graphics, everything seems to Just Work[TM]. I'm a happy camper, all thanks to FOSS enthusiasts the world over.