Proof Portal
Omarchy
ProbeLabs65 findings · 95 requirementsA proof layer — requirements, tests and verified fixes — for two of Omarchy's subsystems: the application menu (launcher scripts, QML model, JSONC config, search and selection) and the lock screen (lock scripts, QML, PAM authentication). Scope is deliberately limited to those components of omacom/omarchy; the rest of the distribution is not covered.
Power profile switching fails with amd_pstate on Lenovo LOQ — platform_profile works; possible fallback?
Reported by sanjyay · filed Aug 14, 2026Closed upstream on 2026-08-15 by its own reporter sanjyay. GitHub close reason: completed. Closed by its own reporter — not by itself evidence of a fix.
At a glance
- 1 · What is claimed?
- Only the report text below — no validator has restated it as checkable claims yet.
- 2 · What does it affect?
- Not yet mapped to any requirement or component.
- 3 · Is it reproducible?
- No validation has been run yet.
- 4 · What remains unclear?
- Not validated yet: no claims, no reproducer.
- 5 · What happens next?
- Our staff decide whether the report is valid. Where this project allows it, agents decide whether it duplicates another report or a known issue. No decision has been recorded yet.
Original report
System details
Lenovo LOQ, AMD Ryzen 7 250, Radeon 780M iGPU, NVIDIA GeForce RTX 5060 Laptop GPU, Omarchy 4.0.0-1, Linux 7.1.8-arch1-3
What's wrong?
I'm using Omarchy on an AMD Lenovo LOQ.
The power profiles are detected and displayed correctly in Omarchy, but selecting Performance or Power Saver does not switch the profile.
I investigated this outside the Omarchy UI and found that the same failure occurs when using powerprofilesctl directly.
However, the Linux platform_profile interface exposed by the laptop works correctly, including direct switching between the hardware power modes.
This makes me think the underlying issue is related to the interaction between power-profiles-daemon and amd_pstate, rather than the Omarchy UI itself.
I'm opening this issue both to document the problem and to ask whether a generic platform_profile fallback would be an acceptable addition to Omarchy. If so, I'd be interested in working on it.
<img width="1294" height="795" alt="Image" src="https://github.com/user-attachments/assets/0c1d7992-a062-41e1-92af-4086d88305bc" />
PPD Detects the Profiles Correctly
powerprofilesctl detects the standard profiles correctly.
powerprofilesctlThe system is also using amd_pstate_epp:
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_driver
cat /sys/devices/system/cpu/amd_pstate/status
cat /sys/devices/system/cpu/cpufreq/policy11/boost<img width="606" height="889" alt="Image" src="https://github.com/user-attachments/assets/ceb4c0e5-3cb4-44c6-91ca-f44eef550b4b" />
Switching Through PPD Fails
Trying to switch to Performance directly through powerprofilesctl:
powerprofilesctl set performancefails with:
Failed to activate CPU driver 'amd_pstate':
Error writing '/sys/devices/system/cpu/cpufreq/policy11/boost':
Invalid argument (13)The same issue occurs when attempting to switch to power-saver.
Because this can be reproduced directly using powerprofilesctl, it does not appear that the Omarchy UI itself is causing the failure.
<img width="1875" height="237" alt="Image" src="https://github.com/user-attachments/assets/23749521-ff19-4f03-b78e-4851050a52be" />
Linux platform_profile Is Available and Works
The same machine exposes the standard Linux platform profile interface:
/sys/firmware/acpi/platform_profile
/sys/firmware/acpi/platform_profile_choicesI checked the available choices using:
cat /sys/firmware/acpi/platform_profile_choices
cat /sys/firmware/acpi/platform_profileOn this machine, the available profiles are:
low-power balanced performance max-power custom<img width="516" height="284" alt="Image" src="https://github.com/user-attachments/assets/6e9e0b92-6c78-4e24-905b-25bfd54a7fb5" />
Direct platform_profile Switching Works
I tested the kernel platform_profile interface directly.
For example:
echo performance | sudo tee /sys/firmware/acpi/platform_profile
cat /sys/firmware/acpi/platform_profilesuccessfully switches the machine to:
performanceI also tested the other available modes:
echo low-power | sudo tee /sys/firmware/acpi/platform_profile
printf "Current: "
cat /sys/firmware/acpi/platform_profile
echo balanced | sudo tee /sys/firmware/acpi/platform_profile
printf "Current: "
cat /sys/firmware/acpi/platform_profile
echo performance | sudo tee /sys/firmware/acpi/platform_profile
printf "Current: "
cat /sys/firmware/acpi/platform_profile
echo max-power | sudo tee /sys/firmware/acpi/platform_profile
printf "Current: "
cat /sys/firmware/acpi/platform_profile
echo balanced | sudo tee /sys/firmware/acpi/platform_profile
printf "Current: "
cat /sys/firmware/acpi/platform_profileThe final command returns the machine to balanced.
All of these direct platform-profile changes work correctly.
<img width="689" height="672" alt="Image" src="https://github.com/user-attachments/assets/20f396f5-6511-49c7-9043-509823f37cde" />
What Appears To Be Happening
From my testing, the situation appears to be:
Omarchy
|
v
power-profiles-daemon
|
+---------------------------+
| |
v v
platform_profile amd_pstate
| |
v v
works boost write fails
|
v
profile switch failsThe hardware/platform-profile side appears functional.
The failure occurs when power-profiles-daemon attempts to activate the amd_pstate CPU driver and write to:
/sys/devices/system/cpu/cpufreq/policy11/boostSo this looks like a PPD / amd_pstate compatibility issue on this system rather than an Omarchy UI issue.
Possible Omarchy Fallback
Would it make sense for Omarchy to support the Linux platform_profile interface as an optional fallback when PPD profile switching fails?
I am not suggesting a Lenovo LOQ-specific workaround.
Instead, Omarchy could potentially detect the generic kernel interfaces:
/sys/firmware/acpi/platform_profile
/sys/firmware/acpi/platform_profile_choicesConceptually:
User selects power profile
|
v
Try normal PPD
|
+----+----+
| |
SUCCESS FAILURE
| |
v v
Done platform_profile
available?
|
+----+----+
| |
NO YES
| |
v v
Report Optional
failure fallbackThis would keep PPD as the normal/default implementation.
The fallback would only be relevant when:
- PPD profile activation fails, and
- the kernel exposes a usable
platform_profileinterface.
This would also avoid hardcoding specific laptop models.
Exposing Native Platform Profiles
There is another potentially useful difference.
PPD currently exposes the generic profiles:
power-saver
balanced
performancewhile my machine's platform_profile_choices reports:
low-power
balanced
performance
max-power
customIf Omarchy were operating through platform_profile, perhaps it could read the supported choices directly from:
/sys/firmware/acpi/platform_profile_choicesand expose those choices in the power menu.
For example, on this machine:
Power Profile
Low Power
Balanced
Performance
Max Power
CustomThis would allow the implementation to remain generic instead of maintaining laptop-specific profile lists.
Privilege / Safety Consideration
Obviously, directly writing to:
/sys/firmware/acpi/platform_profilerequires elevated privileges.
I don't think the solution should involve making the sysfs node globally writable or executing arbitrary commands with elevated privileges.
If this fallback is considered appropriate, it would need a properly scoped mechanism such as Polkit/a privileged helper that:
- only operates on
platform_profile; - only accepts profiles actually reported by
platform_profile_choices; - does not allow arbitrary sysfs writes.
Question for the Maintainers
Would this kind of generic `platform_profile` fallback fit Omarchy's direction?
I'm thinking of keeping PPD as the primary/default backend and only using the kernel platform-profile interface when appropriate.
If this approach is acceptable, I'd be happy to investigate Omarchy's existing power-profile implementation and work on a PR for it.
I'd prefer to confirm the intended architecture with the maintainers before implementing it.
If the preferred approach is instead to keep Omarchy entirely dependent on PPD and leave this issue to be fixed upstream in power-profiles-daemon / amd_pstate, that's also useful to know.
power-profiles-daemon Logs
I also collected the daemon logs using:
journalctl -u power-profiles-daemon -b --no-pager | tail -80<!--
SCREENSHOT 6 HERE
Either attach a screenshot here OR, preferably, paste the actual text
inside the block below.
Delete this comment afterwards.
-->
power-profiles-daemon logs
<img width="1879" height="190" alt="Image" src="https://github.com/user-attachments/assets/2bf822c8-1641-4293-b916-290b2049b9db" />
Summary
- Omarchy displays the available PPD profiles correctly.
- Switching profiles through
powerprofilesctlfails with anamd_pstateboost error. - The failure is reproducible outside the Omarchy UI.
- The kernel exposes
platform_profileandplatform_profile_choices. - Direct
platform_profileswitching works correctly. - The machine successfully switches between
low-power,balanced,performance, andmax-power. - I'm proposing a generic
platform_profilefallback rather than a Lenovo-specific workaround. - I'm happy to work on the implementation if this approach is something the Omarchy maintainers would accept.
View raw text
### System details
Lenovo LOQ, AMD Ryzen 7 250, Radeon 780M iGPU, NVIDIA GeForce RTX 5060 Laptop GPU, Omarchy 4.0.0-1, Linux 7.1.8-arch1-3
### What's wrong?
I'm using Omarchy on an AMD Lenovo LOQ.
The power profiles are detected and displayed correctly in Omarchy, but selecting **Performance** or **Power Saver** does not switch the profile.
I investigated this outside the Omarchy UI and found that the same failure occurs when using `powerprofilesctl` directly.
However, the Linux `platform_profile` interface exposed by the laptop works correctly, including direct switching between the hardware power modes.
This makes me think the underlying issue is related to the interaction between `power-profiles-daemon` and `amd_pstate`, rather than the Omarchy UI itself.
I'm opening this issue both to document the problem and to ask whether a generic `platform_profile` fallback would be an acceptable addition to Omarchy. If so, I'd be interested in working on it.
---
<img width="1294" height="795" alt="Image" src="https://github.com/user-attachments/assets/0c1d7992-a062-41e1-92af-4086d88305bc" />
## PPD Detects the Profiles Correctly
`powerprofilesctl` detects the standard profiles correctly.
```bash
powerprofilesctl
```
The system is also using `amd_pstate_epp`:
```bash
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_driver
cat /sys/devices/system/cpu/amd_pstate/status
cat /sys/devices/system/cpu/cpufreq/policy11/boost
```
<img width="606" height="889" alt="Image" src="https://github.com/user-attachments/assets/ceb4c0e5-3cb4-44c6-91ca-f44eef550b4b" />
---
## Switching Through PPD Fails
Trying to switch to Performance directly through `powerprofilesctl`:
```bash
powerprofilesctl set performance
```
fails with:
```text
Failed to activate CPU driver 'amd_pstate':
Error writing '/sys/devices/system/cpu/cpufreq/policy11/boost':
Invalid argument (13)
```
The same issue occurs when attempting to switch to `power-saver`.
Because this can be reproduced directly using `powerprofilesctl`, it does not appear that the Omarchy UI itself is causing the failure.
<img width="1875" height="237" alt="Image" src="https://github.com/user-attachments/assets/23749521-ff19-4f03-b78e-4851050a52be" />
---
## Linux platform_profile Is Available and Works
The same machine exposes the standard Linux platform profile interface:
```text
/sys/firmware/acpi/platform_profile
/sys/firmware/acpi/platform_profile_choices
```
I checked the available choices using:
```bash
cat /sys/firmware/acpi/platform_profile_choices
cat /sys/firmware/acpi/platform_profile
```
On this machine, the available profiles are:
```text
low-power balanced performance max-power custom
```
<img width="516" height="284" alt="Image" src="https://github.com/user-attachments/assets/6e9e0b92-6c78-4e24-905b-25bfd54a7fb5" />
---
## Direct platform_profile Switching Works
I tested the kernel `platform_profile` interface directly.
For example:
```bash
echo performance | sudo tee /sys/firmware/acpi/platform_profile
cat /sys/firmware/acpi/platform_profile
```
successfully switches the machine to:
```text
performance
```
I also tested the other available modes:
```bash
echo low-power | sudo tee /sys/firmware/acpi/platform_profile
printf "Current: "
cat /sys/firmware/acpi/platform_profile
echo balanced | sudo tee /sys/firmware/acpi/platform_profile
printf "Current: "
cat /sys/firmware/acpi/platform_profile
echo performance | sudo tee /sys/firmware/acpi/platform_profile
printf "Current: "
cat /sys/firmware/acpi/platform_profile
echo max-power | sudo tee /sys/firmware/acpi/platform_profile
printf "Current: "
cat /sys/firmware/acpi/platform_profile
echo balanced | sudo tee /sys/firmware/acpi/platform_profile
printf "Current: "
cat /sys/firmware/acpi/platform_profile
```
The final command returns the machine to `balanced`.
All of these direct platform-profile changes work correctly.
<img width="689" height="672" alt="Image" src="https://github.com/user-attachments/assets/20f396f5-6511-49c7-9043-509823f37cde" />
---
## What Appears To Be Happening
From my testing, the situation appears to be:
```text
Omarchy
|
v
power-profiles-daemon
|
+---------------------------+
| |
v v
platform_profile amd_pstate
| |
v v
works boost write fails
|
v
profile switch fails
```
The hardware/platform-profile side appears functional.
The failure occurs when `power-profiles-daemon` attempts to activate the `amd_pstate` CPU driver and write to:
```text
/sys/devices/system/cpu/cpufreq/policy11/boost
```
So this looks like a PPD / `amd_pstate` compatibility issue on this system rather than an Omarchy UI issue.
---
## Possible Omarchy Fallback
Would it make sense for Omarchy to support the Linux `platform_profile` interface as an optional fallback when PPD profile switching fails?
I am **not suggesting a Lenovo LOQ-specific workaround**.
Instead, Omarchy could potentially detect the generic kernel interfaces:
```text
/sys/firmware/acpi/platform_profile
/sys/firmware/acpi/platform_profile_choices
```
Conceptually:
```text
User selects power profile
|
v
Try normal PPD
|
+----+----+
| |
SUCCESS FAILURE
| |
v v
Done platform_profile
available?
|
+----+----+
| |
NO YES
| |
v v
Report Optional
failure fallback
```
This would keep PPD as the normal/default implementation.
The fallback would only be relevant when:
1. PPD profile activation fails, and
2. the kernel exposes a usable `platform_profile` interface.
This would also avoid hardcoding specific laptop models.
---
## Exposing Native Platform Profiles
There is another potentially useful difference.
PPD currently exposes the generic profiles:
```text
power-saver
balanced
performance
```
while my machine's `platform_profile_choices` reports:
```text
low-power
balanced
performance
max-power
custom
```
If Omarchy were operating through `platform_profile`, perhaps it could read the supported choices directly from:
```text
/sys/firmware/acpi/platform_profile_choices
```
and expose those choices in the power menu.
For example, on this machine:
```text
Power Profile
Low Power
Balanced
Performance
Max Power
Custom
```
This would allow the implementation to remain generic instead of maintaining laptop-specific profile lists.
---
## Privilege / Safety Consideration
Obviously, directly writing to:
```text
/sys/firmware/acpi/platform_profile
```
requires elevated privileges.
I don't think the solution should involve making the sysfs node globally writable or executing arbitrary commands with elevated privileges.
If this fallback is considered appropriate, it would need a properly scoped mechanism such as Polkit/a privileged helper that:
- only operates on `platform_profile`;
- only accepts profiles actually reported by `platform_profile_choices`;
- does not allow arbitrary sysfs writes.
---
## Question for the Maintainers
Would this kind of **generic `platform_profile` fallback** fit Omarchy's direction?
I'm thinking of keeping PPD as the primary/default backend and only using the kernel platform-profile interface when appropriate.
If this approach is acceptable, **I'd be happy to investigate Omarchy's existing power-profile implementation and work on a PR for it.**
I'd prefer to confirm the intended architecture with the maintainers before implementing it.
If the preferred approach is instead to keep Omarchy entirely dependent on PPD and leave this issue to be fixed upstream in `power-profiles-daemon` / `amd_pstate`, that's also useful to know.
---
## power-profiles-daemon Logs
I also collected the daemon logs using:
```bash
journalctl -u power-profiles-daemon -b --no-pager | tail -80
```
<!--
SCREENSHOT 6 HERE
Either attach a screenshot here OR, preferably, paste the actual text
inside the block below.
Delete this comment afterwards.
-->
<details>
<summary>power-profiles-daemon logs</summary>
<img width="1879" height="190" alt="Image" src="https://github.com/user-attachments/assets/2bf822c8-1641-4293-b916-290b2049b9db" />
</details>
---
## Summary
- Omarchy displays the available PPD profiles correctly.
- Switching profiles through `powerprofilesctl` fails with an `amd_pstate` boost error.
- The failure is reproducible outside the Omarchy UI.
- The kernel exposes `platform_profile` and `platform_profile_choices`.
- Direct `platform_profile` switching works correctly.
- The machine successfully switches between `low-power`, `balanced`, `performance`, and `max-power`.
- I'm proposing a generic `platform_profile` fallback rather than a Lenovo-specific workaround.
- I'm happy to work on the implementation if this approach is something the Omarchy maintainers would accept.- 0c1d7992-a062-41e1-92af-4086d88305bc
- ceb4c0e5-3cb4-44c6-91ca-f44eef550b4b
- 23749521-ff19-4f03-b78e-4851050a52be
- 6e9e0b92-6c78-4e24-905b-25bfd54a7fb5
- 20f396f5-6511-49c7-9043-509823f37cde
- 2bf822c8-1641-4293-b916-290b2049b9db
Validation
Not checked yet. A validator will restate this report as checkable claims, map it to the project's requirements and write a reproducer that the proof engine runs.
Linked
Not linked to any known issue, other report or change yet.
Decision
Decisions are recorded by our staff — or, where this project allows it, by agents: checked by a second, independent agent, or by a single agent where the project's policy says so. Any decision reached so far is shown below.
No decision has been recorded yet.