User Tools

Site Tools


choosing_a_linux_platform_for_live_synth

Choosing a Linux Platform for Live Synth

Distributions and General

There are many distributions today, and all of them have strengths. For our purposes however, we do need very recent kernels and recent versions of libraries across the board, and we also need as much stability with flexibility, and documentation, as possible. In my experiences this generally means the Testing release of Debian. Recently I have begun using Sparky Linux, which is a very nicely engineered best-of-many-versions Debian, with excellent results.

Hardware and Compatibility

One must watch the hardware. You'll know when you don't have enough power to fill your bill; JACK will tell you quite reliably about MHz, and htop is great to show you multicore status. Concerning compatibility, new kernels will support new hardware; if you're running a model of sound card which is entirely new in the current year, you may need a very new kernel indeed.

But not all sound cards are worthwhile for us: we need low latency, which empirically means “works very well and processes its data very fast”; more about this further down. Having been burned by more than one sound card which was widely claimed to be such, I recommend care, get reports from two other people before buying anything. All kinds of motherboard sound, not surprisingly, seem to be widely supported, but any very new hardware may need a new kernel to support it. See the Kernels section, below.

Primary support for sound, in today's Linux, is either in the kernel for PCI/PCIe/USB, or it is in the Firewire setup for Jack, called FFADO. There are other avenues – there are ways to retrofit newer versions of the ALSA sound system found in the kernel, to older kernel versions, and there is an entirely alternative sound system called OSS about which reports are often good – but these involve digging and replacement of pillars of stock distro elements, and this is time I am not going to spend away from the music :-D

At this moment I have my preferred sound system, a Behringer FCA202 Firewire interface, and a Prosonus AudioBox USB as backup. I don't dislike motherboard sound, but I deliver 96 kHz quality, and also there is a persistent interference/static/ground-loop problem which crops up in some locations, and Firewire seems to make defeating this easiest, all I need is one of these.

Desktop Manager

The choice of desktop manager can also make a big difference. Today we have quite a few more choices than we used to have; there is forking going on et cetera. It is useful to notice that the forking is going on, in part, explicitly to get away from the huge horsepower-and-memory-chomping graphics shells and fancy environmental add-ons which the very largest distro managements appear to think everyone wants. For synth, where we want every free cycle we can get, I heartily recommend an environment called LXDE, which can now be installed automatically by the package managers of any distro I would consider right now. There are others I have tested and used for periods, but thus far LXDE has given by far the best combination of speed, reliability, and lack of interference with our purposes here. In particular, many lite and medium-lite desktop managers are not permitting either deletion or complete disabling of something called gvfs, which although it is very nice to have in the general-purpose desktop, will often get in the way of smooth high-performance realtime audio. So far most distros' implementations of LXDE have gvfs as an option, not as a make-or-break, so LXDE I very much recommend for now.

Background Processes and Other Hidden Gotchas

There are many more issues which can hinder us. Anything which interrupts or inhibits the algorithmic delivery of the tonal datastream and signal to the audio hardware, may need to be addressed. These include certain automatic USB flash drive mounters (which is one of the functions of gvfs), some configurations of PulseAudio, some Bluetooth implementations, and many others.

PulseAudio, the de facto consumer/general-purpose audio transport, is a very good example. A number of years ago PulseAudio was a very significant gotcha on almost every distro I tried, it just would not cooperate with JACK. But the two have begun to cooperate much more. They still might not, depending on your particular setup needs, but they may.

Kernels

The kernel is the root core of the OS; nothing happens without the kernel, and a significant improvement in the kernel is usually a major improvement in everything else. One major benefit of Debian Testing and Sparky Linux, is we get to use the very high-performance kernels being put out by Liquorix. These are not only highly tweaked for speed and responsiveness, but they also are using very recent kernel code versions, which means the most complete driver sets which exist for Linux, and support of the most recent hardware available.

Liquorix kernels are available in 64-bit (recommended if you can use it), 32-bit non-PAE (for 4G RAM or less), or 32-bit PAE if you are running 32-bit OS on hardware with more than 4G RAM.

choosing_a_linux_platform_for_live_synth.txt · Last modified: 2016/01/24 15:22 by jeb