asked Sep 18 '17 at 09:25 by Ridderby (56)

Hi,

After some time not really using Bitwig I picked up my lost thread and installed the latest version I have licensed which is version 1.3.16.

Things have changed on my computer since last time I ran Bitwig, same motherboard but a faster CPU (8 core AMD FX-9590, 4.7 GHz instead of FX-8350 4GHz) and I am evaluating Linux Mint instead of Funtoo/Gentoo.

Very much to my surprise the sound cracled a lot and the DSP was hitting the roof a lot despite the more powerful computer than last time, playing the same songs I wrote last time. This was very strange. First I blamed Linux Mint but that was wrong.

After some research I concluded that my problem was related to my CPU speed.

When I measured the CPU speed I discovered that the CPU does not scale up to a CPU frequency decent enough to support the Bitwig DSP. This is related to the CPU frequency governor. The governor is the "program" (module in kernel) that determines the CPU speed and if and how it shall scale. There are several variants. Powersave that always works on the slowest speed consuming the less energy and preserving laptop battery longer. Ondemand, normally the default, keeps the CPU speed down quite well (for battery life on laptops) but scales up when power has been needed for a slight period of time. There is Schedutil (since kernel 4.7) that produces a higher average than ondemand, and Performance puts the CPU into full speed.

Both on my Gentoo/Funtoo and on Linux Mint the default governor was set to "ondemand". According to Pianoteq I should use "performance" that keeps the CPU on max rate but I don't want that. Instead I decided to go for "schedutil" as governor and the result is quite good. Performance might be a very good next step if shedutil does not suffice.

When measured the average CPU frequency is significantly higher using schedutil than ondemand meaning that the Bitwig DSP have a more power at the very instant it needs it, without taking (or for that matter, having) the time to scale up frequency.

Problem with software like DAWs is that it takes some time to increase the CPU speed that you normally would not notice this but on my system Bitwig defaults to 256 samples buffer which is about 5 ms and within that short timeframe the CPU scale up time can very well be noticed. Keeping the CPU on a higher frequency means that at the instant the DSP needs power it is already there.

The difference was clearly visible using the DSP performance window.

So, how do I change governor? First, one shall be aware of that AMD and Intel are a bit different on how to successfully scale the CPU. I have little experience with modern Intel CPUs and have only tested this on my AMD system. I believe that Intel works best using P-states instead of governors for CPU scaling which just seems to be a different mechanism. This may very well work on Intel or it may not. I do not think it will harm if you try.

This should also work for to change between all governors including "ondemand", "schedutil" and "performance".

Also I only know how to do this using very low level commands in a console. I think cpufrequtils can make it a bit more userfriendly. Perhaps there is help from someone more familiar with the utilities care to comment? My self I tend to disagree a lot with this helpers so I avoid them when I can ;)

Anyway, start a console or terminal. You should not write the leading $ or # in the examples given, this is the terminal prompt.

You can see what governor you are using as a ordinary user:

$ cat /sys/bus/cpu/devices/cpu*/cpufreq/scaling_governor

There will be one answer per CPU thread/core (depending on setup). I have 8 answers.

If you want to change the governor you need to do this as root. Unless familiar with the root concept you'd like to do this using sudo.

$ sudo echo "schedutil" | tee /sys/bus/cpu/devices/cpu*/cpufreq/scaling_governor
(give your password).

The governor is instantly changed, no need to reboot or so. You should notice the difference in Bitwig.

On my system I get an error message if I try to sett the governor to an invalid name.

You can determine what kernel you have using

$ uname -a

Kudos to Pianoteq README_linux.txt for pointing out the right direction.

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

Markdown Basics

  • *italic* or __italic__
  • **bold** or __bold__
  • link:[text](http://url.com/ "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Tags:

×87
×22

Asked: Sep 18 '17 at 09:25

Seen: 335 times

Last updated: Sep 18 '17 at 09:25