Page 1 of 1

ffado without ALSA

Posted: Wed Jan 09, 2019 9:53 pm
by phfactor
There have been a few tantalizing posts, both here and I think on the Mixbus Linux forums, about improving latency figures on some firewire interfaces by removing firewire support under ALSA that's built into recent kernel modules. My hardware interface is a Focusrite Saffie Pro 24 DSP. I'm running Ubuntu 18.04 with a low latency kernel, 4.15.0-43-lowlatency. I checked my hardware controller over at ffado.org and it's one of the TI X10.... flavors that's supposed to do well. But, for the life of me, I can't seem to get ffado without ALSA!

My process has gone something like this:

blacklist snd-dice
reboot
select Firewire drive in my JACK configuration.
Voila!

I spent a day on various attempts to do this. My question is, if you've done this successfully, what's your setup and how, exactly, did you do it?

Re: ffado without ALSA

Posted: Fri Jan 11, 2019 3:49 am
by varpa
To blacklist ALSA firewire so you can run FFADO do this:
- Add line to /etc/modprobe.d/blacklist.conf:
blacklist snd_dice
- update initramfs and reboot your system:
$ update-initramfs -u
update-initramfs: Generating /boot/initrd.img-4.4.30-rt41-avl2

The "update-initramfs -u" command regenerates /boot/initrd.img-XXX which is used in booting to tell which modules to load. You do not want snd_dice to load. If "lsmod | grep snd_dice" still shows something then you have not blacklist snd_dice. After snd_dice is disabled you can select the "firewire" driver in qjackctl to use FFADO.

Re: ffado without ALSA

Posted: Fri Jan 11, 2019 7:10 pm
by phfactor
Hi @varpa, thanks, but I've tried that. I tried blacklisting by putting "blacklist snd_dice" in the file you mentioned. I also tried it in its own .conf file in /etc/modules.d. I also tried variations such as seeing what modules depend on snd-dice and blacklisting all of them. I put the blacklist line in /lib/modprobe.d/blacklist_linux_<my kernel here>.conf. In each case I was able to remove snd-dice, which I checked by running "lsmod | grep snd-dice". But, in each case I was unable to start JACK. And yes, I ran "update-initramfs -u". I did this a lot, with variations. Yet, every time I tried to start JACK with firewire it immediately errored out.

So far, the ONLY path to configuring audio that has been successful is running JACK with snd_dice NOT blacklisted, and setting up QjackCtl (or Cadence for that matter), with
driver: alsa
interface: hw:Pro24DSP001777
rate: 48000
frames/pd: 256
buffers: 2 (or3)

Absolutely anything else I've tried does not work. This is on a plain Ubuntu 18.04 system that I have, so far, manually tweaked with a low latency kernel. I've added myself to the audio group, tweaked the audio.conf file in /etc/security/limits.d, prioritized "firewire" in /etc/default/rtirq, added the KXStudio repos to see if configuring thru Cadence might be more insightful. . . .

I'm not sure what to try next. I'm assuming that there are other hardware/software differences between me and others who are able to run ffado with the Pro24. I consider just jumping over to KXStudio or AVLinux. Two things stop me:

1. I want to understand what's going on.
2. Both audio distros are maintained by one person. That is not a long-term solution.

So, my question stands:

Those who are running a Saffire Pro 24 successfully, what distro do you run and how did you tweak it?

Update:
I just remembered you had posted in another one of my topics that you used AVLinux. That may be the trick for me.

Re: ffado without ALSA

Posted: Sat Jan 12, 2019 3:31 pm
by varpa
I think you can remove snd_dice from the current session by doing as root "rmmod snd_dice". This should allow you to use ffado in the current session.
I don't understand why you are unable to blacklist snd_dice but maybe google can help. You might also try sending an email to ffado-user email list (see http://www.ffado.org/?q=contact)