Check out our Monthly Survey Page to see what our users are running.
We do often include affiliate links to earn us some pennies. See more here.

Started off by porting studio Feral Interactive, the Linux system performance optimization tool GameMode v1.8.2 is out now.

More about it: GameMode is a daemon/lib combo for Linux that allows games to request a set of optimisations be temporarily applied to the host OS and/or a game process. GameMode was designed primarily as a stop-gap solution to problems with the Intel and AMD CPU powersave or ondemand governors, but is now host to a range of optimisation features and configurations.

The main changes from this release include:

  • Fix idle inhibitor closing bus connection too early (#466).
  • Fix hybrid CPU core pinning (#455).
  • Fix unreadable process maps in gamemodelist (#463).
  • Fixed crash if dbus is not accesible (#458).
  • Various bugfixes and improvements to documentation.

What can GameMode actually do? According to the GitHub optimizations you can use include changes for:

  • CPU governor.
  • I/O priority.
  • Process niceness.
  • Kernel scheduler (SCHED_ISO).
  • Screensaver inhibiting.
  • GPU performance mode (NVIDIA and AMD), GPU overclocking (NVIDIA).
  • CPU core pinning or parking.
  • Custom scripts.
Article taken from GamingOnLinux.com.
23 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 checked 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.
See more from me
9 comments

Kithop Aug 19
I just recently upgraded to a Ryzen 7950X3D based system and have been playing around with the latest git version of gamemode for the core pinning and it's been working great! Glad to see it released.

Essentially, in my case it helps pin the game's threads to the CCD that has the extra X3D L3 cache (even if the max frequency is a little lower), leaving the other 'regular' CCD alone for background and other tasks.

Similar with the various heterogenous core concepts like Intel's 'P' and 'E' cores, presumably, and ARM's big.LITTLE.

Most games are GPU limited, but you can still get some modest performance boosts (<= 10fps or so) with this change, at least on my particular setup. I'd imagine keeping game threads off of the Intel efficiency cores would make a much bigger difference.
Quoting: KithopI just recently upgraded to a Ryzen 7950X3D based system and have been playing around with the latest git version of gamemode for the core pinning and it's been working great! Glad to see it released.

Essentially, in my case it helps pin the game's threads to the CCD that has the extra X3D L3 cache (even if the max frequency is a little lower), leaving the other 'regular' CCD alone for background and other tasks.

Similar with the various heterogenous core concepts like Intel's 'P' and 'E' cores, presumably, and ARM's big.LITTLE.

Most games are GPU limited, but you can still get some modest performance boosts (<= 10fps or so) with this change, at least on my particular setup. I'd imagine keeping game threads off of the Intel efficiency cores would make a much bigger difference.
Hi
Core Pinning performance gain is minimal for X3D CPUs. use Core Parking instead:
open as root: /usr/share/gamemode/gamemode.ini
under "CPU", change core_parking=yes and also follow the instructions to add yourself to gamemode group (else core parking won't work). This can MASSIVELY increase performance exactly like how AMD has done it in Windows.

Look here for more info (and also a benchmark).


Last edited by Mangojuicedrinker on 19 August 2024 at 9:26 pm UTC
Kithop Aug 19
Quoting: MangojuicedrinkerHi
Core Pinning performance gain is minimal for X3D CPUs. use Core Parking instead:
open as root: /usr/share/gamemode/gamemode.ini
under "CPU", change core_parking=yes and also follow the instructions to add yourself to gamemode group (else core parking won't work). This can MASSIVELY increase performance exactly like how AMD has done it in Windows.

Look here for more info (and also a benchmark).

Very nice benchmarks! But yeah, not for me; I've got enough stuff going on in the background typically (why I bought the 7950 over e.g. a 7800X3D instead) that I want to keep using those other cores. That said, I'd be curious to really understand why that makes such a big difference, like - when the other CCD is parked, does that free up power budget / TDP room for clocks on the remaining CCD?

There's definitely a choice to make here in configuring, of course - good info to have! (Also, might be fun to play with this being a thing on a per-game basis)

(In my particular case, the RX 7600 is definitely the bottleneck regardless, but that may change in a cycle or two..)

Edit: That said, I made sure to get all my configs right and tested briefly with glxgears and mangohud to confirm that it works, so I'm *going* to benchmark this myself later... ;p


Last edited by Kithop on 19 August 2024 at 11:39 pm UTC
Woodlandor Aug 19
I would just like to applaud Feral for continuing to work on this project.
They certainly don’t need to.
A love/passion for the Linux gaming experience maybe?
Quoting: KithopI'd be curious to really understand why that makes such a big difference, like - when the other CCD is parked, does that free up power budget / TDP room for clocks on the remaining CCD?
I have no idea why core pinning is so ineffective compared to parking...

Quoting: Kithop(Also, might be fun to play with this being a thing on a per-game basis)
While you're at it, you can also try with SMT (multi-threading) disabled (needs su):
# echo off > /sys/devices/system/cpu/smt/control
This has resulted in MASSIVE performance increase for me (for some games only, most others will regress in performance).

and also you can try disabling all CPU security mitigations (this one will require a reboot to take effect) with kernel parameter (editing /etc/default/grub -> GRUB_CMDLINE_LINUX_DEFAULT -> inserted after "quiet splash [put here without brackets]" and then `sudo update-grub`): mitigations=off.
This has resulted in around 10% increased performance as well. So overall might not be worth it.

Quoting: Kithop(In my particular case, the RX 7600 is definitely the bottleneck regardless, but that may change in a cycle or two..)
If you enable fake frames (upscalers + frame gen) you will get CPU-bounded most of the time... In fact you already can have Frame Gen enabled for most of new games by using this Linux compatible mod: DLSS Enabler . This mod will make frame gen available for all DX12 games on all DX12 compatible GPUs (granted DLSS 3 is implemented on the game). Don't forget to use WINEDLLOVERRIDES="version,dxgi=n,b" after installation to make it work.

One last thing from one X3D enjoyer to another: if you mainly game, you can limit the CPU temperature in BIOS to 65C with literal ZERO consequences in performance. Literal zero (not in workloads though, they will regress. but for gaming, you will reduce temps from like ~78C to 65C while having same performance).
officernice Aug 20
I wonder how long Feral will exist. Proton more or less took away their porting job.
Liam Dawe Aug 20
Quoting: officerniceI wonder how long Feral will exist. Proton more or less took away their porting job.
They do other platforms that are far more lucrative for them including Android, iOS, Switch, macOS and Meta Quest.


Last edited by Liam Dawe on 20 August 2024 at 10:31 am UTC
14 Aug 23
View PC info
  • Supporter Plus
I have not confirmed whether it was the zen kernel or gamemode, but ASKA was crashing after 5-10 minutes of play with one of those things. I should do a test to confirm which one it was. Because if it was gamemode, maybe this new release will fix it!
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!
Login / Register


Or login with...
Sign in with Steam Sign in with Google
Social logins require cookies to stay logged in.