Skip to content

Instantly share code, notes, and snippets.

@klingtnet
Last active November 16, 2023 09:38
Show Gist options
  • Star 3 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save klingtnet/ba22712267313ee77968d5293c612868 to your computer and use it in GitHub Desktop.
Save klingtnet/ba22712267313ee77968d5293c612868 to your computer and use it in GitHub Desktop.
Use firewire audio interface with JACK2 in Arch Linux
  • 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.
@klingtnet
Copy link
Author

The FA-66 seems to run fine with ALSA as JACK backend if pulseaudio's JACK sink is removed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment