Omahub
← All plugins
M

Quattrosched

by Marc

List and switch sched_ext CPU schedulers from the bar (backed by scxctl / scx_loader)

Security review

Review recommended · 4 findings

Deterministic scan — not a security guarantee

Low
Risk level
Low
Analyzed commit
e71cb42
Scanned
1 month ago

Flagged patterns appear only in documentation files (README / docs) — descriptive examples, not executable code.

  • Docs persistence README.md:25

    Registers scheduled or boot-time system tasks.

    systemctl enable --now scx_loader` |
  • Docs sudo README.md:23

    Command runs with sudo, elevating the process beyond the plugin environment.

    sudo pacman -S scx-tools` |
  • Docs sudo README.md:24

    Command runs with sudo, elevating the process beyond the plugin environment.

    sudo pacman -S scx-scheds` |
  • Docs sudo README.md:25

    Command runs with sudo, elevating the process beyond the plugin environment.

    sudo systemctl enable --now scx_loader` |

Automated analysis only — not a security guarantee.

AI advisory review

No obvious issues detected

Language-model assessment · ~deepseek/deepseek-v4-flash-latest — advisory only

Low
AI risk level
Low
Recommendation
install
Model
~deepseek/deepseek-v4-flash-latest
Analyzed commit
e71cb42
Reviewed
1 month ago

The plugin is a transparent bar widget that lists and switches sched_ext schedulers via the system's scxctl tool. The bundled scripts are simple bash wrappers with no obfuscation, network access, or hidden behavior. The deterministic scan flags are from README documentation of dependency installation commands (sudo pacman, systemctl enable), not from the plugin executing them itself.

  • README documents installing dependencies with sudo/systemctl, but the plugin itself never invokes these; it only calls scxctl, which may trigger a Polkit prompt for admin authorization as clearly documented.
How this check works

This review combines the deterministic scan (the rule-based results above) with an independent look at the plugin's code by a language model. The model reads a trimmed sample of the repository's files, the manifest, and the README, then gives a plain-language risk level and a recommendation: install (no notable danger), review (look closer first), or avoid (clearly dangerous).

It runs on the same analyzed commit as the deterministic scan and is strictly advisory — it is not a security guarantee and never blocks a plugin by itself. A human moderator still reviews plugins before they are listed.

AI advisory only — automated analysis, not a security guarantee.

Install
$ omarchy plugin add https://github.com/mrcgibb9876-hash/quattrosched-omarchy-plugin --enable
System #power-management

Quattrosched — Omarchy plugin

A bar widget for switching Linux sched_ext CPU schedulers without leaving the desktop. Click the icon, pick a scheduler from the list, and it's live — or pick "Off" to go back to the kernel default.

How it works

The widget is a single bar-widget entry point (Panel.qml) that polls scheduler status every 5 seconds and renders a popup list. It shells out to two small scripts bundled inside this plugin (bin/omarchy-scx-status, bin/omarchy-scx-switch), which in turn drive the system's scxctl CLI. Nothing is written outside of scx_loader's own state — switching schedulers is exactly what scxctl switch/scxctl stop already do.

Dependencies

This plugin does not implement scheduler switching itself — it's a thin UI over tools that must already be installed and running on the system.

Dependency What it's for How to get it (Arch / CachyOS)
scx-tools (provides scxctl) CLI the bundled scripts call to list/get/switch/stop schedulers sudo pacman -S scx-tools
scx-scheds The actual sched_ext scheduler BPF programs scxctl lists and loads sudo pacman -S scx-scheds
scx_loader.service (installed by scx-tools) DBus-activated loader scxctl talks to; must be enabled sudo systemctl enable --now scx_loader
python3 Used by bin/omarchy-scx-status to reformat scxctl list's output as JSON Present on any standard Omarchy install
Linux kernel with CONFIG_SCHED_CLASS_EXT sched_ext support itself Kernel 6.12+, or a -cachyos/similar kernel with it backported

If scxctl, scx_loader, or a sched_ext-capable kernel are missing, the widget's popup will simply show an empty scheduler list — it does not check for or install any of the above itself.

This plugin itself never invokes sudo or pkexec — but the tools it drives do. scxctl's start/switch/stop calls to scx_loader are gated by Polkit's auth_admin_keep action, so the first switch in a session prompts for admin authentication (kept for a few minutes afterward, per Polkit's auth_admin_keep default). Once authorized, scx_loader runs as root and changes the kernel scheduler system-wide — for every process on the machine, not just the user's own session.

Install

Manual install (local plugin, no git remote needed):

cp -r /path/to/quattrosched-omarchy-plugin ~/.config/omarchy/plugins/marc.quattrosched
omarchy-shell shell rescanPlugins
omarchy plugin enable marc.quattrosched
omarchy bar put marc.quattrosched   # place the bar icon (optional)

Or, once pushed to a git remote, the standard way:

omarchy plugin add <git-url-of-this-repo>
omarchy plugin enable marc.quattrosched

Usage

  • Click the CPU icon in the bar to open the scheduler list.
  • Click a scheduler name to switch to it (scxctl switch if one is already running, scxctl start otherwise).
  • Click "Off (default scheduler)" to stop sched_ext and return to CFS/EEVDF.
  • Hover the icon for a tooltip showing the currently running scheduler.

Configuration

None — the widget has no settings beyond the standard defaultSection placement, which can be changed the same way as any other bar widget (omarchy bar put marc.quattrosched <left|center|right>).

Removal

omarchy plugin disable marc.quattrosched
rm -rf ~/.config/omarchy/plugins/marc.quattrosched

This only removes the bar widget; it does not touch scx-tools, scx-scheds, or scx_loader.service, and does not stop a scheduler that is currently running (use the "Off" option first, or scxctl stop).