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

ddcutil 3.0.0 hangs the amdgpu SMU at every login via the shell's brightness probe (RX 7600), session hard-freezes

Reported by hegjon · filed Sep 12, 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

ddcutil 3.0.0 hangs the amdgpu SMU at every login via the shell's brightness probe (RX 7600), session hard-freezesrevision 1 · captured 2026-09-28 21:23 UTC via poll

System details

AMD Ryzen 9 (Granite Ridge) + discrete Radeon RX 7600 (Navi 33, 1002:7480), ASUS PA32UCDM on HDMI-A-1, Omarchy 4.0.0.r2100.gb5589fa-1 (dev), Linux 7.2.4-arch1-2, Hyprland 0.56.2, quickshell 0.3.1, mesa 26.2.2

What's wrong?

Since the Arch repos shipped ddcutil 3.0.0-1 (2026-09-12), every login on this machine hard-freezes the whole session within 2 to 12 seconds of Hyprland starting. Mouse, keyboard and TTY switching are all dead; only a hard reset recovers it. Three consecutive boots failed the same way. Downgrading only ddcutil to 2.2.7-1 fixes it completely, on the same kernel and linux-firmware.

The trigger is Omarchy's own login path. The shell's monitor panel calls refresh() from Component.onCompleted, which runs omarchy-monitor-state -> omarchy-brightness-display --monitor HDMI-A-1 -> omarchy-brightness-display-ddc -> ddcutil --skip-ddc-checks detect --brief. On ddcutil 3.0.0 that detect does threaded probing of every AMDGPU i2c bus, gets EIO on the RX 7600 buses, and the amdgpu SMU hangs a few seconds later.

Kernel log from one of the failed boots (monotonic seconds):

[  208.987] uwsm_hyprland.desktop[1681]: Welcome to Hyprland!
[  212.710] ddcutil[2344]: (i2c_ioctl_reader1) Error in ioctl() read, rc=-1, errno=EIO(-5): Input/output error, device=/dev/i2c-0
[  212.710] ddcutil[2344]:    i2c_threaded_initial_checks_by_businfo
[  212.710] ddcutil[2344]:    i2c_check_bus
[  212.710] ddcutil[2344]:    i2c_get_parsed_edid_by_fd
[  217.220] kernel: amdgpu 0000:03:00.0: Failed to set workload mask 0x00000001
[  220.992] kernel: amdgpu 0000:03:00.0: SMU is in hanged state, failed to send smu message!
[  220.992] kernel: amdgpu 0000:03:00.0: Failed to disable gfxoff!
[  230.622] kernel: amdgpu 0000:03:00.0: Starting sdma1 ring reset
...
[  369.994] kernel: INFO: task agetty:3623 blocked for more than 122 seconds.

The second failed boot is the same shape: Welcome to Hyprland! at 143.4 s, Failed to enable gfxoff! at 145.3 s, SMU is in hanged state at 145.8 s, ddcutil EIO on /dev/i2c-2 from 150.6 s.

A/B evidence, all on kernel 7.2.4-arch1-2 and linux-firmware 20260910-1:

ddcutilBootsResult
2.2.7-11 (before update)6 days uptime, no amdgpu errors
3.0.0-13SMU hang 2 to 12 s after Hyprland, hard freeze every time
2.2.7-1 (downgraded, IgnorePkg = ddcutil)2clean, journalctl -k has zero SMU/gfxoff/workload errors

What did you expect?

Logging in should not be able to take down the GPU. Either the shell's startup brightness probe should not run a full ddcutil detect unconditionally at every login, or Omarchy should not roll users onto ddcutil 3.0.0 until upstream fixes it.

Steps to reproduce

  1. Omarchy on an AMD desktop with a discrete RDNA3 card and an external monitor (no eDP-* panel, so the DDC path is taken).
  2. omarchy-update (or pacman -Syu) so that ddcutil becomes 3.0.0-1.
  3. Reboot and log in. Session freezes within seconds.
  4. sudo pacman -U https://archive.archlinux.org/packages/d/ddcutil/ddcutil-2.2.7-1-x86_64.pkg.tar.zst, add IgnorePkg = ddcutil to /etc/pacman.conf, reboot. Session is fine.

Upstream

This is a ddcutil 3.0.0 regression, tracked at rockowitz/ddcutil#629 ("3.0.0-1.1 causes AMDGPU to disappear from PCI bus and freezes Plasma immediately after login"). That thread has confirmations on RX 9070 XT, RX 7900 XTX and RX 7900 XT under KDE PowerDevil. This report adds Navi 33 (RX 7600) and a non-KDE trigger: Omarchy's shell.

Suggested mitigation on the Omarchy side

  • Ship a migration that downgrades ddcutil to 2.2.7-1 from the Arch archive and adds it to IgnorePkg until an upstream fix lands, or pin ddcutil<3.0.0 in the Omarchy repo.
  • Longer term, avoid running ddcutil detect at shell startup for every login. The cached-bus mechanism in omarchy-brightness-display-ddc already exists but the cache lives in $XDG_RUNTIME_DIR, so it is empty at every login and detect always runs once.

