Support us on Patreon to keep GamingOnLinux alive. This ensures all of our main content remains free for everyone. Just good, fresh content! Alternatively, you can donate through PayPal. You can also buy games using our partner links for GOG and Humble Store.
We do often include affiliate links to earn us some pennies. See more here.

There's an interesting issue with certain Linux CPU governors that will actually bring down performance in Vulkan games. You might not need this, depending on what CPU governor you have installed.

You might end up seeing jerking or micro-stutter, far more than you would in OpenGL games. The issue is that when using OpenGL in games, you're generally taxing a single core of your CPU due to less multi-threading. With Vulkan spreading the load more, your CPU isn't being used so much.

The Linux CPU governor takes that as an opportunity to bring down your CPU performance, as right now it's not the smartest bulb in the tanning bed.

Here's what a Croteam developer said about the issue:

QuotePowersave governor is an awful choice for playing games. It may quite be the case that it's not happening for OpenGL especially because GL runs slower.
When the game is running fast enough that CPU has to wait on the GPU, the governor sees that as an opportunity to downclock the CPU, or put cores to sleep. The jerking is a result of the CPU throttling up and down very quickly.
In general, CPU governors on Linux are much, much dumber than the Windows one. (It seems that Windows overrides the throttling for all 3D apps, or similar.)
That's why we have this warning in the log. Switch over to Performance governor, at least while playing.

So a tip for now when playing Vulkan games on Linux: Set your CPU to high performance mode, you can do it like so in terminal ("performance" is just an example, see more here):
echo performance | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
A higher performance mode will generally result in higher power consumption too.

Then to set it back to normal. You don't need to use "powersave" see more options here, as it's just an example. According to the Arch Wiki you likely want "ondemand" for AMD:
echo powersave | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor

You can find out what performance mode you're in right now by running this in terminal:
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
My default on the Intel i7 5960x is powersave, for example.

Hopefully this issue will be fixed as more games come over to Vulkan. It would be nice if developers didn't need to code around issues like this on Linux.

Article taken from GamingOnLinux.com.
Tags: Editorial, HOWTO
17 Likes
About the author -
author picture
I am the owner of GamingOnLinux. After discovering Linux back in the days of Mandrake in 2003, I constantly came back to check on the progress of Linux until Ubuntu appeared on the scene and it helped me to really love it. You can reach me easily by emailing GamingOnLinux directly. Find me on Mastodon.
See more from me
The comments on this article are closed.
75 comments
Page: «6/8»
  Go to:

Kohrias Mar 23, 2017
Thanks a lot for bringing this up, Liam! I hope there will be some solutions (in whichever software/layer) to address this automatically in the future. Until then this is really something to take into account when gaming on Linux.
marcus Mar 23, 2017
View PC info
  • Supporter
Concerning setuid on Scripts. This should *not* work on any recent Linux system, as it provides an even larger possible security vulnerability than setuid is to begin with. For details see here:

http://www.faqs.org/faqs/unix-faq/faq/part4/section-7.html

Regarding the frequency governers for Intel CPUs:

These governors are *not* comparable to the regular pstate driver for Linux (e.g. used on older Intel Cores and AMD Cores). Intel implements its own policies in the driver that are independent of the cpufreq policies. Thus cpufreq policies will *not* work as expected. Details can be found here:

https://www.kernel.org/doc/Documentation/cpu-freq/intel-pstate.txt

This driver especially does *not* honor additional cpufreq settings apart from max_freq / min_freq.
FredO Mar 23, 2017
I did some more testing, and for my system I get up to 50% more FPS! This is something SIGNIFICANT especially if you have a bunch of cores to load up. OnDemand was my system default:

Total War:Attila:
OnDemand: 22.7 Ave FPS, Performance: 33.9 Ave FPS
Total War:Warhammer:
OnDemand: 57.7 Ave FPS, Performance: 74.0 Ave FPS
CoH2:
OnDemand: 27.8 Ave FPS, Performance: 49.2 Ave FPS
Dirt Rally:
OnDemand: 51.6 Ave FPS, Performance: 101.3 Ave FPS
Deus Ex: Mankind Divided:
OnDemand: 40.6 Ave FPS, Performance: 50.5 Ave FPS

