Archive for March, 2010

Configuring the Fedora-based DAW (Part 2)

Thursday, March 11th, 2010

In this installment, I will change the permissions on the raw firewire device so it can be read and written by my user account.  I already created a group called “audio”, and I have added my account to the group.

There is a good description of how to set up the device permissions on the ffado web site.  Currently, the raw firewire device is owned by root and the root group:

$ ls -la /dev/raw1394
crw-rw—-. 1 root root 171, 0 2010-03-11 02:50 /dev/raw1394

To change this, I will add a rule to udev to put it in the audio group.  I will also set it to be readable and writable by its group.  I am putting the following in the file /etc/udev/rules.d/50-raw1394.rules:

KERNEL==”raw1394*”, GROUP=”audio”, MODE=”0660″

Next, tell udev to reread its rules:
# udevadm control –reload-rules

Now I will reload the raw1394 module:

# rmmod raw1394
# modprobe raw1394

Now the device is owned by the audio group:

$ ls -la /dev/raw1394
crw-rw—-. 1 root audio 171, 0 2010-03-11 03:05 /dev/raw1394

In the next post, I will test starting jack.

Configuring the Fedora-based DAW (Part 1)

Thursday, March 11th, 2010

A number of steps are necessary (or recommended)  to configure the system for use as a DAW.  This is part one of probably quite a few parts where I will discuss what I do as I attempt to set this up.

The first thing I did was to configure rtirq to prioritize the firewire driver.  By default, rtirq does not prioritize interrupts for firewire devices.  Since I have a Presonus Firebox, I need to change this.  This is quite simple to do.  I opened the file /etc/sysconfig/rtirq and added ohci to the value of the variable RTIRQ_NAME_LIST, right after the real time clock.  It now reads:

RTIRQ_NAME_LIST=”rtc ohci snd usb i8042″

After making this change, you just need to restart the service, and the interrupt threads will be re-prioritized as required.

The next change I made was to create a new group, called audio, and add my account to the group.  Now I can configure permissions of the firewire device to be accessible by the audio group, and I will be able to use it.  More on that in the next post.

Adding Important Audio Packages

Saturday, March 6th, 2010

Once you have installed the Planet CCRMA repository, you will want to install many of the packages from it.  Fortunately, this is simplified by the existence of several meta packages that are included in the repo.  These packages are planetccrma-core and planetccrma-apps.  These packages don’t include any files, but rather require other packages, and are useful for pulling in bundles of other packages.

planetccrma-core includes the kernel with the real time patches applied to it, the rtirq script, and some alsa packages.  The Planet CCRMA installation instructions recommends making a change in the yum configuration before installing this package.  In the file /etc/yum.conf, they recommend setting installonly_limit to 0.  This will make yum keep an unlimited number of kernels, instead of just the default of 2.  I have done this, however, I now have 11 regular kernels installed, plus the rt one from CCRMA.  A better choice might be something more like 4 or 5.  Once this change is made, you can go ahead and use yum to install planetccrma-core.

planetccrma-apps is another meta package which requires every major audio creation application in CCRMA or the Fedora repo.  When I first set up my computer, this package did not yet exist for Fedora 11 (there were a few packages that had not yet been built for Fedora 11 at the time) so I manually selected the packages that I wanted to install, including ardour, hydrogen, qjackctl, and all of the ladspa and lv2 plugin packages.  I tried again on Friday, but now the problem is that one of the CCRMA packages (slime-sbcl) depends on a particular version of another package (sbcl), but that package has just been updated in Fedora’s repository, so the dependency cannot be met, and yum won’t install the meta package.  This is expected to be fixed soon.  But it is possible to install what you need manually, and, in fact, this may be better, since not everyone needs all of the packages that would be pulled in by installing the meta package, anyway.

Adding Repositories

Wednesday, March 3rd, 2010

In addition to the Fedora release and update repositories, I have added several other repositories, RPM Fusion, freshrpms.net, and, most importantly for these purposes, Planet CCRMA.

RPM Fusion is useful for providing libraries for playing different types of media files that are not supported by Fedora out of the box.  For example, if you want to be able to play (or make) mp3s, you will want to use this repository.  It also provides packages for some proprietary drivers, such as those provided by ATI and Nvidia for their graphics cards.  These graphics drivers are not critical for doing audio work, and I have read that these drivers may actually be harmful to low latency audio.  But if you are also interested in using Blender, or playing games, then you may want to use them anyway.  Right now I am using the free drivers for my ATI Raseon HD 4350 based adapter, which does not do 3D acceleration yet, but this is evidently a work in progress now.

Freshrpms currently only has one package, libdvdcss, since it has mostly been merged into RPM Fusion.  This library is used to play encrypted DVDs.  This of course is also not necessary for audio work.

The third and most important repository is Planet CCRMA.  This repository contains packages for kernels that have the real time patches applied, as well as many other audio related applications and libraries.  If you want to do any sort of audio work on Fedora, you will definitely want to use this repository.

Adding these repositories is pretty simple.  It is just a matter of installing an rpm for each repo.  For RPM Fusion, you can go to the RPM Fusion configuration page and follow the directions.  This repository actually has two separate repositories, free and non-free.  If you only want free software, or if you only need the media format support but not the proprietary drivers, you can install just the free repo and ignore the non-free.  If in doubt, look through what is in each repo, and decide what you need.

You can add the Freshrpms repository by installing the release rpm for that repository.  Note that this will add the repo for Fedora 11, which is the version that I have installed on my computer.  It appears that Freshrpms does not yet have a separate version for Fedora 12, so that most likely means that the Fedora 11 version still suffices for Fedora 12.

To add the Planet CCRMA repo, I installed the Planet CCRMA repo file for Fedora 11.  Note that unlike the others, this file does not include the word “release” in it, instead the package is called planetccrma-repo.  After adding this repo, you will want to install a number of packages from it.  I will cover that in my next post.