FFADO 2.0 Release Candidate 1 (1.999.40) available

FFADO 2.0 Release Candidate 1 (1.999.40) available

The FFADO team is proud to announce the first release candidate for FFADO 2.0.

This release candidat is intended to collect feedback about the library under wide-spread usage. The code should be free of major bugs. It is recommended that you have a basic amount of experience with Linux and with building software before you try to install this.

We are looking for packagers that are interested in creating packages for their favourite distro.

An elaborate changelog can be found below.

Please review this package thoroughly in order to spot potential problems. Feedback on distribution aspects and documentation is also welcome.


This release provides the libffado shared library that provides a unified programming interface to configure and use all supported devices. Currently this library is used by the 'firewire' backend of the jack audio connection kit sound server (http://jackaudio.org). This backend provides audio and midi support, and is available both in jackd and it's multiprocessor variant jackdmp. (note: At the moment there is no support for ALSA nor for pulseaudio.)

Access to the device internal configuration (e,g, internal mixer) is exposed using the ffado-dbus-server daemon. This daemon exposes the configurable parameters of all detected devices through DBUS. The ffadomixer application in support/mixer presents a basic GUI to control these parameters (only for officially supported devices).


  • 24-bit audio input/output (unlimited number of channels)
  • supports for all sample rates a device supports
  • MIDI input/output (unlimited number of channels)
  • Support for S/PDIF and ADAT/SMUX I/O
  • Support for external sync (e.g. Wordclock)
  • Internal mixer and device control support for all officially supported
    devices (NOTE: no support for internal effects DSP)
  • Support for device aggregation (limited to devices on the same bus that are synced externally)

Usage feedback

This release introduces an option where you can identify your device as being used on Linux with FFADO. You will be asked whether you want to submit your device information to ffado.org. The reason this feature is present is to convince the supportive vendors that their cooperation pays off, and to convince the other vendors that Linux users are a market. A secondary advantage is that we can keep track of what versions are used by how many people.

Therefore we would like to ask everyone to perform this registration. No personal data is transmitted (except for an optional email address). The IP address of the submitter is saved to help recovery in case the database is bombed with bogus data. However the address is first processed by one-way MD5 hashing it, such that it is not recoverable and privacy is secured. This usage information is of enormous importance for future device support. The aggregated statistics are available here: http://www.ffado.org/?q=usage.


Beta7 => RC1

  • Various packaging improvements and fixes.
  • Install both the qt3 and the qt4 mixer when the needed tools are available.
  • Add ffado-diag to the installed tools
  • Disable the nickname control for devices that don't support it
  • Various QT4 mixer improvements
  • Increase efficiency while streaming
  • Fix some CTR wraparound bugs
  • Fix bebob fallback discovery
  • Fix AV/C based sync source selection
  • Fix Saffire Pro sync source selection
  • Fix Saffire Pro and Saffire (LE) samplerate selection
  • Fix jack freewheeling bug
  • Add workaround for Edirol FA-101 firmware race condition

Beta6 => Beta7

  • General code cleanup
  • Improve mixers of various devices (especially the MOTU and Edirol mixers)
  • Port mixers to QT4 for better usability (QT3 mixers still work but are deprecated)
  • Implement support for ECHO session blocks
  • Fix Focusrite Saffire Pro clock source selection
  • Implement configuration file mechanism to ease run-time configuration
  • Improve the behavior when confronted with dying iso transmit handlers
  • Reset transmit buffer rate DLL on XRUN.
  • Improve bus reset handling
  • Improve reliability of ISO streaming on various host controllers
  • Fix discovery issues with DM1x00 based devices (especially Edirol devices)
  • Remove the dependency on libavc1394 by implementing our own FCP transaction support
  • Fix float to int conversion dynamic range bug in the AMDTP StreamProcessor

Beta5 => Beta6

  • implement discovery fallback (tries generic support when encountering an unsupported device)
  • fix gcc-4.3 compilation issues
  • take CC and CXX from the environment if defined there
  • implement separate mixer for Phase X24 and Phase 24
  • fix saffire mixer
  • fix cache issues
  • fix clock source segfault
  • fix ffadomixer python 2.4 compatibility
  • use FocusRite vendor-specific clock selection for the Saffire PRO devices

Beta4 => Beta5

  • fix BeBoB flooding issues
  • numerous mixer improvements
  • fix threading issues
  • remove all unused code
  • fix clocksource selection bugs
  • fix 64bit compilation issue
  • improve library behavior in error situations
  • improve shutdown of MOTU interfaces
  • make dbus server handle busresets cleanly

Beta3 => Beta4

  • fix bugs in BeBoB caching code
  • extend Saffire PRO26 mixer
  • various mixer improvements
  • switch back to BeBoB discovery code for FA-101

Beta2 => Beta3

  • fix memory corruption bug in saffire LE mixer code
  • various debugging code improvements
  • create config save directory if not present.
  • change registration window looks.
  • various MOTU mixer improvements
  • workaround MOTU not setting a vendor/model name
  • one window for all mixers, tabbed.
  • fix CTR reconstruction bug
  • Add a generic part for each mixer controlling the nickname and the clocksource.
  • Rework/resort the initialization of mixer-widgets...
  • fix issues in timestamp usage
  • re-enable late transmission
  • switched off all extended debugging features by default

Beta1 => Beta2

  • Correct issues in the README file
  • Remove unneeded ALSA dependency
  • Several mixer improvements
  • Implement usage statistics gathering

Building and Installing

Please refer to the README document in the package. Not doing so means taking a risk ;).


Binary Packages

This beta release is available through our APT repository.

Source Distribution

libffado-2.0-rc1.tar.gz747.65 KB


RC1 breaks Motu support, got bitten by this myself and found a post on the mailing list telling me to use beta7 instead. Which works perfectly fine for me (828mkII). So Motu users: stick with beta7

As a side note, the ffado-mixer apparently reports my vendor id and product id as "unknown", so I'm holding off registering my device for now. Is there any way to manually input the brand and model?