Dependencies for ArchLinux

In case you're compiling FFADO for Arch Linux, I suggest you also take a look at the corresponding FFADO Manual page. There you'll find PKGBUILDs for building Arch Linux packages both for libffado and for recent JACK version. That will hopefully save you some work and will be a cleaner way to install libffado on your system. That said, the rest of this guide is a great way to learn more about the whole process and help yourself if you encounter any issues.

FFADO needs a few libraries along with D-Bus and PyQt? for the mixer/controlling part. The required packages are alsa-lib (>= 1.0.0), glibc, libxml++2 (>= 2.13.0), libraw1394 (>= 1.3.0), libiec61883 (>= 1.1.0), dbus (>= 1.0), pyqt and dbus-python. To install these, run

sudo pacman -S alsa-lib glibc libxml++2 libraw1394 libiec61883 dbus pyqt dbus-python

JACK package from the extra repository is not compiled with FFADO support, so you'll have to recompile it as well.

As said later in this guide, obviously, you also need kernel drivers for your IEEE 1394 controller along with the raw1394 driver and the ALSA sequencer driver. These are compiled in stock kernels by default, but in case you're compiling your own, be sure to have these options set:

CONFIG_IEEE1394=m
CONFIG_IEEE1394_OHCI1394=m
CONFIG_IEEE1394_RAWIO=m
CONFIG_SOUND=m
CONFIG_SND=m
CONFIG_SND_SEQUENCER=m

Also, beware of conflicts between this "old" IEEE 1394 kernel stack (ieee1394, ohci1394, raw1394) and the "new" one (firewire_core, firewire_ohci). If you have both compiled, don't load them both at the same time. I wasn't able to get libffado working with the new stack. To prevent it from loading, update the MOD_BLACKLIST in your /etc/rc.conf, for example like this:

MOD_BLACKLIST=(firewire-ohci firewire-core)

That way, only the old IEEE 1394 kernel stack will ever be loaded.

Attachments