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.
WiFi powersave udev rule fails: script in user home inaccessible to udev worker
Reported by peterberkenbosch · filed Feb 28, 2026Closed upstream on 2026-04-22 by dhh. GitHub close reason: completed. No closing PR or commit is recorded — "completed" alone is not 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
Summary
The 99-wifi-powersave.rules udev rule introduced in 3.4.0 (migration 1770811646) references $HOME/.local/share/omarchy/bin/omarchy-wifi-powersave, but udev workers run as root with PrivateMounts sandboxing and cannot access user home directories. The script never executes, WiFi power-save stays enabled on AC power, and on affected MediaTek chips this leads to firmware crashes.
System Specs
- Device: Framework 13
- WiFi: MediaTek MT7922 (
mt7921edriver) - Kernel: 6.18.9-arch1-2
- Omarchy: 3.4.0
Symptoms
omarchy-wifi-powersavenever runs — udev can't find it- WiFi power-save stays on even when plugged into AC power
- MT7922 firmware eventually crashes with
Failed to get patch semaphore/chip reset failed - WiFi interface goes DOWN and cannot recover without module reload or reboot
Root Cause
The migration 1770811646.sh sources install/config/wifi-powersave-rules.sh, which writes:
SUBSYSTEM=="power_supply", ATTR{type}=="Mains", ATTR{online}=="1", RUN+="/home/<user>/.local/share/omarchy/bin/omarchy-wifi-powersave off"Since systemd 256+, udev workers use PrivateMounts sandboxing. The path inside the user's home directory is inaccessible to the root-run udev worker, producing:
(udev-worker)[1460]: ACAD: Failed to find and pin callout binary "/home/peter/.local/share/omarchy/bin/omarchy-wifi-powersave": No such file or directorySuggested Fix
Copy or symlink the script to a system-accessible path, and update the udev rule to reference it:
# In the migration / install script:
sudo cp "$HOME/.local/share/omarchy/bin/omarchy-wifi-powersave" /usr/local/bin/omarchy-wifi-powersave
sudo chmod 755 /usr/local/bin/omarchy-wifi-powersaveThen in the udev rule:
SUBSYSTEM=="power_supply", ATTR{type}=="Mains", ATTR{online}=="0", RUN+="/usr/local/bin/omarchy-wifi-powersave on"
SUBSYSTEM=="power_supply", ATTR{type}=="Mains", ATTR{online}=="1", RUN+="/usr/local/bin/omarchy-wifi-powersave off"Reproduction
- Update to Omarchy 3.4.0 on a laptop with a MediaTek WiFi chip
- Observe
journalctl -b | grep wifi-powersave— shows the "Failed to find and pin callout binary" error - WiFi power-save remains active on AC; over time the firmware may crash
View raw text
## Summary
The `99-wifi-powersave.rules` udev rule introduced in 3.4.0 (migration `1770811646`) references `$HOME/.local/share/omarchy/bin/omarchy-wifi-powersave`, but udev workers run as root with `PrivateMounts` sandboxing and cannot access user home directories. The script never executes, WiFi power-save stays enabled on AC power, and on affected MediaTek chips this leads to firmware crashes.
## System Specs
- **Device:** Framework 13
- **WiFi:** MediaTek MT7922 (`mt7921e` driver)
- **Kernel:** 6.18.9-arch1-2
- **Omarchy:** 3.4.0
## Symptoms
1. `omarchy-wifi-powersave` never runs — udev can't find it
2. WiFi power-save stays on even when plugged into AC power
3. MT7922 firmware eventually crashes with `Failed to get patch semaphore` / `chip reset failed`
4. WiFi interface goes DOWN and cannot recover without module reload or reboot
## Root Cause
The migration `1770811646.sh` sources `install/config/wifi-powersave-rules.sh`, which writes:
```
SUBSYSTEM=="power_supply", ATTR{type}=="Mains", ATTR{online}=="1", RUN+="/home/<user>/.local/share/omarchy/bin/omarchy-wifi-powersave off"
```
Since systemd 256+, udev workers use `PrivateMounts` sandboxing. The path inside the user's home directory is inaccessible to the root-run udev worker, producing:
```
(udev-worker)[1460]: ACAD: Failed to find and pin callout binary "/home/peter/.local/share/omarchy/bin/omarchy-wifi-powersave": No such file or directory
```
## Suggested Fix
Copy or symlink the script to a system-accessible path, and update the udev rule to reference it:
```bash
# In the migration / install script:
sudo cp "$HOME/.local/share/omarchy/bin/omarchy-wifi-powersave" /usr/local/bin/omarchy-wifi-powersave
sudo chmod 755 /usr/local/bin/omarchy-wifi-powersave
```
Then in the udev rule:
```
SUBSYSTEM=="power_supply", ATTR{type}=="Mains", ATTR{online}=="0", RUN+="/usr/local/bin/omarchy-wifi-powersave on"
SUBSYSTEM=="power_supply", ATTR{type}=="Mains", ATTR{online}=="1", RUN+="/usr/local/bin/omarchy-wifi-powersave off"
```
## Reproduction
1. Update to Omarchy 3.4.0 on a laptop with a MediaTek WiFi chip
2. Observe `journalctl -b | grep wifi-powersave` — shows the "Failed to find and pin callout binary" error
3. WiFi power-save remains active on AC; over time the firmware may crashValidation
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.