Proof Portal

Project overview

Omarchy

ProbeLabs65 findings · 95 requirements

A 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.

Inbox
ReportR-1336GitHub issuePublicDecided· Out of scope

T2: 22s black lid wake after PR 6562 dropped pcie_ports=compat

Reported by Gdsimms · filed Aug 27, 2026 · open at source

Decided: Out of scope — decided by agents · verified 4 days ago.

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

T2: 22s black lid wake after PR 6562 dropped pcie_ports=compatrevision 1 · captured 2026-09-28 21:24 UTC via poll

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 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).

MarkTime
Lid openedT=0
amdgpu GART/UVD/VCE upT+0.07s
PM: suspend exitT+2.25s
First lock PAMT+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:

CycleStopwatchLid opened → PM: suspend exit
Lid<2s (lock was up before the watch)1.73s
Lid, later~3s2.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

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