Installation

For generic and up-to-date installation documentation, please see http://subversion.ffado.org/wiki/InstallingFfadoFromSource.

This post is no longer needed, since FFADO has fallback discovery of the Phonic Helix MKII from FFADO RC2

FFADO for Phonic Helix 24mkII on Xubuntu 7.10. Testet on a P4 2.4Ghz single core with 768MB of 2100DDR RAM (266Mhz) and a VIA VT6306 ohci1394 chipset PCI card.

  1. Install realtime kernel:

     $ sudo apt-get install linux-headers-2.6.22-14-rt linux-image-2.6.22-14-rt linux-restricted-modules-2.6.22-14-rt linux-ubuntu-modules-2.6.22-14-rt
     $ sudo reboot
    
  2. Install ubuntu studio through synatic (Don’t think this is necessary. Just nice to have):

     $ sudo apt-get install ubuntustudio-audio
    
  3. Install subversion (SVN) This is needed download of some of the newest version not yet available as .deb packages:

     $ sudo apt-get install subversion
    
  4. Install c++ compiler (You’ll probaly need the xubuntu installation CDROM for this):

     $ sudo apt-get install g++
    
  5. Install libs and tools needed for compiling drivers etc.:

     $ sudo apt-get install autoconf automake libtool libxml2-dev libcap-dev libasound2-dev libxml++2.6-dev libdbus-1-dev libexpat1-dev liblo-dev sconspython-qt4 python-qt4-dev docbook-utils pyqt-tools
    
  6. Install libraw1394 from SVN:

     $ svn co svn://svn.linux1394.org/libraw1394/trunk
     $ cd libraw1394/trunk
     $ sh autogen.sh
     $ autoreconf -f -i -s
     $ ./configure
     $ make
     $ sudo make install
     $ sudo mknod -m666 /dev/raw1394 c 171 0
    
  7. Install musical transportation standard iec61883 library from SVN:

     $ svn checkout svn://svn.linux1394.org/libiec61883/trunk/ libiec61883
     $ cd libiec61883
     $ sh autogen.sh
     $ autoreconf -f -i -s
     $ ./configure
     $ make
     $ sudo make install
    
  8. Finally Install the FFADO driver from SVN:

     $ svn co http://subversion.ffado.org/ffado/trunk libffado
     $ scons -h
     $ scons
     $ sudo scons install
    

    (Disregard scons errors like: “Exception exceptions.TypeError: TypeError("‘NoneType’ object is not callable”,)")

  9. To make sure jackd works with new ffado, Install Jackd from SVN:

     $ svn co http://subversion.jackaudio.org/jack/trunk/jack
     $ cd jack
     $ sh autogen.sh
     $ ./configure --prefix=/usr
     $ make
     $ sudo make install
    
  10. Install QJackCTL (if you like to have a graphical gui) from SVN

     $ sudo apt-get install cvs
     $ sudo apt-get install libqt4-dev (This install almost 80mb of required packages, puh)
     $ cvs -d:pserver:anonymous@qjackctl.cvs.sourceforge.net:/cvsroot/qjackctl login
     Enter blank password
     $ cvs -z3 -d:pserver:anonymous@qjackctl.cvs.sourceforge.net:/cvsroot/qjackctl co qjackctl
     $ cd qjackctl
     $ make -f Makefile.cvs
     $ ./configure --prefix=/usr
     $ make
     $ sudo make install
    
  11. Make it possible to start jackd in RealTme:

     $ sudo vi /etc/security/limits.conf
    

    Add following 3 lines:

      - rtprio 99
      - nice -10
      - memlock 5120000
    

    Save and exit VI You’ll need to logout and login again for that to take effect.

  12. Make sure /dev/raw1394 exists, otherwise create it again by

     $ sudo mknod -m666 /dev/raw1394 c 171 0
    
  13. Configure the correct rights for /dev/raw1394, so your normal unprivilledge user can access it. This might introduce a system security risk, but i know no other way:

     $ sudo vi /etc/udev/rules.d/40-permissions.rules
    

    locate line containing: KERNEL=="raw1394”, GROUP="disk”

    add:

    , MODE="0666"
    

    so it looks like:

    KERNEL=="raw1394", GROUP="disk", MODE="0666"
    

    save and exit VI

     $ sudo /etc/init.d/udev restart
    

Now you should be good to go!! start up qjackctl and choose firewire as the backend, realtime and priority of 70

Other interesting links might be: