next up previous
Next: Installing Planet CCRMA on Up: Planet CCRMA at home Previous: What is Planet CCRMA

Installing Planet CCRMA on Fedora 11 or 12

The Planet CCRMA package collection for Fedora 11 or 12 (i386 or x86_64 architectures) resides in a yum 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 Fedora

The first step is to install Fedora 11 or 12. You can download cdrom or dvd images from the main Fedora site at RedHat or one of its mirrors. Or you can use the re-spins from the Fedora Unity project which include more up to date packages and will save you a lot of downloads later.

Your first choice is to whether install the 32 bit (i386) or 64 bit (x86_64) version of the base operating system. I would recommend 32 bits at this point, specially if you want to use experimental music environments that are still not available for 64 bit versions of linux (that includes, as of this writing, Pd and ChuCK).

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.

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

For Fedora 11:

rpm -Uvh

For Fedora 12:

rpm -Uvh

Installing applications

Now you can install the actual sound and music programs and start having fun! You can browse the list of available packages here:

NOTE: don't be surprised if you don't find, say, Ardour, in the Planet CCRMA package repositories. Many applications have migrated (and are still migrating) to the Fedora repositories so look there as well. Eventually everything will move there, but it is a long process (packagers welcome!) Or use yumex to browse for packages with a gui.

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

yum install planetccrma-apps

Some additional shortcuts:

  • to install all SuperCollider 3 packages type:

    yum install supercollider-world

  • to install all Pd packages type:

    yum install pd-extended

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.

Multiple sound cards

Fedora speeds up the boot process by loading device drivers for hardware in parallel. That means the load order of the drivers for soundcards is not predictable. If you are not using USB soundcards there is a possible workaround (see below), otherwise it is impossible to make sure the cards have consistent fixed indexes as USB drivers are loaded very early in the boot process.

In any case, it is now recommended to address soundcards by name instead of index number (which can change from boot to boot). You will need to do this, for example, to set the card that the Jack sound server will use if you start it from the command line or through Qjackctl.

To find out the name you want to use go to a terminal and type:

cat /proc/asound/cards

This is what I get in my workstation here at CCRMA:

cat /proc/asound/cards
 0 [M66            ]: ICE1712 - M Audio Delta 66
                      M Audio Delta 66 at 0xe880, irq 18
 1 [Intel          ]: HDA-Intel - HDA Intel
                      HDA Intel at 0xfe8f8000 irq 22

If I want to use the first soundcard listed there (the MAudio Delta 66) I could use ``hw:0'' but the index could change in the next boot. The answer is to use ``hw:M66'' instead (the name is in between square brackets). If you do that you will always use the proper card regardless of the load order of device drivers.

Multiple sound cards workaround

NOTE: The following is optional, only useful if you are not using USB soundcards, and if for some reason you don't want to use the name of the card to address it as outlined above.

Typing this in a terminal will show you which cards you have and what is their current order:

cat /proc/asound/cards

If you see just one card you should be fine and can ignore the rest of this section.

Otherwise you will need to add (as root) /etc/modprobe.d/local.conf if it does not exist and add some magic so that the card device drivers are always loaded in the same order.

You can use the following template as a basis for what you have to add to local.conf. If local.conf already exists just add to this at the end:

alias snd-card-0 snd-CARD_0
options snd-card-0 index=0
options snd-CARD_0 index=0
alias snd-card-1 snd-CARD_1
options snd-card-1 index=1
options snd-CARD_1 index=1
alias snd-card-N snd-CARD_N
options snd-card-N index=N
options snd-CARD_N index=N

In this template ``...'' stands for more lines here, one for each extra card (don't copy the dots! :-) ``CARD_N'' is the name of the kernel module that corresponds to the card you want in position ``N'' (N=0 is the first card, usually the default device used by all programs).

If you don't know what kernel module your card uses just do this as root from a terminal:

/sbin/lsmod | grep ^snd

This will list all the soundcard related kernel modules. From the list and the output for ``cat /proc/asound/cards'' you should be able to figure out which is which.

Here is a filled in example that includes three cards:

alias snd-card-0 snd-ice1712
options snd-card-0 index=0
options snd-ice1712 index=0
alias snd-card-1 snd-ens1370
options snd-card-1 index=1
options snd-ens1370 index=1
alias snd-card-2 snd-usb-audio
options snd-card-2 index=2
options snd-usb-audio index=2

As there is currently no clean way to reload the whole alsa subsystem just reboot the machine. From now on the cards you have should always appear in the same order.

Installing the low latency kernel

The Planet CCRMA low latency kernels include the rt patch. The patch modifies the kernel in a way that lowers its latency. This is critical for running audio programs (specially the Jack sound server) with very small buffers. Features of this set of patches have been slowly percolating to the regular mainline kernel over the years with the result that current Fedora stock kernels are not that bad. But if you plan on using Jack or other audio applications with very small buffers, say 128 or 64 frames, you will probably need to use the realtime kernel for best results. So, if you try the Fedora kernel and it is good enough for your purposes you don't really need to install the Planet CCRMA rt kernel.

Fedora, by default, only keeps the last two installed kernels. As the realtime kernels are more experimental than the stock Fedora kernels 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:


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 device driver and utilities system.

So, go ahead and install the Planet realtime kernel:

yum install planetccrma-core

If you have more than 4Gytes of RAM and you installed the 32 bit version of the operating system you can install the following kernel instead:

yum install planetccrma-core-PAE

(NOTE: in Fedora 12 the PAE kernel is the default and the non-PAE version no longer exists).

The PAE (Physical Address Extension kernel will be able to address all your memory. Individual applications will still be limited to 4G of addressing but that is, at least in my experience, plenty for now.

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, 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''.

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. Just start making music!

The Planet CCRMA testing repositories

Some applications live in the Planet CCRMA testing repositories. To install their configuration files type this (all in one line):

For Fedora 11:

rpm -Uvh

For Fedora 12:

rpm -Uvh

You can browse the list of available packages here:

next up previous
Next: Installing Planet CCRMA on Up: Planet CCRMA at home Previous: What is Planet CCRMA

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