next up previous
Next: Understanding low latency Up: Planet CCRMA at home Previous: Installing Planet CCRMA on


Installing Planet CCRMA on CentOS 5

The Planet CCRMA package collection for CentOS 5 (i386 or x86_64 architectures) resides in a Yum (Yellowdog Updater Modified) repository that can be accessed through the Internet.

You will need to have a reasonably fast network connection to the world to install Planet CCRMA by connecting directly to its repository or one of its mirrors.

Installing Planet CCRMA is easy. You will be guided through the install process in the following pages.


Installing CentOS

The first step is to install CentOS 5 itself. You can download cdrom or dvd images from the main CentOS site or one of its mirrors.

Regardless of which dvd or cdrom you use, make sure you upgrade to the latest security and functionality upgrades before proceeding. Run this (as root) from a terminal if you have not yet upgraded:

yum upgrade

It could take a long time to download and install all the upgrades...


Adding the Planet CCRMA repositories

You now need to add the proper urls to your Yum configuration files so that it can access the Planet CCRMA repositories.

You will also need to install the Fedora EPEL Yum configuration. Fedora EPEL is a collection of additional packages for CentOS, some of which are required to install some parts of Planet CCRMA.

Type this to install configuration files for Yum that will enable it to access the Planet CCRMA and EPEL repositories (this works for both i386 and x86_64 architectures):

rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm
rpm -Uvh http://ccrma.stanford.edu/planetccrma/mirror/centos/linux/planetccrma/5/i386/planetccrma-repo-1.1-1.el5.ccrma.noarch.rpm


Installing the low latency kernel

Planet CCRMA provides a version of the Linux kernel that includes the realtime preemption patches by Ingo Molnar. While the stock CentOS kernels will also work for non-critical audio work the realtime preemption patches are pretty much a requirement for reliable behavior at low latencies.

CentOS, by default, only keeps the last three installed kernels. As the realtime kernels are more experimental than the stock CentOS kernel it is wiser to keep all versions until you decide it is time to erase them (after testing that a new kernel actually works).

To change this edit /etc/yum.conf and modify the installonly_limit option to read:

installonly_limit=0

NOTE: we are not installing the kernels directly. There's a reason. The planetccrma-core package is empty but it requires all the actual packages needed, and with the proper versions. The core packages include the patched kernel itself, a startup script that reorders the priority of the interrupt handling to favor the sound cards and several additional components of the ALSA system.

So, go ahead and install the Planet realtime kernel:

yum install planetccrma-core


Testing the new kernel

At this point you can cross your fingers and reboot the machine. At the grub prompt press any key to access the boot menu and then select the kernel you want to try (the Planet CCRMA kernel, if it was the last kernel installed it should be the default).

If at any time you want or need to change the default boot kernel you can edit the /boot/grub/grub.conf file and changing the ``default='' line to point to the kernel you want to boot by default. Kernels are zero base indexed, ``0'' being the first in the list of kernels that follows the default line. Depending on how many kernels you just installed, and which one you want to boot by default, the ``default='' line should read ``0'' or ``1''.


Installing applications

You are done with the hard stuff. At this point you have a machine that has a low latency kernel and it is booting happily.

Now you have to install the actual applications and start having fun!

One way to do this is to just go ahead and browse through the web pages of the Planet CCRMA repoview for i386 (or here for the Planet CCRMA Core components). Or the Planet CCRMA repoview for x86_64 (or here for the Planet CCRMA Core components)

Planet CCRMA provides a meta package (an empty package that requires other packages) so that you can install all major apps in one yum incantation. If you want to do that, then type this in a terminal (as root):

yum install planetccrma-apps

Good luck in your explorations of the musical world hosted on Linux! Be patient, if you are coming from other operating systems there is a new world to learn and discover. Getting to know it is rewarding but it will take time.


Release Notes

Packages or subsystems that are different from the stock CentOS and Fedora EPEL ones:

  1. Kernel the Planet CCRMA realtime kernel (kernel-rt) is patched with Ingo Molnar's realtime preemption patch, configured with its most aggressive option (CONFIG_PREEMPT_RT). This ensures that Jack will be able to use very low latencies with a low risk of dropouts and glitches. But this kernel is less stable than the stock kernel and may not even boot with certain hardware configurations. Please let Ingo know if you are hitting problems.

  2. Jack Audio Connection Kit Planet CCRMA includes a newer version of the Jackd sound server. It includes:

    • runtime optimization for using vector instructions in CPUs that support them
    • resets /etc/security/limits.conf so that all users have access to realtime scheduling and memory locking
    • enables access to the raw1394 devices so that freebob devices work out of the box
    • runs the jackd realtime threads at the proper priority that matches the realtime kernel and rtirq tuned priorities (higher than the default used in Fedora's version of Jack).



Subsections
next up previous
Next: Understanding low latency Up: Planet CCRMA at home Previous: Installing Planet CCRMA on

© Copyright 2001...2011 Fernando Lopez-Lezcano, CCRMA, Stanford University.
All rights reserved.