Omarchy Apps Sponsor

System guide

power-profiles-daemon on Omarchy

Omarchy's patched power daemon — exposes CPU power profiles over D-Bus, with new-hardware patches for RTX Spark, Apple Silicon, Snapdragon X.

Reviewed 2026-10-19 · independent editorial guide

Short answer

Install Omarchy's power-profiles-daemon with `omarchy pkg add omarchy-power-profiles-daemon` — a patched build of the standard Linux power daemon with profiles for NVIDIA RTX Spark, Apple Silicon, and Snapdragon X hardware. It exposes performance, balanced, and power-saver over D-Bus so apps and scripts can read and switch them. It's plumbing: no GUI, and Omarchy's installer already picks a sane default.

power-profiles-daemon on Omarchy

Omarchy's power-profiles-daemon (0.30, rebuilt by Omarchy with patches for NVIDIA RTX Spark, Apple Silicon, and Snapdragon X hardware) is the background service that exposes your CPU power profiles — performance, balanced, power-saver — over D-Bus so apps and scripts can read and switch them.

TL;DR

omarchy pkg add omarchy-power-profiles-daemon

Takes seconds — it's a 69.9 KB daemon, installed in 169.4 KB, and it replaces Arch's stock power-profiles-daemon (the package declares provides + conflicts, so it's a drop-in swap, not a second copy). Then check it's alive: systemctl status power-profiles-daemon, and read your profiles with powerprofilesctl list.

This is plumbing, not an app. There's no window, no launcher icon — it just runs, and your desktop, your battery monitor, and your scripts talk to it. If your Omarchy machine came from the installer, it's very likely already running; this package is how you get Omarchy's patched 0.30 build with the new-hardware profiles.

What the Omarchy build adds over stock 0.30: four documented patches — NVIDIA RTX Spark (N1X) per-core energy-preference profiles (proposed upstream as merge request !236), acceptance of the kernel's balanced-performance spelling, a generic cpufreq driver that uses the boost switch on Apple Silicon, and frequency caps for Snapdragon X (60% max in power-saver, 75% in balanced, uncapped in performance; proposed as !239). If you're on an RTX Spark, Snapdragon X, or Apple Silicon machine, this is the version you want. On plain x86_64 it behaves like stock.

Getting started (5 minutes)

1. Install and verify the service.

Run the command above, then:

systemctl status power-profiles-daemon   # should be active (running)
powerprofilesctl list                    # the profiles your hardware offers

2. Switch profiles from the terminal.

powerprofilesctl set performance    # plugged in / full speed
powerprofilesctl set balanced       # the everyday default
powerprofilesctl set power-saver    # stretch the battery

(powerprofilesctl needs python-gobject — it's an optdepends, so if the command errors on an import, install that first.)

3. The 3 things you need to know:

  • Profiles come from your hardware's drivers, not from the daemon's generosity — The daemon exposes what the kernel offers: on most Intel/AMD laptops that's all three profiles; on some hardware the performance profile simply doesn't exist and you'll only see balanced and power-saver. That's normal — the Omarchy patches exist precisely to teach the daemon about newer chips (RTX Spark, Snapdragon X, Apple Silicon) whose drivers upstream 0.30 doesn't fully understand yet.
  • Omarchy picks a sane default at install — Omarchy's installer (install/config/power.sh) checks /sys/class/power_supply for a battery: no battery (desktop) → profile set to performance; battery present → balanced, plus the omarchy-battery-monitor.timer systemd user service for low-battery notifications. You don't need to touch anything unless you want different behavior.
  • Pick this OR tlp, never both — They fight over the same CPU frequency controls. Omarchy ships the daemon; if you install tlp from the Arch repos, expect a package conflict — that's the system protecting you from two drivers steering the same wheel.

4. Where its config lives.

Almost nowhere user-facing — that's the point of a D-Bus service. The daemon binary and its systemd unit live under /usr; per-user behavior (like which profile Omarchy chose for you) is whatever the install script set via powerprofilesctl. There is no ~/.config file to edit; you drive it with powerprofilesctl or any app that speaks its D-Bus interface.

5. Script it.

Because it's D-Bus, anything can read the active profile — e.g., show it in your Omarchy bar, or auto-switch on AC/battery events with a udev rule or a small systemd path unit watching /sys/class/power_supply/. powerprofilesctl is the friendly wrapper; the raw interface is org.freedesktop.UPower.PowerProfiles (renamed from the old net.hadess.PowerProfiles back in 0.20, so if an old script references the old name, that's why it broke).

Common issues & fixes

Installing tlp (or tlp-rdw) errors out: "tlp and power-profiles-daemon are in conflict"

This is intentional and well-documented (see the long-running Arch forum thread "tlp-rdw and power-profiles-daemon are in conflict", and Mint's note that "the power-profiles-daemon package conflicts with tlp so they can't both be installed").

Fix: Decide which power manager you want. To go with TLP: remove this package (check the exact remove command on-machine), install tlp, then sudo systemctl enable --now tlp. To stay with the daemon (Omarchy's default): don't install TLP. Running both means two daemons fighting over CPU governors — whichever you choose, mask or remove the other.

powerprofilesctl fails with a Python import error (e.g., No module named 'gi')

The tool needs PyGObject. The Omarchy PKGBUILD lists python-gobject as an optdepends ("for powerprofilesctl") and even rewrites the script's shebang to #!/usr/bin/python3 so it uses the system Python instead of whatever a mise or venv puts first on PATH — because a venv Python lacks PyGObject. (Sourced directly from the package recipe.)

Fix: Install python-gobject and run it with the system Python.

powerprofilesctl list shows only balanced — no performance profile

Usually not a bug: the performance profile only appears when your hardware's drivers expose the knobs for it (upstream documents this; a Manjaro forum thread from the GNOME 41 era confirms "if you don't have a Performance mode available, it's not technically supported out of the box").

Fix: On Snapdragon X / RTX Spark / Apple Silicon, this Omarchy build's patches are what teach the daemon those knobs — make sure you're actually running the Omarchy package (pacman -Q omarchy-power-profiles-daemon should show 0.30-3), not a stale stock install. If the hardware genuinely lacks the controls, no software will conjure them.

The profile you set doesn't stick, or your laptop doesn't switch profiles when you unplug

The daemon itself doesn't auto-switch on AC/battery events — that's the desktop's or a script's job. On Omarchy, the installer sets the profile once based on battery presence; there is no built-in "performance on AC, saver on battery" rule after that.

Fix: If you want automatic switching, that's a small script watching /sys/class/power_supply/ and calling powerprofilesctl set ... — or use TLP, which does exactly this kind of policy out of the box.

Pairs well with / If you hate this, try

Pairs well with

  • The omarchy-battery-monitor.timer user service (low-battery notifications on laptops — enabled by the Omarchy installer alongside the balanced profile). Any bar widget that reads the D-Bus interface to show the current profile. upower (already a dependency) for the battery data underneath.

If you hate this, try

  • TLP (tlp from the Arch repos) — the veteran power manager with far more knobs (charge thresholds, USB autosuspend, Wi-Fi power saving) and real AC/battery policies, at the cost of editing config files in /etc/tlp.d/. Or auto-cpufreq — automatic, laptop-focused CPU frequency scaling with a TUI. Both replace the daemon; both conflict with it. Rule of thumb: want profiles apps understand (GNOME-style)? Keep the daemon. Want aggressive battery tuning with one config file? TLP.

Comparison: power profiles options

omarchy-power-profiles-daemonstock power-profiles-daemonTLPauto-cpufreq
PriceFree, GPL-3.0Free, GPL-3.0Free, GPL-3.0Free, LGPL
Best forStandard profiles over D-Bus; patched for RTX Spark, Apple Silicon, Snapdragon XSame daemon without Omarchy's new-hardware patchesDeep battery tuning, charge thresholds, AC/battery policiesSet-and-forget automatic CPU scaling on laptops
Omarchy installomarchy pkg add omarchy-power-profiles-daemonpacman -S power-profiles-daemon (replaced by the Omarchy build)omarchy pkg add tlp (conflicts — pick one)AUR / manual

Verdict: Stay on Omarchy's build if you want the standard profile interface and own newer ARM/Apple hardware; switch to TLP if your priority is squeezing hours out of a battery with fine-grained control.

Open the power-profiles-daemon package

See the live version, upstream screenshot, requirements, source and exact Omarchy install command.

View power-profiles-daemon →

Frequently asked questions

Is this a GUI app?

No — it's a system daemon with no window. You talk to it with powerprofilesctl in a terminal, or through apps that read its D-Bus interface. The Omarchy installer configures it for you, so many users will never type a command.

Does it replace the normal power-profiles-daemon?

Yes, by design. The package declares provides=(power-profiles-daemon) and conflicts=(power-profiles-daemon) — installing it swaps out Arch's stock build for Omarchy's patched 0.30. Anything that depended on the stock package keeps working.

Why does Omarchy ship its own build instead of Arch's?

Because upstream 0.30 doesn't yet know about the newest hardware. The four Omarchy patches add NVIDIA RTX Spark power profiles, the kernel's balanced-performance spelling, an Apple Silicon cpufreq-boost driver, and Snapdragon X frequency caps — several are proposed upstream (MRs !236/!237/!238/!239) and the package comments say to drop them once merged. When upstream catches up, Omarchy's build converges back to stock.

How do I see which profile is active right now?

Run powerprofilesctl with no arguments. For scripts, query the D-Bus interface org.freedesktop.UPower.PowerProfiles.

Will it make my battery last longer by itself?

Only if you switch to power-saver. The daemon exposes the profiles; it doesn't choose for you (beyond Omarchy's one-time installer default). Automatic AC/battery switching is a TLP-style feature — if you want that, that's the sign to evaluate TLP.

Official sources

Commands and fixes verified against official sources October 2026; on-machine verification pending.