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.
T2: 22s black lid wake after PR 6562 dropped pcie_ports=compat
Reported by Gdsimms · filed Aug 27, 2026 · open at source
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?
- AreaOutside the audited area· Decided by agents · verified
- 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?
- Decided by agents and verified by a second, independent agent — see the decision.
Original report
Summary
On a T2 MacBookPro15,1, lid close sleeps cleanly but lid open stayed black for ~22 seconds before the lock appeared. Adding `pcie_ports=compat` back next to the current T2 flags dropped that to ~2–3 seconds.
Omarchy PR 6562 treated pcie_ports=compat as obsolete and replaced it with pm_async=off mem_sleep_default=deep. pm_async=off is still needed (suspend reliability). pcie_ports=compat is still needed (wake speed). They are not substitutes.
Machine
- DMI:
MacBookPro15,1(15" 2018/2019, Intel UHD 630 + AMD Baffin, panel on amdgpucard2-eDP-1) - Omarchy 4.0.0-1, kernel
7.1.8-arch1-Watanare-T2-3-t2 - T2 stack:
t2bce_*loaded, noapple_bce, no apple-bce rmmod sleep units - Wi-Fi: BCM4364
14e4:4464(left bound) - Before:
intel_iommu=on iommu=pt pm_async=off mem_sleep_default=deep(pm_async=0,mem_sleep=s2idle [deep]) - After: same line plus
pcie_ports=compat
Timeline (one lid cycle, no pcie_ports=compat)
Stopwatch lid-open-to-lock-visible: 22.43s. systemctl suspend + spacebar: 22.65s (lid ACPI path is innocent).
| Mark | Time |
|---|---|
Lid opened | T=0 |
| amdgpu GART/UVD/VCE up | T+0.07s |
PM: suspend exit | T+2.25s |
| First lock PAM | T+10.3s |
The extra ~15s of black is before logind's Lid opened. Kernel device resume is only ~2s. No blocking sleep N in /usr/lib/systemd/system-sleep. amdgpu is not the 22s.
After adding pcie_ports=compat, limine-update, reboot:
| Cycle | Stopwatch | Lid opened → PM: suspend exit |
|---|---|---|
| Lid | <2s (lock was up before the watch) | 1.73s |
| Lid, later | ~3s | 2.32s |
Still sleeps, still locks, keyboard/trackpad re-enumerate. Remaining ~2s is T2 S3 kernel resume.
Cause in Omarchy
migrations/1785944594.sh:
sed -i 's/pcie_ports=compat/pm_async=off mem_sleep_default=deep/'install/hardware/apple/fix-t2.sh now writes:
KERNEL_CMDLINE[default]+=" intel_iommu=on iommu=pt pm_async=off mem_sleep_default=deep"That is why a 4.0 T2 install has no pcie_ports=compat.
Proposed fix
Keep pm_async=off mem_sleep_default=deep. Add pcie_ports=compat; do not substitute.
fix-t2.sh:
KERNEL_CMDLINE[default]+=" intel_iommu=on iommu=pt pm_async=off mem_sleep_default=deep pcie_ports=compat"New migration for existing T2 installs: if /etc/limine-entry-tool.d/t2-mac.conf exists and does not contain pcie_ports=compat, append it with +=, then limine-update. Do not run the old s/pcie_ports=compat/.../ substitution again.
Related
- https://github.com/basecamp/omarchy/pull/6562 (replaced the flag)
- https://github.com/basecamp/omarchy/discussions/4695
- https://github.com/basecamp/omarchy/pull/5998
- https://github.com/basecamp/omarchy/pull/6149
Notes and compact dumps: https://github.com/Gdsimms/omarchy-macbook-wake
View raw text
## Summary On a T2 MacBookPro15,1, lid close sleeps cleanly but lid open stayed black for **~22 seconds** before the lock appeared. Adding **`pcie_ports=compat` back** next to the current T2 flags dropped that to **~2–3 seconds**. Omarchy [PR 6562](https://github.com/basecamp/omarchy/pull/6562) treated `pcie_ports=compat` as obsolete and *replaced* it with `pm_async=off mem_sleep_default=deep`. `pm_async=off` is still needed (suspend reliability). `pcie_ports=compat` is still needed (wake speed). They are not substitutes. ## Machine - DMI: `MacBookPro15,1` (15" 2018/2019, Intel UHD 630 + AMD Baffin, panel on amdgpu `card2-eDP-1`) - Omarchy 4.0.0-1, kernel `7.1.8-arch1-Watanare-T2-3-t2` - T2 stack: `t2bce_*` loaded, no `apple_bce`, no apple-bce rmmod sleep units - Wi-Fi: BCM4364 `14e4:4464` (left bound) - Before: `intel_iommu=on iommu=pt pm_async=off mem_sleep_default=deep` (`pm_async=0`, `mem_sleep=s2idle [deep]`) - After: same line plus `pcie_ports=compat` ## Timeline (one lid cycle, no `pcie_ports=compat`) Stopwatch lid-open-to-lock-visible: **22.43s**. `systemctl suspend` + spacebar: **22.65s** (lid ACPI path is innocent). | Mark | Time | | --- | --- | | `Lid opened` | T=0 | | amdgpu GART/UVD/VCE up | T+0.07s | | `PM: suspend exit` | T+2.25s | | First lock PAM | T+10.3s | The extra ~15s of black is **before** logind's `Lid opened`. Kernel device resume is only ~2s. No blocking `sleep N` in `/usr/lib/systemd/system-sleep`. amdgpu is not the 22s. After adding `pcie_ports=compat`, `limine-update`, reboot: | Cycle | Stopwatch | `Lid opened` → `PM: suspend exit` | | --- | --- | --- | | Lid | <2s (lock was up before the watch) | 1.73s | | Lid, later | ~3s | 2.32s | Still sleeps, still locks, keyboard/trackpad re-enumerate. Remaining ~2s is T2 S3 kernel resume. ## Cause in Omarchy `migrations/1785944594.sh`: ```sh sed -i 's/pcie_ports=compat/pm_async=off mem_sleep_default=deep/' ``` `install/hardware/apple/fix-t2.sh` now writes: ``` KERNEL_CMDLINE[default]+=" intel_iommu=on iommu=pt pm_async=off mem_sleep_default=deep" ``` That is why a 4.0 T2 install has no `pcie_ports=compat`. ## Proposed fix Keep `pm_async=off mem_sleep_default=deep`. **Add** `pcie_ports=compat`; do not substitute. `fix-t2.sh`: ``` KERNEL_CMDLINE[default]+=" intel_iommu=on iommu=pt pm_async=off mem_sleep_default=deep pcie_ports=compat" ``` New migration for existing T2 installs: if `/etc/limine-entry-tool.d/t2-mac.conf` exists and does not contain `pcie_ports=compat`, append it with `+=`, then `limine-update`. Do not run the old `s/pcie_ports=compat/.../` substitution again. ## Related - https://github.com/basecamp/omarchy/pull/6562 (replaced the flag) - https://github.com/basecamp/omarchy/discussions/4695 - https://github.com/basecamp/omarchy/pull/5998 - https://github.com/basecamp/omarchy/pull/6149 Notes and compact dumps: https://github.com/Gdsimms/omarchy-macbook-wake
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.
- Out of scopeDecided by agents · verified · 2026-10-09 09:38 UTC