System76-scheduler quietly debuts in version 1.0 today as a Rust-written daemon aimed at improving Linux desktop responsiveness and responding to their Pop! _BONE.
System76 Scheduler describes itself as:
Scheduling service that optimizes the Linux CPU scheduler and automatically assigns process priorities for better desktop responsiveness. Low latency CPU programming will be enabled automatically when on mains power, and the default programming latencies are set to battery. Processes are periodically scanned and process priorities assigned 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 fluidity and performance of applications and games. The improved application responsiveness is most noticeable on older systems with lower budget hardware, while games will benefit from higher frame rates and reduced jitter. This is because background apps and services will be allocated a smaller portion of the remaining CPU budget once the active process has spent the most time on the CPU.
Basically, this rust-written MPL-2.0 licensed software aims to automatically configure the kernel’s CFS scheduler and dynamically manage process priorities to improve Linux desktop responsiveness. System76-Scheduler prioritizes the X.Org server and desktop window managers/composers while pushing compilers and other background tasks to the lowest priority. These priorities are configurable through the system76-scheduler configuration files.
More details for those interested in the system76 scheduler via Pop!_OS on GitHub.