- Blacklist firewire sound kernel modules to prevent ALSA and PulseAudio from managing them by creating a file like
/etc/modprobe.d/blacklist-snd-firewire.conf
:
# This fixes the usage of firewire soundcards with Jack by
# preventing ALSA from handling the device.
# Only modules used for the Edirol FA-66 are blacklisted.
#
# For details refer to:
# https://wiki.archlinux.org/index.php/JACK_Audio_Connection_Kit
# https://github.com/takaswie/snd-firewire-improve/blob/315dcdc4e430d44a6e109a015beecb8515fbe634/sound/firewire/Kconfig
#blacklist snd-fireworks
blacklist snd-bebob
#blacklist snd-oxfw
#blacklist snd-dice
#blacklist snd-firewire-digi00x
#blacklist snd-firewire-tascam
blacklist snd-firewire-lib
#blacklist snd-firewire-transceiver
#blacklist snd-fireface
#blacklist snd-firewire-motu
- reboot or unload the relevant kernel modules with
rmmod MODULE_NAME
- Install jack2:
pacman -S jack2
- Create the following service unit file in
~/.config/systemd/user/jackd.service
:
# ~/.config/systemd/user/jackd.service
[Unit]
Description=JACK daemon for Edirol FA-66 firewire interface
[Service]
Type=simple
ExecStart=/usr/bin/jackd --realtime -d firewire
jackd -d firewire --help
shows you additional options but I had no luck with non-default settings for my Edirol FA-66. Luckily, those default settings are sane.- reload user systemd daemon:
systemctl --user daemon-reload
- start the service:
systemctl --user start jackd
- want some log output? Use this:
journalctl --user -fu jackd
- Have fun!
- PS: Don't forget to add your user to the
audio
group! Otherwise you won't get realtime scheduling.
The FA-66 seems to run fine with ALSA as JACK backend if pulseaudio's JACK sink is removed.