Linux: Linux sound is
still a mess. Due to the ever-changing ‘sound server of the week’
system used to decide how an app should output sound, it’s perfectly
possible to have 3 apps on your desktop happily making noise at the same
time, while another app complains about requiring exclusive access to
/dev/dsp
— or worse, hangs silently while it attempts to grab
an exclusive lock on the device.
This page gives a
reasonably good guide to getting software mixing working across
(virtually) all apps, using ALSA software mixing and esd
.
However, some cases are still very kludgy — in particular, JuK, the excellent KDE mp3 jukebox app, has a tendency to play poorly with others, requiring playback via no less than two sound servers — artsd and esd — to work correctly in the above setup. In addition, the support for mp3 files in artsd is buggy — it’s frequently unable to open certain mp3s, depending on how they were encoded.
Well, good news — the current release of JuK now supports direct playback from GStreamer via ALSA. Here’s how. By adding these lines:
[GStreamerPlayer] SinkName=alsasink
to ~/.kde/share/config/jukrc
, you can skip sending JuK mp3
playback via 2 sound servers, and just play directly to the hardware
from the mp3 player. An improvement! Not quite optimal, and
certainly not user-friendly — but getting there…