Cabbage Logo
Back to Cabbage Site

Ubutnu 16.04, Jack, etc

I’ve updated my Ubuntu machine to 16.04. The first issue I had was with the “VST3 SDK”, so I updated the makefiles so that it reads the default folder name for the VST3 SDK with the white-space. I had to disable native file browsers because it was causing a crash with zenity. The JUCE devs have fixed this issue now, but I’ll have to update the entire JUCE code base in order to incorporate it into Cabbage. I’ll try to get around to this soon, but it will not be for a while as I’m busy with other projects.

I had no issues with Jack. I’m using the same sample rate with Cabbage as I am in Jack and I’ve not noticed any problems. I’m using KXStudio for all my jack needs and use Cadence to launch and control Jack. For what it’s worth, I didn’t have to do any kind of extra updating when it came to Jack. It all just worked out of the box after I upgraded.

It must be my machine then. If you have a spare moment, could you try what I’ve asked Jan in this post? (Cabbage or Csound a semitone too high)

Also could you share a screen capture of your Options->Audio Settings?

Thanks Rory. Cheers.

I tried your synth with SR set to 96000 in Jack and Cabbage and I have no problems. I’m not sure what the problem is. Are you getting issues with any other audio software? I’ve tried Bitwig and a few others here and they all seem to work fine. Did you do a completely fresh install of 16.04 or just an upgrade? Here are the screenshots for my settings.


I was launching Jack by myself. I’ve installed Cadence to match your setup. The only thing I couldn’t match is that you’re using your internal sound card and I’m using a USB one.

Changing the buffer size seems to makes a difference (less cracks). But with Cadence I can see xruns if I go nuts with the mouse over the virtual keyboard. Also, I believe your buffer is way too high to do real-time. If you haven’t, you should try jack_iodelay with a physical cable connection to see real latency while using that block size. Beware of impedances though.

I’m not seeing any xruns with the rest of the things I use from Ubuntu Studio. Except maybe using wine and windows synths, but that’s really asking too much. For instance, with Csound’s jack audio module I can use Iain’s original synth and have a block size of 128 with 0 xruns. If I use Cabbage/JUCE’s Jack module I have xruns with a 1024 block size. That’s really bad.

If I launch Jack from a terminal I can see:

JackEngine::XRun: client = JUCEJack was not finished, state = Running
JackAudioDriver::ProcessGraphAsyncMaster: Process error

I think that means it’s a JUCE thing we won’t be able to sort out. It would be great if Cabbage Standalone had a way of not setting any audio driver so that you could then use Csound’s -odac.

Thanks for taking the time to try out the synth for me!

I used to allow for the option of running Csound’s own audio drivers but removed it because it was creating some confusion among users. It’s something I could look into for the Linux port. I will try using smaller buffer sizes later on, I am not quite sure they are set so high! Certainly not very real-time.

I just installed the lowlatency kernel and set buffer sizes of 128 in Cadence. I do get a few xruns, but nothing crazy. With 256 I can go nuts without an xruns being reported by Cadence. You didn’t have these issues with 14.04? Are you running the low-latency kernel? Here’s a screenshot of Cadence after a few minutes of over doing it on the virtual keyboard of your synth.

I think I had the same problem with 14.04. That’s why I had ALSA selected. I’ve that same kernel than you do. Your screenshot looks the same. I tried using the internal sound card instead of the USB one, but it’s the same thing. Xruns keep piling up. I don’t know your CPU model, but I don’t think it’s that because CPU usage never gets higher than 20%.

I’ll stick to ALSA for the moment, and whenever I need Real-time performance I’ll go through Csound’s audio module. It’s a PITA to match every sample rate but it works well. And if you think of anything else I can try, please let me know.