I run older hardware. I’ve just moved from a PC with a 4th gen to 7th gen i5 CPU. Every other application runs/responds faster as you might expect. But VCV is taking about twice as much CPU %.
Yes, same OS (Ubuntu Studio), patches, engine settings, jack settings, frame rate.
Is this to be expected? The older one has a ‘vPro’ cpu, which seems to be about security, corporate updates and stuff like that.
I’ve got nearly the same problem, but i don’t change the hardware, i just update my Debian, from 10 to 12.
And now, it’s nealy impossible to use my old patch.
On Debian 10, i use to have 4 threads, but now, just 1 thread is possible. If i go up, the cpu consuption go over 1000%, crackles etc …
I ask to the vcv support team, and they answer that they have some problems with the multithreading on linux.
It was 2 month ago, and i still don’t have news.
And, on the same computer, if i use windows 11, no problem at all … it’s really come from the new version of Debian.
So maybe you have the same issues than me, and you have to wait.
But maybe somebody have an idea how to resolve this ?
I really don’t know what to do, and for the moment, i can’t use VCV Rack on my Linux.
Since the OP is using Ubuntu, and Ubuntu is derived from Debian, it’s not unlikely that it’s the same problem. We do have some heavy Linux users in here, maybe one of them could help track the regression down. Peeps?
Another factor is, which audio driver are you using in Linux? There is JACK, PulseAudio, and ALSA. I have had the best luck with PulseAudio, although I still get frequent audio glitching unless I patch the source (see below).
I spent a couple of weeks tracking this down. I had to patch the source code for where VCV Rack initializes rtaudio’s PulseAudio layer to create a pool of 4 audio buffers instead of 2, and the problem virtually went away.
I noticed something similar with the v2 release of Rack, I went from being able to use the 8 threads (most modules) as standard to having to use 1. Just trying it again now and it’s still the same for me now, testing a patch which runs ok 1 thread, if I turn up the threads up to anything > 1 then I get glitches every second or so.
Then again, if I load up a bunch of instances of Plateau to the point of the audio breaking up then performance does improve when increasing threads. So I don’t know, seems to work in situations where CPU is being stretched but harms performance when CPU isn’t being stretched.
@Jens.Peter.Nielsen I install cpupower , it was on “schedutil”, i put it on “performance”, and the whole computer is clearly speeder, but in VCV it’s a bit better, but doesn’t solve the multithreading issue. But thanks for command !
@cosinekitty Do you think it is possible for me to do the same patch as you ? I mean, it is complicated to do so ? I know a bit of programmation.
@TroubledMind I try to do your experience, but it doesn’t change annything, the cpu is still over overload (some times around 1000% !!)
So thanks again for you answers, i hopes we or VCV team can fix this soon
Yes, certainly! If you are not familiar with building VCV Rack from source, it’s good to start with the official documentation. Make sure you can build and run Rack the normal way first.
Then you can use my vcvbuild.sh bash script that applies the correct patch. I just used this script this morning to build a patched version of VCV Rack 2.4.1 and I’m running it now with no more audio glitches.
Just to clarify, my fix works only with PulseAudio. It will not change anything with JACK or ALSA. So when you use it, inside your patches you should select PulseAudio in the Audio module’s dropdown box.
Yes I have, and I have suggested the possibility of adding a dropdown (or whatever) in the VCV Audio modules that allows changing the number of PulseAudio buffers anywhere from 2 (currently the only value supported) to 16.
EDIT: If it saves space on the screen, just a few choices like [2, 4, 8, 16] would be awesome.
Thanks for the PulseAudio info. I will try that. I’ve always used Jack on Linux, mostly because of all the nice routing options you can get with QJackCtl
Also it’s the default setup on Ubuntu Studio. And has always worked really well for all the other audio applications.