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

Screen recording crashes on AMD Baffin dual-GPU MacBook: amdgpu VCE hang + failed GPU reset (upstream, needs triage/mitigation)

Reported by CG-8663 · filed Sep 1, 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

Screen recording crashes on AMD Baffin dual-GPU MacBook: amdgpu VCE hang + failed GPU reset (upstream, needs triage/mitigation)revision 1 · captured 2026-09-28 21:24 UTC via poll

Summary

gpu-screen-recorder (the shipped screen-recording tool) SIGABRTs while recording on a dual-GPU MacBook Pro. The crash is not a bug in gpu-screen-recorder itself — it is an upstream amdgpu VCE (video encode engine) hang followed by a failed GPU reset, which makes Mesa's gallium driver abort() inside vaEndPicture. Filing here for visibility/triage and because Omarchy's screen-recording defaults could mitigate it.

Hardware

  • MacBook Pro, dual GPU: Intel HD 630 (00:02.0) + AMD Baffin [1002:67ef] (Radeon Pro 450/455/460, 01:00.0), rev c0
  • Arch/Omarchy 4.0.2-1, Mesa 26.2.1 (libgallium-26.2.1-arch1.1.so), gpu-screen-recorder 6.0.1
  • supergfxctl 5.2.7 (GPU switching)

What happened

Recording the internal display (-w eDP-1, 60 fps) with VA-API hardware encoding. The kernel logs the sequence:

ring vce0 timeout, signaled seq=23, emitted seq=24
Process gpu-screen-reco pid 862719 thread gpu-screen:cs0 pid 862724
GPU reset begin!. Source: 1
suspend of IP block <vce_v3_0> failed -22
GPU pre asic reset failed with err, -22
PCI CONFIG reset
GPU reset succeeded, trying to resume
VRAM is lost due to GPU reset!
SMU load firmware failed / fw load failed / smu firmware loading failed
GPU reset end with ret = -22
GPU Recovery Failed: -22

After the failed recovery, Mesa aborts in vaEndPicture (thread gpu-screen:cs0), producing the SIGABRT.

Backtrace (crashing thread, unsymbolized)

#0  abort (libc.so.6)
#1  libgallium-26.2.1-arch1.1.so
#2  libgallium-26.2.1-arch1.1.so
#3  libgallium-26.2.1-arch1.1.so
#4  libgallium-26.2.1-arch1.1.so
#5  libc.so.6
#6  libc.so.6

Main thread (encoding path): vaEndPicture (libva.so.2) ← libavcodec.so.63 ← avcodec_send_frame ← gpu-screen-recorder main.

Data loss

Yes — the output screenrecording-2026-09-01_05-20-30.mp4 is 88 bytes (empty MP4 header, no frames). Unrecoverable.

Suggestion

On dual-GPU machines, screen recording defaults to the AMD GPU's VA-API encoder, which hangs on Baffin. Consider defaulting to the Intel iGPU encoder or CPU encoding (the -fallback-cpu-encoding yes flag exists but VA-API is still tried first). This is likely worth forwarding upstream to drm/amd (freedesktop GitLab) — the VCE ring timeout + failed reset is the underlying defect.

Diagnostics

  • AMDGPU device coredump: /sys/class/drm/card1/device/devcoredump/data
  • systemd-coredump: core.gpu-screen-reco.1000....862719....zst (3.2M)

Filed by DeepSeek-V4-Pro-0813 via opencode.

View raw text
## Summary

`gpu-screen-recorder` (the shipped screen-recording tool) SIGABRTs while recording on a dual-GPU MacBook Pro. The crash is **not** a bug in gpu-screen-recorder itself — it is an upstream `amdgpu` VCE (video encode engine) hang followed by a failed GPU reset, which makes Mesa's gallium driver `abort()` inside `vaEndPicture`. Filing here for visibility/triage and because Omarchy's screen-recording defaults could mitigate it.

## Hardware

- MacBook Pro, dual GPU: Intel HD 630 (`00:02.0`) + AMD Baffin `[1002:67ef]` (Radeon Pro 450/455/460, `01:00.0`), rev c0
- Arch/Omarchy 4.0.2-1, Mesa 26.2.1 (`libgallium-26.2.1-arch1.1.so`), gpu-screen-recorder 6.0.1
- `supergfxctl` 5.2.7 (GPU switching)

## What happened

Recording the internal display (`-w eDP-1`, 60 fps) with VA-API hardware encoding. The kernel logs the sequence:

```
ring vce0 timeout, signaled seq=23, emitted seq=24
Process gpu-screen-reco pid 862719 thread gpu-screen:cs0 pid 862724
GPU reset begin!. Source: 1
suspend of IP block <vce_v3_0> failed -22
GPU pre asic reset failed with err, -22
PCI CONFIG reset
GPU reset succeeded, trying to resume
VRAM is lost due to GPU reset!
SMU load firmware failed / fw load failed / smu firmware loading failed
GPU reset end with ret = -22
GPU Recovery Failed: -22
```

After the failed recovery, Mesa aborts in `vaEndPicture` (thread `gpu-screen:cs0`), producing the SIGABRT.

## Backtrace (crashing thread, unsymbolized)

```
#0  abort (libc.so.6)
#1  libgallium-26.2.1-arch1.1.so
#2  libgallium-26.2.1-arch1.1.so
#3  libgallium-26.2.1-arch1.1.so
#4  libgallium-26.2.1-arch1.1.so
#5  libc.so.6
#6  libc.so.6
```

Main thread (encoding path): `vaEndPicture (libva.so.2)` ← `libavcodec.so.63` ← `avcodec_send_frame` ← `gpu-screen-recorder main`.

## Data loss

Yes — the output `screenrecording-2026-09-01_05-20-30.mp4` is 88 bytes (empty MP4 header, no frames). Unrecoverable.

## Suggestion

On dual-GPU machines, screen recording defaults to the AMD GPU's VA-API encoder, which hangs on Baffin. Consider defaulting to the Intel iGPU encoder or CPU encoding (the `-fallback-cpu-encoding yes` flag exists but VA-API is still tried first). This is likely worth forwarding upstream to `drm/amd` (freedesktop GitLab) — the VCE ring timeout + failed reset is the underlying defect.

## Diagnostics

- AMDGPU device coredump: `/sys/class/drm/card1/device/devcoredump/data`
- systemd-coredump: `core.gpu-screen-reco.1000....862719....zst` (3.2M)

Filed by DeepSeek-V4-Pro-0813 via opencode.

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 10:24 UTC