Edit: Better layout.


Last edited by FredO on 23 March 2017 at 6:27 pm UTC
qgnox Mar 23, 2017
[quote=buenaventura]I [quote=Eike]
Quoting: buenaventurashedutil <--- INTRUIGING, what is this? I google and it seems like some newfangled stuff? I wonder if that will be even better than Performance!

Still, why does it only go up to 2,00ghz? Says right on the sticker on my lappy "up to 2.4 ghz", bullshiet :P
If you want to use the 2.4GHz with schedutil governor add intel_pstate=passive in the boot kernel line. I'm using it and my hasswell cpu in the laptop has lower temperature than using only intel_pstate (powersave / performance) when there's not much load.
buenaventura Mar 23, 2017
[quote=qgnox][quote=buenaventura]I
Quoting: Eike
Quoting: buenaventurashedutil <--- INTRUIGING, what is this? I google and it seems like some newfangled stuff? I wonder if that will be even better than Performance!

Still, why does it only go up to 2,00ghz? Says right on the sticker on my lappy "up to 2.4 ghz", bullshiet :P
If you want to use the 2.4GHz with schedutil governor add intel_pstate=passive in the boot kernel line. I'm using it and my hasswell cpu in the laptop has lower temperature than using only intel_pstate (powersave / performance) when there's not much load.

Well my CPU is an AMD A8-6410, so I guess I can't do that right?

I still wonder how I can get it to be 2.4 and not just 2. You would think that that would make a difference.
Hedaja Mar 24, 2017
I think that's nothing only related to Linux. I did some gaming on my father's laptop for a while. And without setting it to performance I had games running very poorly.
But I always had the CPU-Indicator in Ubuntu and therefore never had troubles changing it. I also do it for other CPU intensive stuff. I still have to take a closer look at schedutil.
elmapul Mar 24, 2017
Quoting: marcushttps://www.kernel.org/doc/Documentation/cpu-freq/intel-pstate.txt

plain text in 2017? common! i'm a human being! i hate being Treated as a machine!
elmapul Mar 24, 2017
Quoting: Guest
Quoting: elmapulplain text in 2017? common! i'm a human being! i hate being Treated as a machine!
Feel free to register unreadablecrap.com and publish there all the documentation you can find in an unreadable tiny font with a choice of colors that makes the readers blind within five minutes.

why? they already did that with this plaintext.
Eike Mar 24, 2017
View PC info
  • Supporter Plus
Quoting: elmapul
Quoting: Guest
Quoting: elmapulplain text in 2017? common! i'm a human being! i hate being Treated as a machine!
Feel free to register unreadablecrap.com and publish there all the documentation you can find in an unreadable tiny font with a choice of colors that makes the readers blind within five minutes.

why? they already did that with this plaintext.

The display of plain text is up to your browser/you. Some Strg-+ makes it already look nicer here.
Power-Metal-Games Mar 24, 2017
This is in fact some serious thing. Never thought that my CPU is not working at it's best. My i5 6600K is showing all the time that it's using „powersave“. I tried my own game I'm developing in UE4 and it's using 40% of all 4 cores all the time with „powersave“. When I switch to „performance“, it's using ~23% of all 4 cores. This CPU is really fast, and it's impossible to really force it to use all the cores to 100% in ordinary tasks except when I'm compiling things. I tested it, and it's never switching to „performance“ without command and I find this stupid. Does this mean that all the benchmarks of games were actually incorrect? I mean Windows vs Ubuntu (or Linux in general..)?
While you're here, please consider supporting GamingOnLinux on:

Reward Tiers: Patreon. Plain Donations: PayPal.

This ensures all of our main content remains totally free for everyone! Patreon supporters can also remove all adverts and sponsors! Supporting us helps bring good, fresh content. Without your continued support, we simply could not continue!

You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
The comments on this article are closed.