System Configuration Hints

From FreeBoB

Table of contents

Realtime behaviour of the Linux Kernel

In order to use FreeBoB without dropouts and other nasty issues, libfreebob tries to put itself in 'Realtime' mode. The best results are obtained by using a RT patched kernel.

Instructions on doing this can be found on the web

Kernels prior to 2.6.20 should be configured for desktop preemption, not for realtime preemption. Using realtime preemption will deadlock your system on such kernels. This is a know issue with the -rt patch in combination with the ieee1394 drivers.

For kernel 2.6.19 (and possibly lower) you can apply this patch to fix the issue. Note that this patch should be applied after applying the -rt patch.

As from kernel 2.6.20 and it's associated -rt patches, the deadlock issue is resolved, and realtime preemption is the recommended kernel configuration.

When choosing a distribution, I recommend using PlanetCCRMA (http://ccrma.stanford.edu/planetccrma/software/) on top of Fedora Core. This combination provides all you need pre-built, and it is also the system the FreeBob developers run, making it the best supported distro I guess. Other audio-centric distributions should also be well configured out of the box. The distro requirements for FreeBoB are no different from the requirements other audio applications have.

Optimal use of RT patched kernels

IRQ Threading and Priorities

Realtime scheduling for non-root users


Setting UDEV rules for ieee1394 devices

In order for ordinary users to be able to use the 1394 related device drivers, such as raw1394, one needs to make sure that the permissions of these devices are correct. On modern systems, this is done by changing the configuration of udev.

See UdevConfiguration


More info

These links provide more information:

  • Read the JACK FAQ (http://jackaudio.org/faq) at jackaudio.org.
  • Very interesting information can also be found on tapas' blog (http://tapas.affenbande.org/wordpress/)