ESD (Enlightened Sound Daemon)
More info
- Creator
- Eric B. Mitchell
- Released
- Type
- Sound server
- License
- GPL (library LGPL)
The 1998 sound server that let several programs make noise at once on a Linux whose sound card tolerated one opener at a time, and which GNOME carried around for ten years.
Eric B. Mitchell wrote ESD, also called EsounD, for Enlightenment, whose themes liked to attach a sound to every window event. The problem was OSS: /dev/dsp could be opened by one process only, so whoever played music silenced everyone else. esd opened the device itself, took PCM streams from programs over a Unix socket or TCP, mixed them in software and wrote the sum to the card. Working over the network was a deliberate nod to X: audio could play on the machine you sat at while the program ran elsewhere, protected by a cookie in ~/.esd_auth. Programs that knew nothing of the server were caught by esddsp, which used LD_PRELOAD to redirect their calls to /dev/dsp.
GNOME adopted ESD as its sound server in 1999 and kept it through all of GNOME 2, even though its noticeable delay made it useless for games and most media players bypassed it. Lennart Poettering's Polypaudio began in 2004 as a replacement that spoke the same protocol, was renamed PulseAudio and took over in the distributions in 2008; GNOME dropped the dependency the year after. KDE meanwhile had its own answer in aRts, with the same problems and the same ending.