[PlanetCCRMA] Fedora 20 3.12.12-300.rt19.1 with Focusrite Saffire Pro40

Tony White twhite at operamail.com
Sat Aug 23 08:56:37 PDT 2014


Hi Don,

You should use 48000 sample rate. It is jack's default rate,
the recording studio standard and the most tested.
Starting with 256 frames 48000 and 2 periods is a good starting
setting. If using that produces no xruns then try 128 frames
48000 and 2 or 3 periods next. Then if that produces no xruns,
you can go lower.

Preempt (low latency)... False



realTimeConfigQuickScan does this too. I guess that it is
because the script is being run by a user that does not have
the access level required to probe for that. Best not run that
test script as root though. If you have booted kernel-rt (uname
-a in a console) then you have low latency. The script just
does not try to detect it correctly.



You should add your user account to both the audio and jackuser
groups.  (su -c 'yum install system-config-users') The program
system-config-users will appear in the desktop menu under the
administration section afterwards allowing you to do so easily.

Be sure to add the threadirqs kernel parameter to the kernel-rt
boot entry option in grub.cfg.

Install the package rtirq and enable it with: su -c 'yum
install rtirq && sytemctl enable rtirq'

Edit rtirq so that  your sound card's irq is a high priority
and not threaded by adding it to RTIRQ_NAME_LIST and
RTIRQ_NON_THREADED in rtirq, set limits for the audio and
jackuser groups in /etc/security/limits.d/. You set the
jackuser group to have a slightly lower rtprio set than the
rtprio set for the audio group.
[1]http://subversion.ffado.org/wiki/IrqPriorities

Set the cpupower governor to performance: su -c 'cpupower
frequency-set --governor performance' You need to do this every
boot. You could create a systemd unit to do this for you along
with any other real time settings you want to be set every
boot. (Otherwise create a script and run it by hand.)

Install and run realTimeConfigQuickScan

su -c 'yum install realTimeConfigQuickScan'

Run /usr/bin/realTimeConfigQuickScan in a console and fix any
issues it exposes. Run it again after you have fixed any issues
to be sure.

Disable any services you do not require but be careful not to
disable any important system services su -c 'yum install
system-config-services' to monitor and manipulate services
(Referred to as systemd units.)

Having looked into systemd quite deeply, systemd units which
run from the timer targets can cause random xruns if they are
not set to a low priority. Nice=19 IOSchedulingClass=idle
IOSchedulingPriority=7 CPUSchedulingPolicy=idle is the kind of
stuff I am trying out in systemd units that I have created and
I have added to the timers target. Might be over kill.
Completely disabling them and manually running them may be a
better solution.

Consider turning off the wireless card on your laptop if it has
one. They are notorious for causing xruns. Alternatively, set's
the wireless card's driver irq to a priority just below your
sound card driver in rtirq and also add it to the
RTIRQ_NON_THREADED list.



I don't have any experience of firewire interfaces but if you
set the things mentioned above, you should hopefully achieve
some level of success. Zero xruns is definitely possible.

Hope this helps.



Kind Regards,

Tony











--
Tony White
[2]twhite at operamail.com

References

1. http://subversion.ffado.org/wiki/IrqPriorities
2. mailto:twhite at operamail.com

-- 
http://www.fastmail.fm - Access all of your messages and folders
                          wherever you are

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://ccrma-mail.stanford.edu/pipermail/planetccrma/attachments/20140823/09c22f37/attachment.html 


More information about the PlanetCCRMA mailing list