Installation Guide - Compiling RC 1 for Arch Linux

FFADO needs a few libraries along with D-Bus and PyQt for the mixer/controlling part. These are included as dependencies in the PKGBUILD, so they should be installed automatically when running makepkg with the -s switch.

JACK package from the extra repository is not compiled with FFADO support, so you’ll have to recompile it as well. You can choose either the 0.115.6 or build from SVN.

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. (Note: Although libraw1394 2.0.0 supports the new stack, I wasn’t able to get libffado working with it – libiec61883 was complaining about something. To prevent the new stack 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.)

If you’ve never compiled a package in Arch Linux before, you might want to check out some info about the Arch Build System and the makepkg utility along with the corresponding man pages before carrying on.

  1. Build and install libffado:

     mkdir -p /var/abs/local/libffado
     cd /var/abs/local/libffado
     wget -O PKGBUILD http://ffado.org/files/libffado.PKGBUILD.txt
     makepkg -is
    
  2. Remove your current installation of JACK:

     sudo pacman -Rd jack-audio-connection-kit
    
  3. Build and install either the latest JACK release:

     mkdir -p /var/abs/local/jack-audio-connection-kit
     cd /var/abs/local/jack-audio-connection-kit
     wget -O PKGBUILD http://ffado.org/files/jack.PKGBUILD.txt
     makepkg -is
    

    or a recent development version:

     mkdir -p /var/abs/local/jack-audio-connection-kit-svn
     cd /var/abs/local/jack-audio-connection-kit-svn
     wget -O PKGBUILD http://ffado.org/files/jack-svn.PKGBUILD.txt
     makepkg -is
    

If everything went fine, you should be able to run JACK with FFADO now:

jack -R -d firewire

If you’re not and you have no idea what’s wrong, have a look at the Reporting problems article and post the output on the ffado-users mailing list.

Please note, that the PKGBUILD for libffado enables compiler optimizations and disables building of a debug build. If you’d need any assistance from FFADO developers, build a non-optimized debug build of libffado first and tell makepkg to leave all the debug symbols in place. That means:

  • edit the PKGBUILD for libffado and replace

      options=('!libtool' 'strip')
    

    with

      options=('!libtool' '!strip')
    
  • replace

      DEBUG=no ENABLE_OPTIMIZATIONS=yes
    

    with

      DEBUG=yes ENABLE_OPTIMIZATIONS=no
    
  • save and rebuild the package.

Attachments