I looked through the stickies, didn’t see my issue directly addressed, so sorry if I’m beating a dead horse.
Running Renoise as I’ve done for a few years now, but I’m making the jump from ALSA to JACK.
So far, I’ve got it set up fine, running Realtime, playing through my USB interface. All is well, it sounds great, etc.
However, when either the CPU usage or RT usage percentage hits 100%, Renoise freezes, understandably. (I’m assuming it’s JACK’s RT % that’s causing this and not Renoise, as I disabled CPU overload handling.)
Is there a really good way to remedy this? I increased the client timeout as suggested by Renoise, but this doesn’t really seem like a “fix” to me.
I’m not OVERLY concerned about having amazing latency, as I don’t use MIDI input or anything; I work entirely with output, basically.
It would stand to logic, to me, that the solution is going to have to be trading latency for stability, just like in Windows, right?
I tweaked some settings in JACK:
Frames/Period (Buffer): 1024
Timeout (msec): 2000
left Output Latency on 0
I have Realtime and Force 16-bit enabled.
Now, after running one of the Renoise demo songs for a while, the CPU usage obviously goes up as more instruments/samples are being played. When it gets near/hits 100%, JACK displays this:
22:32:22.698 XRUN callback (1).
**** alsa_pcm: xrun of at least 1.523 msecs
**** alsa_pcm: xrun of at least 1.573 msecs
**** alsa_pcm: xrun of at least 1.548 msecs
**** alsa_pcm: xrun of at least 1.537 msecs
**** alsa_pcm: xrun of at least 1.704 msecs
**** alsa_pcm: xrun of at least 1.325 msecs
**** alsa_pcm: xrun of at least 1.574 msecs
**** alsa_pcm: xrun of at least 0.823 msecs
**** alsa_pcm: xrun of at least 0.720 msecs
**** alsa_pcm: xrun of at least 0.653 msecs
**** alsa_pcm: xrun of at least 0.427 msecs
**** alsa_pcm: xrun of at least 1.371 msecs
**** alsa_pcm: xrun of at least 1.405 msecs
**** alsa_pcm: xrun of at least 1.582 msecs
**** alsa_pcm: xrun of at least 1.509 msecs
**** alsa_pcm: xrun of at least 1.746 msecs
**** alsa_pcm: xrun of at least 1.481 msecs
**** alsa_pcm: xrun of at least 1.744 msecs
**** alsa_pcm: xrun of at least 1.802 msecs
**** alsa_pcm: xrun of at least 1.547 msecs
**** alsa_pcm: xrun of at least 1.165 msecs
**** alsa_pcm: xrun of at least 1.554 msecs
And repeats this cycle, more or less, until audio stops playing entirely, and then displays this:
22:32:42.344 XRUN callback (172).
delay of 776.000 usecs exceeds estimated spare time of 638.000; restart …
delay of 760.000 usecs exceeds estimated spare time of 638.000; restart …
delay of 790.000 usecs exceeds estimated spare time of 638.000; restart …
And that message is repeated ad nauseum until either Renoise or JACK crashes. (Appears to be Renoise crashing.)
Thoughts?
Oh, I should also note that even if I bypass JACK entirely and simply use ALSA output through Renoise, CPU usage still skyrockets and audio becomes incredibly choppy at the same point in the song that it does with JACK output.
Could this be an issue with using Realtime priority?
Also, Periods/Buffer is set to 3 as recommended. I’m on an IBM Thinkpad, however, I am using an external USB interface for audio. Would it be better set on 2?