mjakeman/system76-scheduler

Project ID: 56269

Description

Contains fedora packages for System76's scheduler daemon.

What is system76-scheduler?

Auto-configure CFS and process priorities for improved desktop responsiveness .

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.

Installation Instructions

Firstly add the COPR repository to your system.

Workstation

On Fedora Workstation, add it using dnf:

dnf copr enable mjakeman/system76-scheduler

After adding the COPR, install system76-scheduler.

sudo dnf install system76-scheduler

Silverblue

On Fedora Silverblue, you will need to download the correct .repo file for your fedora version and install it to /etc/yum.repos.d/. For example, on Fedora Silverblue 35 you can run the following:

sudo wget -O /etc/yum.repos.d/system76-scheduler.repo https://copr.fedorainfracloud.org/coprs/mjakeman/system76-scheduler/repo/fedora-35/mjakeman-system76-scheduler-fedora-35.repo

After adding the COPR, install system76-scheduler and reboot to apply changes.

rpm-ostree install system76-scheduler

Enable

Enable the service:

systemctl enable --now com.system76.Scheduler.service

GNOME Shell Integration

In order for the scheduler to know the currently focused window, you will need to install the GNOME Shell integration plugin. You can either install the latest pop-shell from git, or my standalone extension if you do not wish to use pop-shell.

Reporting Issues

Use the s76-scheduler-plugin repository to report issues for both the GNOME Extension and the Fedora Package.

Active Releases

The following unofficial repositories are provided as-is by owner of this project. Contact the owner directly for bugs or issues (IE: not bugzilla).

Release Architectures Repo Download
Fedora 38 x86_64 (83)* Fedora 38 (0 downloads)
Fedora 39 x86_64 (21)* Fedora 39 (231 downloads)
Fedora 40 x86_64 (106)* Fedora 40 (114 downloads)
Fedora 41 x86_64 (4)* Fedora 41 (12 downloads)
Fedora rawhide x86_64 (33)* Fedora rawhide (92 downloads)

* Total number of downloaded packages.