[LAU] Phonic Helix Board 12 FireWireMKIIcompatibility(linux/ffado)

Pieter Palmers pieterp at joow.be
Tue Feb 10 16:00:03 EST 2009


pete shorthose wrote:
> On Tue, 10 Feb 2009 10:53:01 -0000
> "Simon W. Fielding" <s.fielding at wmcce.org> wrote:
> 
>>>> jackd -R -dfirewire -r96000 -p16 -n3 ... jackd won't even start - uses too much CPU
>>>> jackd -R -dfirewire -r96000 -p32 -n3 ... jackd won't even start - uses too much CPU
>>>>
>>>> Both of the above seem to sometimes leave the 1394 bus in a strange state. A forced bus reset using
>>>> gscanbus seems to fix it.
>>>>
>>>> jackd -R -dfirewire -r96000 -p64 -n3 ... jackd starts - uses approx 70% CPU with xruns every 10-20 seconds
>>>> jackd -R -dfirewire -r96000 -p128 -n3 ... jackd starts - uses approx 50% CPU - no xruns
>>>> jackd -R -dfirewire -r96000 -p256 -n3 ... jackd starts - uses approx 45% CPU - no xruns
>>>> jackd -R -dfirewire -r96000 -p512 -n3 ... jackd starts - uses approx 25% CPU - no xruns
>>> Hmm this is good and bad news. That it works and does so without xruns is great but I'm not sure what
>>> to make of the processor usage. For comparison, if I setup my inspiron 9400 to use -r96000 -p256 -n3
>>> it uses less than a tenth of what you see. Mine has a core 2 duo t7200 2ghz CPU and an intel HDA 
>>> but even so.. 45% seems pretty onerous and surely not an indication that my system is 10 times faster than yours.
>> This is a fairly gutless and underpowered machine for this sort of thing. It's also completely untuned
>> for audio work - just an out of the box FC10 and CCRMA build, gnome etc. I would normally only use it
>> for running soft synths etc, not to try anything like this with.
>>
>> FWIW, without the Phonic, but with the built in ICH6, jackd -R -dalsa -dhw:0,0 -r96000 -p256 -n3 uses between 1% and 3% CPU,
>> idling under the same conditions as before.
> 
> All of which indicates that I would see similar results on my system unless there is some kind of 
> bug or problem that only affects you. In effect, you are seeing  >1000% penalty for the use of firewire. 
> Which is pretty horrific. 

It is important to note that the helix has 12/2 channels I/O, which is 
usually quite some more than the onboard soundcard.

However it is true that the FFADO driver uses more CPU than equivalent 
ALSA drivers. This has a few reasons:
* up till now, focus within FFADO was on functionality rather than CPU usage
* the kernel space 1394 drivers are not very efficient and require us to 
use an unefficient way of addressing the hardware.
* The fact that FFADO was written in C++ probably won't help either. But 
there wouldn't be a driver if at this point if it would have been 
written in C.

In this case I also think that the driver has been compiled with 
debugging enabled and without optimization, which makes a very 
significant difference.

On the long run, all of these issues are on the todo list. However, my 
priorities in life are somewhere else for the next months, so I'm afraid 
you'll have to live with it.

Greets,

Pieter Palmers
FFADO developer



More information about the Linux-audio-user mailing list