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 -- Ubuntu-Studio-devel mailing list [email protected] Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/ubuntu-studio-devel
