Skip to content

Archives

An Open Letter to Sound System Developers

Linux: after about 3 months of tweaking and twisting, performed by someone who’s been using UNIX for over a decade, I’ve finally got sound working the way I want it on my Linux desktop. In other words, I can hear sounds made by Flash applets, and I don’t have to shut down the best music player on the platform every time another app wants to make a sound.

This is pretty clearly absurd.

So here’s my open letter to the developers of the various systems (GStreamer, aRts, ALSA, EsounD polypaudio, et al):

  • Please DO do some testing with crappy sound hardware. I don’t care if your sound system works great with a SoundBlasterLive 2006 with the kryptonite connectors, I have a laptop, for god’s sake. That means software mixing is essential, because cheapo hardware doesn’t do hardware mixing.
  • As an extension: please DO include software mixing by default. ALSA’s pretty good in general, but having to hack out 55 lines of hand-tweaked config file before software mixing works, is insane. (Especially when the Wiki documenting that is full of notes that some of the magic numbers may not work on your hardware.)
  • Please DO use existing APIs if possible. That means esd. I’m looking at you, aRts. At least the latest sound project, polypaudio, looks like it’s getting this right.
  • I DON’T care about network transparency, realtime response, or having a wah-wah pedal effect built into my sound server. That’s just silly. Use a modular architecture to allow that in future, but concentrate on getting the basic stuff working first!
  • Please DON’T hardcode output device or output ‘sink’ names into the source. Looking at the kgst component of KDE here.

Meh.

Anyway, here’s the scoop on what I had to do to get software mixing working in both GNOME, KDE, and Firefox, on my Thinkpad T40 running Debian unstable. Once I figured out the magic incantations, it now seems to be working without stutters or hangs.

Sometime in the next few months, of course, I plan to upgrade to Ubuntu Linux, and all bets will once again be off ;)