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-445GitHub issuePublicDecided· Out of scope

T2 iMac20,1 (2020 5K, Radeon Pro 5300): amdgpu SMU init fails; Plymouth/KMS black screen before LUKS

Reported by McoreD · filed Sep 16, 2026 · open at source

Decided: Out of scope — decided by agents · verified 3 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 iMac20,1 (2020 5K, Radeon Pro 5300): amdgpu SMU init fails; Plymouth/KMS black screen before LUKSrevision 1 · captured 2026-09-28 21:23 UTC via poll

System details

Apple iMac20,1 (Retina 5K, 27-inch, 2020), board Mac-CFF7D910A743CAAF; Intel Core i5-10600; AMD Radeon Pro 5300 only (Navi 14, 1002:7340, Apple subsystem 106b:0219, no Intel display adapter); Omarchy 4.0.4-1; kernel 7.2.6-arch2-Watanare-T2-1-t2; LUKS + Limine + UKI. Debug log: https://logs.omarchy.org/0jLpvg

What's wrong?

Omarchy's T2 installer path works for this machine's keyboard, Wi-Fi, audio, fans, and storage. It does not handle the 5K AMD display, so a stock install does not boot to a usable LUKS prompt or desktop. The next person who puts Omarchy on a 2020 27" iMac will hit the same wall and have to edit the Limine linux-t2 line by hand (e) on every boot unless they persist flags themselves.

This is a 27" T2 iMac with an AMD-only panel. install/hardware/apple/fix-t2.sh detects the T2 PCI IDs and installs linux-t2, firmware, t2fanrd, and:

KERNEL_CMDLINE[default]+=" intel_iommu=on iommu=pt pm_async=off mem_sleep_default=deep"

That is the documented T2 MacBook path. The Mac support T2 device list also does not include iMac20,1 / iMac20,2.

Repro (fresh install, no extra flags)

  1. Install Omarchy 4.0.4 on an iMac20,1 with the default encrypted setup.
  2. Reboot into linux-t2 with the stock cmdline (quiet splash + Plymouth + kms in the initramfs).
  3. amdgpu takes over the EFI framebuffer, then SMU init fails. Screen goes black. LUKS prompt is not visible.

Kernel log from that boot (reproduced twice):

amdgpu 0000:03:00.0: initializing kernel modesetting (NAVI14 0x1002:0x7340 0x106B:0x0219 0x47).
amdgpu 0000:03:00.0: Fetched VBIOS from VFCT
amdgpu 0000:03:00.0: [drm] ATOM BIOS: 113-D322A1XL-011, build: 521467  , ver: 017.002.000.000.000000, 2020/07/10
amdgpu 0000:03:00.0: vgaarb: deactivate vga console
...
amdgpu 0000:03:00.0: SMU: No response msg_reg: 6 resp_reg: 0
amdgpu 0000:03:00.0: Failed to enable requested dpm features!
amdgpu 0000:03:00.0: Failed to setup smc hw!
amdgpu 0000:03:00.0: hw_init of IP block <smu> failed -62
amdgpu 0000:03:00.0: amdgpu_device_ip_init failed
amdgpu 0000:03:00.0: Fatal error during GPU init

Omarchy's initramfs (/etc/mkinitcpio.conf.d/omarchy_hooks.conf) includes both plymouth and kms. On this hardware that means amdgpu modesets before the LUKS prompt. Combined with quiet splash loglevel=0 vt.global_cursor_default=0, there is no fallback console once the GPU dies.

Workaround that actually reaches a desktop

Adding these to the live Limine linux-t2 cmdline:

plymouth.enable=0 nomodeset

keeps the EFI simple-framebuffer. Hyprland then starts on Unknown-1 at 3840×2160 (software rendering, no amdgpu bound). That is enough to use the machine, but it is not GPU support.

Those flags must be persisted with KERNEL_CMDLINE[default]+= in /etc/default/limine (or a drop-in under /etc/limine-entry-tool.d/) and rebuilt with limine-mkinitcpio. Editing /boot/limine.conf alone is lost on the next regenerate.

What I'd like Omarchy to do for future installs

Not asking for a perfect Navi 14 Apple VBIOS driver. Asking that a 2020 T2 iMac boots to a visible LUKS prompt and a desktop without a manual bootloader edit.

Suggested installer/docs changes:

  1. Detect these machines in install/hardware/apple/ (DMI iMac20,1 / iMac20,2, and/or Apple Navi 14 1002:7340 with no Intel VGA device). fix-t2.sh currently prints "Detected MacBook with T2 chip" for every T2 PCI ID, including iMacs.
  2. Keep the EFI framebuffer alive through LUKS on that hardware. Minimum that unblocked this box: persist plymouth.enable=0 nomodeset via KERNEL_CMDLINE[default]+= next to t2-mac.conf, then rebuild. Better if you can avoid shipping nomodeset forever: skip early kms/plymouth for this GPU, or try amdgpu.dpm=0 (not tested here) so amdgpu can actually bind.
  3. Document iMac20,1 and iMac20,2 on the Mac support T2 list, with the AMD 5K-panel caveat. Same class of gap as the 2015 5K iMac write-up in https://github.com/omacom/omarchy/discussions/5151 (different GPU, same "stock Omarchy does not modeset this Apple AMD panel").

Related: t2linux treats AMD GPUs as only partly working; linux-t2 even carries 6001-drm-amd-pm-Fix-boot-problems-in-5300.patch for this exact GPU family. The Omarchy T2 path still assumes the display will come up the MacBook way.

