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
performanceprofile simply doesn't exist and you'll only seebalancedandpower-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_supplyfor a battery: no battery (desktop) → profile set toperformance; battery present →balanced, plus theomarchy-battery-monitor.timersystemd 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
tlpfrom 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.timeruser service (low-battery notifications on laptops — enabled by the Omarchy installer alongside thebalancedprofile). 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 (
tlpfrom 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-daemon | stock power-profiles-daemon | TLP | auto-cpufreq | |
|---|---|---|---|---|
| Price | Free, GPL-3.0 | Free, GPL-3.0 | Free, GPL-3.0 | Free, LGPL |
| Best for | Standard profiles over D-Bus; patched for RTX Spark, Apple Silicon, Snapdragon X | Same daemon without Omarchy's new-hardware patches | Deep battery tuning, charge thresholds, AC/battery policies | Set-and-forget automatic CPU scaling on laptops |
| Omarchy install | omarchy pkg add omarchy-power-profiles-daemon | pacman -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.
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
- omarchyapps.com — omarchy-power-profiles-daemon package page (0.30-3, GPL-3.0-only, updated 2026-10-14,
omarchy pkg add omarchy-power-profiles-daemon) - omarchy-pkgs PKGBUILD — omarchy-power-profiles-daemon (4 patches with MR references, python-gobject optdepends, shebang fix)
- Upstream project: gitlab.freedesktop.org/upower/power-profiles-daemon (MR !236 referenced in package)
- Arch forums — "tlp-rdw and power-profiles-daemon are in conflict" (tlp vs ppd conflict)
- Mint forums — TLP/power-profiles-daemon conflict note
- Fedora Changes — Power Profiles Daemon (profiles, D-Bus rename history)
Commands and fixes verified against official sources October 2026; on-machine verification pending.