blueprint - research available audio improvements from audio/music sites

Len Ovens len at ovenwerks.net
Mon Jul 16 22:31:07 UTC 2012


I've done as much research as I am likely to do into finding any more
tweaks that may help. So I am posting my list and any comments I have so
far. I am going to call this item "DONE". So we can start testing. I have
done some testing, but more is needed. Anyone who has any more ideas
should post them here. These ideas should be things that we can do without
rewriting the whole kernel or other major program writing. Longer projects
are welcome, but get them ready for use first. Those things marked as
"switchable" are best not used if possible... for some things they are the
only way to get good audio.

List:

performance tests:
>From http://wiki.linuxmusicians.com/doku.php?id=system_configuration

 - set noatime on root partition suggested. No noticeable difference in
live performance, but may effect direct to disk recording.
 - scaling governor - normally ondemand, sometimes gets xrun when
switching to higher speed. Noticeable difference with "performance"
setting. Downsides, CPU runs hotter, batteries on battery run devices
last less time. Best to be able to switch for as needed.
 - In audio group - DONE
 - Low latency kernel - DONE
 - Memlocking - DONE
 - Allow IRQ prioritizing - DONE
 - RTIRQ script - DONE - but... can cause problems or not help. This needs
to be set up for each machine. Needs to be added to controls.
 - swappiness 10 - helps. Very noticeable on low memory machines. This
also helps most desktop use. The standard value of 60 is only good for
most servers. This is a should be done for all Ubuntus but server in my
opinion.
 - background processes - Cron, Anacron and Atd might start resource
intensive processes at any time and can cause untraceable xruns at odd
times. Suggest this be turned off while audio work is being done. This
does do system upkeep and software up dating which would be lost if these
processes were just turned off. Switchable.
 - Suggested that fs.inotify.max_user_watches = 524288, ours is much less.
I haven't seen any differences with it, good or bad.
 - high precision event timer - done (in low lat. kernel)
 - high precision event timer accessible by audio group. Needs more
testing, is supposed to help stability of MIDI timing. OTOH we go to the
trouble of putting it in the kernel, we should make it available to
applications that need it.
 - /dev/rtc available but not accessible to audio group... same as above.
 - kernel support for tickless timer - not found, Try enabling tickless
timer support (CONFIG_NO_HZ). May help MIDI
 - PCI latency setting. Most newer machine can't use it (PCIe). My old
machine got worse. I suggest we not do this. The user who has a problem
might try it... On their own  :)

shnatsel suggested:
 - ulatencyd - This looks really good. I tried it and found:
    a) this requires a better understanding of how the kernel works than I
have just to set it up right.
    b) out of the box (off the ubuntu repo actually) it behaves badly with
jackd.
Something to look into in the future. Not for this cycle.
 - zram - works as advertised but too slow to help audio. Could be good
for graphics work or other non-realtime projects. Really speeds up
desktop use when lots of memory is in use. For audio work setting
swappiness really low (even to zero if needed) seemed to work a lot
better.
 - zcache - I have yet to test this. I expect it to help desktop apps as
much as zram. Needs testing to use with audio.

OTHER stuff.
 - Setting IRQs. Changing PCI slot of audio and other cards or moving USB
peripherals to different ports. This still makes a difference, sometimes
it is the difference between usable or not. We can't do this out of the
box, but do need to document it well. Some BIOS allow setting IRQs too.
This works together with the rtirq script. A tutorial is needed.
 - pulse - in general pulse seems to be a non-issue though turning devices
off in pulse can help. Documentation needed.
 - pulse->jack bridging can cause problems, but the functionality is a
must have for at least some of our users. Suggest making this or pulse
switchable at need.
 - Various kernel modules. Some kernel modules (some wireless modules are
known bad) interfere with audio. Add to switchable. Documentation needed.
 - suggest to use max memory for MB in documentation.

-- 
Len Ovens
www.OvenWerks.net




More information about the Ubuntu-Studio-devel mailing list