Awesome, if it ain't broke, don't fix it, huh? Keep the linux pro audio success stories coming!!
Originally Posted by dawiba
This warms my heart. I'm glad to hear it.
Originally Posted by GhostofJohnToad
I've been having a hell of a time these last couple of weeks learning about compiling custom kernels while kernel.org has been down! My missions since last time I posted have been to patch and compile a realtime kernel, and then to do set everything up like I have it here in Arch Linux (where I plan to migrate eventually).
What will be of interest for you about this is that I can now confirm that it is possible to compile a custom kernel with the legacy firewire stack if the new one doesn't play nice with FFADO and your device, like the Saffire Pro 40. I couldn't find any answers for this before I tried it myself. Seeing as the old stack is removed from the newer Ubuntu kernels and both the current and lts Arch kernels, it looks like this is just something that we'll have to do until FFADO catches up.
The realtime kernel is great! I was noticing a few xruns in the plain Maverick setup that I posted before, but with the realtime patch I can set the frames/period as low as 64 with 4ms latency and no xruns at all!!
For those of you who are interested, this is the resource that helped me the most while I was unable to access the official realtime-patch documentation.
When you run make localmodconfig, pay special attention to these queries:
Obviously, if you need the legacy modules for the PCILynx controller (whatever that is), sbp2 or IP networking, you need to select yes for those ones too.
FireWire driver stack (FIREWIRE) [N/m/y/?] n
Legacy alternative FireWire driver stack (IEEE1394) [N/m/y/?] (NEW) y
OHCI-1394 controllers (IEEE1394_OHCI1394) [N/m/y/?] (NEW) y
PCILynx controller (IEEE1394_PCILYNX) [N/m/y/?] (NEW) n
Storage devices (SBP-2 protocol) (IEEE1394_SBP2) [N/m/y/?] (NEW) n
IP networking over 1394 (experimental) (IEEE1394_ETH1394) [N/m/y/?] (NEW) n
raw1394 userspace interface (IEEE1394_RAWIO) [N/m/y/?] (NEW) y
video1394 userspace interface (IEEE1394_VIDEO1394) [N/m/y/?] (NEW) y
dv1394 userspace interface (deprecated) (IEEE1394_DV1394) [N/m/y/?] (NEW) y
Excessive debugging output (IEEE1394_VERBOSEDEBUG) [N/y/?] (NEW) n
You want to select number 4.
1. No Forced Preemption (Server) (PREEMPT_NONE)
2. Voluntary Kernel Preemption (Desktop) (PREEMPT_VOLUNTARY)
3. Preemptible Kernel (Low-Latency Desktop) (PREEMPT_DESKTOP) (NEW)
> 4. Complete Preemption (Real-Time) (PREEMPT_RT) (NEW)
I'm pretty sure you can compile the new stack as well if you need that for other devices if you pay attention to which stack is currently modprobed. I still haven't had a chance to test everything in a live environment with the pressure on, just been recording a bit of guitar by myself. I'll be sure to tell you ASAP!