View raw text
## System details

Apple iMac20,1 (Retina 5K, 27-inch, 2020), board Mac-CFF7D910A743CAAF; Intel Core i5-10600; AMD Radeon Pro 5300 only (Navi 14, `1002:7340`, Apple subsystem `106b:0219`, no Intel display adapter); Omarchy 4.0.4-1; kernel `7.2.6-arch2-Watanare-T2-1-t2`; LUKS + Limine + UKI. Debug log: https://logs.omarchy.org/0jLpvg

## What's wrong?

Omarchy's T2 installer path works for this machine's **keyboard, Wi-Fi, audio, fans, and storage**. It does **not** handle the **5K AMD display**, so a stock install does not boot to a usable LUKS prompt or desktop. The next person who puts Omarchy on a 2020 27" iMac will hit the same wall and have to edit the Limine `linux-t2` line by hand (`e`) on every boot unless they persist flags themselves.

This is a 27" T2 iMac with an AMD-only panel. `install/hardware/apple/fix-t2.sh` detects the T2 PCI IDs and installs `linux-t2`, firmware, `t2fanrd`, and:

```
KERNEL_CMDLINE[default]+=" intel_iommu=on iommu=pt pm_async=off mem_sleep_default=deep"
```

That is the documented T2 MacBook path. The [Mac support](https://omarchy.org/manual/mac-support/) T2 device list also does not include iMac20,1 / iMac20,2.

### Repro (fresh install, no extra flags)

1. Install Omarchy 4.0.4 on an iMac20,1 with the default encrypted setup.
2. Reboot into `linux-t2` with the stock cmdline (`quiet splash` + Plymouth + `kms` in the initramfs).
3. `amdgpu` takes over the EFI framebuffer, then SMU init fails. Screen goes black. LUKS prompt is not visible.

Kernel log from that boot (reproduced twice):

```
amdgpu 0000:03:00.0: initializing kernel modesetting (NAVI14 0x1002:0x7340 0x106B:0x0219 0x47).
amdgpu 0000:03:00.0: Fetched VBIOS from VFCT
amdgpu 0000:03:00.0: [drm] ATOM BIOS: 113-D322A1XL-011, build: 521467  , ver: 017.002.000.000.000000, 2020/07/10
amdgpu 0000:03:00.0: vgaarb: deactivate vga console
...
amdgpu 0000:03:00.0: SMU: No response msg_reg: 6 resp_reg: 0
amdgpu 0000:03:00.0: Failed to enable requested dpm features!
amdgpu 0000:03:00.0: Failed to setup smc hw!
amdgpu 0000:03:00.0: hw_init of IP block <smu> failed -62
amdgpu 0000:03:00.0: amdgpu_device_ip_init failed
amdgpu 0000:03:00.0: Fatal error during GPU init
```

Omarchy's initramfs (`/etc/mkinitcpio.conf.d/omarchy_hooks.conf`) includes **both** `plymouth` and `kms`. On this hardware that means `amdgpu` modesets **before** the LUKS prompt. Combined with `quiet splash loglevel=0 vt.global_cursor_default=0`, there is no fallback console once the GPU dies.

### Workaround that actually reaches a desktop

Adding these to the live Limine `linux-t2` cmdline:

```
plymouth.enable=0 nomodeset
```

keeps the EFI simple-framebuffer. Hyprland then starts on `Unknown-1` at 3840×2160 (software rendering, no `amdgpu` bound). That is enough to use the machine, but it is not GPU support.

Those flags must be persisted with `KERNEL_CMDLINE[default]+=` in `/etc/default/limine` (or a drop-in under `/etc/limine-entry-tool.d/`) and rebuilt with `limine-mkinitcpio`. Editing `/boot/limine.conf` alone is lost on the next regenerate.

### What I'd like Omarchy to do for future installs

Not asking for a perfect Navi 14 Apple VBIOS driver. Asking that a 2020 T2 iMac **boots to a visible LUKS prompt and a desktop** without a manual bootloader edit.

Suggested installer/docs changes:

1. **Detect these machines** in `install/hardware/apple/` (DMI `iMac20,1` / `iMac20,2`, and/or Apple Navi 14 `1002:7340` with no Intel VGA device). `fix-t2.sh` currently prints "Detected MacBook with T2 chip" for every T2 PCI ID, including iMacs.
2. **Keep the EFI framebuffer alive through LUKS** on that hardware. Minimum that unblocked this box: persist `plymouth.enable=0 nomodeset` via `KERNEL_CMDLINE[default]+=` next to `t2-mac.conf`, then rebuild. Better if you can avoid shipping `nomodeset` forever: skip early `kms`/`plymouth` for this GPU, or try `amdgpu.dpm=0` (not tested here) so `amdgpu` can actually bind.
3. **Document iMac20,1 and iMac20,2** on the Mac support T2 list, with the AMD 5K-panel caveat. Same class of gap as the 2015 5K iMac write-up in https://github.com/omacom/omarchy/discussions/5151 (different GPU, same "stock Omarchy does not modeset this Apple AMD panel").

Related: t2linux treats AMD GPUs as only partly working; linux-t2 even carries `6001-drm-amd-pm-Fix-boot-problems-in-5300.patch` for this exact GPU family. The Omarchy T2 path still assumes the display will come up the MacBook way.

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 14:40 UTC