State of the Art: Linux Audio 2008
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.
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.
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.
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.
Similis sum folio de quo ludunt venti.
Special Reports: DevOps
Have projects in development that need help? Have a great development operation in place that can ALWAYS be better? Regardless of where you are in your DevOps process, Linux Journal can help!
With deep focus on Collaborative Development, Continuous Testing and Release & Deployment, we offer here the DEFINITIVE DevOps for Dummies, a mobile Application Development Primer, advice & help from the experts, plus a host of other books, videos, podcasts and more. All free with a quick, one-time registration. Start browsing now...
- The Ubuntu Conspiracy
- A First Look at IBM's New Linux Servers
- Vigilante Malware
- Disney's Linux Light Bulbs (Not a "Luxo Jr." Reboot)
- Vagrant Simplified
- Libreboot on an X60, Part I: the Setup
- System Status as SMS Text Messages
- Dealing with Boundary Issues
- Bluetooth Hacks
- Non-Linux FOSS: Code Your Way To Victory!