State of the Art: Linux Audio 2008

An overview of current capabilities and achievements in Linux audio development.

Game Sound

Beyond PySol and XScrabble, I'm not much of a gamer. However, I do
follow the updates on the Linux Game Tome and the Linux Games sites,
and the scene for Linux gaming and game development clearly is alive
and active. Game-centric programming toolkits flourish; new games appear
frequently (with the attendant and predictable variability in quality),
and even the occasional port from Windows shows up. The common critique
I hear from avid gamers is that Linux is a great platform for running
games, but too few great games exist in native Linux versions. Indeed,
Windows users can claim a massive number of high-quality games available
only for that platform, but from this dabbler's perspective, the Linux
gaming world is healthy and developing nicely.

Most of the currently maintained game development toolkits (ClanLib,
Crystal Space and SDL) support ALSA and OSS, but the Allegro library also
supports JACK, which I think is very cool. The
OpenAL Project still is under development, but slowly. Creative Labs
and Apple have invested in the system's development, mainly for Vista
and OS X, but it appears that 3-D and surround sound (5.1, 7.1) are fully
supported in the Linux releases as well.

Embedded Devices

Linux-powered portable hardware is common these days, so we can expect
to encounter the Linux sound system at work in those devices too. Alas,
I own no such devices and cannot directly comment on implementation
and performance of the sound system in that hardware. However,
LinuxDevices.com publishes a handy on-line list of Linux-powered
audio/video devices, most of which are media players, set-top boxes,
integrated media phones and so forth. Two notable exceptions to the
category include Ron Stewart's amazing Trinity, a portable Linux-powered
DAW (Figure 2), and the Plugzilla, a rackmounted standalone audio plugins
player. I don't own either of those units, but both should be tested and
evaluated as soon as possible.

Figure 2. The Trinity DAW

Emulators and Proprietary Software

The Wine Project has reached its 1.0 release stage. Among its many
virtues, we find support for a variety of audio/MIDI back ends, including
ALSA, JACK and OSS. Some sound and music programs for Windows
run flawlessly with Wine, including Cockos Software's excellent Reaper
audio/MIDI sequencer, thanks to work on the wineasio driver. This driver
communicates with Wine's JACK support to yield surprising low-latency
performance when running ASIO-compliant Windows applications under Wine,
including VST/VSTi plugins. However, even with wineasio, it still
is unlikely that the major music and sound packages for Windows (Cubase,
Logic, Finale and so on) will run flawlessly under Wine. Those programs tend
to be large packages with a complicated relationship to the operating
system, typically more complicated than can be emulated with Wine.

Ardi's Executor, a Mac OS emulator, is gone, but at least two good
Atari emulators remain. If you want to run all that late 1980s MIDI music
software written for the Motorola 68K CPUs, XSteem and Hatari will do
the job. Alas, the Steem Project appears to on hold, but Hatari is in
current development.

The DOSemu Project continues on its steady development track. Recent
releases include significant improvements to the emulator's sound and
music capabilities, better integrating its functions with the kernel's
ALSA system. The DOSBox Project supports sound through the SDL audio
library, with special emphasis on game sound compatibility. MIDI output
is supported, but current versions lack MIDI input capability.

Emulators may become relics if virtualization delivers equal or better
performance. I have not yet tested music and sound applications in
environments such as VMware or VirtualBox, but the specifications for
those systems typically include ALSA and OSS support via virtualized
hardware. Unfortunately, the virtual sound devices are compatible typically
with the SoundBlaster16 or Intel's ubiquitous AC97 audio codec. These
devices are sufficient for low-demand programs, but they are not suitable
for use with high-end music and sound software for Windows.

A few intrepid commercial sound and music software houses have offered
Linux ports of their packages. The Renoise tracker (Figure 3) is available
in an excellent version for native Linux. Jorgen Aase's energyXT2 DAW
(digital audio workstation) has a sizable base of Linux users, and
Garritan recently announced that Aria, its next-generation sampler
engine, will be available in a native Linux version. Other vendors, such as
NCH Software (WavePad) and Cockos (Reaper), advertise that their programs
work with Wine and extend official support to that environment.

Figure 3. Renoise in Its Native Linux Version

The number of these packages hardly constitutes a flood of releases
from major Windows developers, but such small streams can grow. More
users are becoming interested in Linux, and some percentage of those
users will be focused on its audio capabilities and its applications
for sound and music production. An opportunity exists for commercial
developers to expand into the Linux world, and their way has been made
clear by the solidity of the Linux audio infrastructure. I applaud the
houses that already have crossed into the Linux world, but it
remains to be seen whether these motivations and attractions are strong
enough to compel other commercial houses to develop native Linux packages
of their software.

Trending Topics

Webinar: 8 Signs You’re Beyond Cron

Scheduling Crontabs With an Enterprise Scheduler
11am CDT, April 29th

Join Linux Journal and Pat Cameron, Director of Automation Technology at HelpSystems, as they discuss the eight primary advantages of moving beyond cron job scheduling. In this webinar, you’ll learn about integrating cron with an enterprise scheduler.