System76 continues its steady march towards an in-house, RUST-based desktop with the 1.0 release of system76-scheduler for Pop OS. The update should be available now for all Pop OS 20.04 and 21.10 users. But what the heck does it do?
You can dive into the weeds via the system76-scheduler GitHub page for all the technical details, but I prefer the way System76 engineer Michael Murphy explains it:
In practice, let’s assume you’re transferring a batch of files from a USB drive, creating a large compressed archive, and rendering a video in the background. What should happen, in simple terms, is that the file transfer will get CPU priority “as long as the process managing that transfer is the focused window,” says Murphy.
Then, if you switch to another focused app like a game or OBS, that process would gain priority, with the file transfer getting a lower priority.
But Twitter user @kushashwa brought up a concern: If you’re running a background process (like building a program) which really needs that CPU priority, will you get an unwanted performance drop?
Murphy explains that the same prioritization rule applies for sub-processes of the focused process. But if you need manual control over default priorities, a configuration directory lives at /etc/system76-scheduler/assignments.
So Pop OS Has Better Game Performance Now?
So far that all makes sense, and technically reduces the risk of having your focused app freeze or stutter. But the comment about improving game performance obviously caught my interest, so I asked Murphy if his team could cite any specific examples. Here’s what he had to say:
“[The] 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.”– Michael Murphy (@mmstick)
I do wish the QA team would have conducted some A/B benchmarks with regards to framerate and overall game performance. But hey, I’m not complaining about an overall improvement!
By the way, Michael Larabel of Phoronix has a great summary of system76-scheduler: “[it] gives priority to the X.Org Server and desktop window managers / compositors while pushing compilers and other background tasks to the lowest priority.”
This is part of a larger effort by System76 to build a RUST-based desktop environment for Pop OS. The ever-popular Linux distribution also seems to be gradually reducing its reliance on Ubuntu (along with brand new release Peppermint OS 11).