Drafts for Vendor Support info
(cobbled together in a hurry by nettings, will be polished over the next couple of days - Mon Feb 6 01:38:32 2012).
"Configuring" a firewire audio device via your distro's config tool
In order to give your users the same ease of configuration as with PCI sound cards, your config tool would need to do the following if a user selects a firewire audio device:
- install the latest version of JACK (0.112.x as of this writing)
- make sure the raw1394 module gets loaded when the user plugs the device in
- make sure the user has r/w access to /dev/raw1394 (most distros grant access to the group "video" only)
FIXME: does udev allow ACLs? If so, both "audio" and "video" groups could be allowed access.
FIXME: provide udev example rule file, maybe with different permissions depending on device class (audio or video)...
- start the ffado-dbus-server process by default when the user logs in (needed to run ffadomixer and to access the device).
- inform the user that s/he might want to switch to an rt-patched kernel for best performance (though not mandatory for "desktop" use)
- optionally provide an rt-patched kernel
- inform the user that plain ALSA/OSS applications will not work, only JACK apps
FIXME: is there a hack to allow non-jackified clients to play audio via ffado?
providing a realtime kernel
- latest rt patchset from http://kernel.org/pub/linux/kernel/projects/rt
- corresponding kernel from http://kernel.org/pub/linux/kernel
- appropriate permissions in /etc/security/limits.conf
@realtime - memlock 448000 @realtime - rtprio 99
users should try and copy the configuration from their original distribution kernel when attempting their first rt-patched kernel:
tar xvjf linux-<latest>.tar.bz2
bunzip2 patch-<latest>-rt.bz2
cd linux-<latest>
patch -p1 < ../patch-<latest>-rt
cp /proc/config.gz .
gunzip config.gz
make xconfig
(select "fully preemptible". FIXME: what about HZ and hires timers?)
JACK
FIXME: recommended JACK version? Pieter recommends http://subversion.ffado.org/attachment/wiki/DevelopmentReleases/jack-audio-connection-kit-0.106.99.tar.gz
Distibutors should definitely include qjackctl as standard JACK user interface.
FIXME: recommended version? - probably latest svn.
