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.

Pop!_OS Linux gets better game performance and desktop responsiveness

By - | Views: 46,860

System76 have done something very interesting with Pop!_OS lately, a change that should give you better performance in games and get a more responsive desktop overall on Linux.

It comes in the form of their new System76 Scheduler, which they describe as:

Scheduling service which optimizes Linux's CPU scheduler and automatically assigns process priorities for improved desktop responsiveness. Low latency CPU scheduling will be activated automatically when on AC, and the default scheduling latencies set on battery. Processes are regularly sweeped and assigned process priorities based on configuration files. When combined with pop-shell, foreground processes and their sub-processes will be given higher process priority.

These changes result in a noticeable improvement in the experienced smoothness and performance of applications and games. The improved responsiveness of applications is most noticeable on older systems with budget hardware, whereas games will benefit from higher framerates and reduced jitter. This is because background applications and services will be given a smaller portion of leftover CPU budget after the active process has had the most time on the CPU.

Announcing the update that's rolled out on Twitter, System76 engineer Michael Murphy mentioned "There's a Pop!_OS update for pop-shell and system76-scheduler being released that will give CPU priority to the focused window and its sub-processes. Which means improved performance in games, and increased responsiveness in applications".

Our friends at Linux4Everyone asked a question in regards to gaming and how it actually improved it, to which Murphy replied: "QA team had the smoothest VR gaming experience with this, and it gave a boost to framerates. Just a natural side effect of having some finely tuned process priorities that give the focused window (such as a game) a higher priority than background applications and services".

Pictured - Pop!_OS 21.10.

Sounds like Pop!_OS is doing increasingly awesome work to make Linux a great desktop operating system for gamers and creatives.

Article taken from GamingOnLinux.com.
16 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.
27 comments
Page: 1/3»
  Go to:

gradyvuckovic Feb 3, 2022
Well that's fantastic, kudos to the Pop!_OS team. Hopefully their work can be integrated into other distros too.
Deleted_User Feb 3, 2022
That sounds interesting, i think i will give it a go. Especially because i have continuous problems with (wireless) mouse and keyboard, which currently hang in situations with high CPU-usage (on a MX Linux system).
Marlock Feb 3, 2022
sounds like a part of that stuff could be submitted for inclusion in Feral's Game Mode and thus conveniently applied in any distro instead of just Pop_OS!

not sure about pop_shell messaging to signal which apps are in foreground to prioritize... it looks like that might require some extra changes in each DE or something
Cybolic Feb 3, 2022
This sounds like something that could also be implemented with bspwm, so I'll be sure to keep an eye on what tweaks they're doing.

EDIT: Seems that they're just giving a -5 nice value to the pid of the focused window and its parent processes, keeping track of those changes and setting them back to 5 when the foreground pid changes. This should be doable with a shell script :)


Last edited by Cybolic on 3 February 2022 at 12:34 pm UTC
posthum4n Feb 3, 2022
`QA team had the smoothest VR gaming experience with this`

Oh no, don't get my hopes up again... I wonder what kind of VR setup they're talking about, I'm super skeptical this is going to do anything for Valve Index and the seemingly extreme negligence present in Valve's Linux VR focus.
Purple Library Guy Feb 3, 2022
Quoting: CybolicEDIT: Seems that they're just giving a -5 nice value to the pid of the focused window and its parent processes, keeping track of those changes and setting them back to 5 when the foreground pid changes. This should be doable with a shell script :)
Makes you wonder why nobody thought of it before.
Somkit Feb 3, 2022
Quoting: posthum4n`QA team had the smoothest VR gaming experience with this`

Oh no, don't get my hopes up again... I wonder what kind of VR setup they're talking about, I'm super skeptical this is going to do anything for Valve Index and the seemingly extreme negligence present in Valve's Linux VR focus.

Hi there, I'm the QA engineer that did most of the testing, and in particular the VR / gaming side. I own a Valve Index and use it in my tests whenever I can find an excuse to. In the test that is referenced I had setup a custom steam config file that gave all of Steams VR utilities a custom priority. Unfortunately, the actual changes needed for the Index aren't included in this patch, because I hadn't fully tested it at the time, but I hope to have a PR merged next week with the settings as well as a few other tweaks that are geared towards gaming and broadcasting.
mmstick Feb 3, 2022
Quoting: CybolicSeems that they're just giving a -5 nice value to the pid of the focused window and its parent processes, keeping track of those changes and setting them back to 5 when the foreground pid changes. This should be doable with a shell script :)

It's the other way around. The window manager provides the PID of the foreground window, and all of the descendants of that window get prioritized by the foreground priority, which by default is -5 but can be changed in a config. All other non-foreground processes are assigned the background priority of 5.
fenglengshun Feb 3, 2022
That's cool, though I'm pretty sure there are similar existing tools already incorporated somewhere in Garuda's list of tweaks.

Is there a benefit if you're already using Ananicy-Cpp + linux-tkg-pds (or similar at least kernel with the zen patches) though?
Jarmer Feb 3, 2022
This is awesome, POP OS is my favorite distro I've ever used. Can't wait for their DE.
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.