Filed by Claude Fable 5.1 via Claude Code.

View raw text
### System details

AMD Ryzen 9 (Granite Ridge) + discrete Radeon RX 7600 (Navi 33, `1002:7480`), ASUS PA32UCDM on HDMI-A-1, Omarchy 4.0.0.r2100.gb5589fa-1 (dev), Linux 7.2.4-arch1-2, Hyprland 0.56.2, quickshell 0.3.1, mesa 26.2.2

### What's wrong?

Since the Arch repos shipped **ddcutil 3.0.0-1** (2026-09-12), every login on this machine hard-freezes the whole session within 2 to 12 seconds of Hyprland starting. Mouse, keyboard and TTY switching are all dead; only a hard reset recovers it. Three consecutive boots failed the same way. Downgrading only ddcutil to 2.2.7-1 fixes it completely, on the same kernel and linux-firmware.

The trigger is Omarchy's own login path. The shell's monitor panel calls `refresh()` from `Component.onCompleted`, which runs `omarchy-monitor-state` -> `omarchy-brightness-display --monitor HDMI-A-1` -> `omarchy-brightness-display-ddc` -> `ddcutil --skip-ddc-checks detect --brief`. On ddcutil 3.0.0 that `detect` does threaded probing of every AMDGPU i2c bus, gets EIO on the RX 7600 buses, and the amdgpu SMU hangs a few seconds later.

Kernel log from one of the failed boots (monotonic seconds):

```
[  208.987] uwsm_hyprland.desktop[1681]: Welcome to Hyprland!
[  212.710] ddcutil[2344]: (i2c_ioctl_reader1) Error in ioctl() read, rc=-1, errno=EIO(-5): Input/output error, device=/dev/i2c-0
[  212.710] ddcutil[2344]:    i2c_threaded_initial_checks_by_businfo
[  212.710] ddcutil[2344]:    i2c_check_bus
[  212.710] ddcutil[2344]:    i2c_get_parsed_edid_by_fd
[  217.220] kernel: amdgpu 0000:03:00.0: Failed to set workload mask 0x00000001
[  220.992] kernel: amdgpu 0000:03:00.0: SMU is in hanged state, failed to send smu message!
[  220.992] kernel: amdgpu 0000:03:00.0: Failed to disable gfxoff!
[  230.622] kernel: amdgpu 0000:03:00.0: Starting sdma1 ring reset
...
[  369.994] kernel: INFO: task agetty:3623 blocked for more than 122 seconds.
```

The second failed boot is the same shape: `Welcome to Hyprland!` at 143.4 s, `Failed to enable gfxoff!` at 145.3 s, `SMU is in hanged state` at 145.8 s, ddcutil EIO on `/dev/i2c-2` from 150.6 s.

A/B evidence, all on kernel 7.2.4-arch1-2 and linux-firmware 20260910-1:

| ddcutil | Boots | Result |
|---|---|---|
| 2.2.7-1 | 1 (before update) | 6 days uptime, no amdgpu errors |
| 3.0.0-1 | 3 | SMU hang 2 to 12 s after Hyprland, hard freeze every time |
| 2.2.7-1 (downgraded, `IgnorePkg = ddcutil`) | 2 | clean, `journalctl -k` has zero SMU/gfxoff/workload errors |

### What did you expect?

Logging in should not be able to take down the GPU. Either the shell's startup brightness probe should not run a full `ddcutil detect` unconditionally at every login, or Omarchy should not roll users onto ddcutil 3.0.0 until upstream fixes it.

### Steps to reproduce

1. Omarchy on an AMD desktop with a discrete RDNA3 card and an external monitor (no `eDP-*` panel, so the DDC path is taken).
2. `omarchy-update` (or `pacman -Syu`) so that ddcutil becomes 3.0.0-1.
3. Reboot and log in. Session freezes within seconds.
4. `sudo pacman -U https://archive.archlinux.org/packages/d/ddcutil/ddcutil-2.2.7-1-x86_64.pkg.tar.zst`, add `IgnorePkg = ddcutil` to `/etc/pacman.conf`, reboot. Session is fine.

### Upstream

This is a ddcutil 3.0.0 regression, tracked at rockowitz/ddcutil#629 ("3.0.0-1.1 causes AMDGPU to disappear from PCI bus and freezes Plasma immediately after login"). That thread has confirmations on RX 9070 XT, RX 7900 XTX and RX 7900 XT under KDE PowerDevil. This report adds Navi 33 (RX 7600) and a non-KDE trigger: Omarchy's shell.

### Suggested mitigation on the Omarchy side

- Ship a migration that downgrades ddcutil to 2.2.7-1 from the Arch archive and adds it to `IgnorePkg` until an upstream fix lands, or pin `ddcutil<3.0.0` in the Omarchy repo.
- Longer term, avoid running `ddcutil detect` at shell startup for every login. The cached-bus mechanism in `omarchy-brightness-display-ddc` already exists but the cache lives in `$XDG_RUNTIME_DIR`, so it is empty at every login and `detect` always runs once.

Filed by Claude Fable 5.1 via Claude Code.

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 12:16 UTC