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-550GitHub issuePublicReceived

Enrolled fingerprint permanently erased after suspend/resume (Goodix MOC 27c6:6594)

Reported by Frenagon · filed Sep 15, 2026 · open at source

Received. Triage checks are recorded; not validated yet.

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?
Not yet mapped to any requirement or component.
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?
Our staff decide whether the report is valid. Where this project allows it, agents decide whether it duplicates another report or a known issue. So far: matches no known issue — decided by agents · verified. The outcome (valid, duplicate, not a bug, …) is not decided yet. See the decision.

Original report

Enrolled fingerprint permanently erased after suspend/resume (Goodix MOC 27c6:6594)revision 1 · captured 2026-09-28 21:23 UTC via poll

Enrolled fingerprint is permanently erased after suspend/resume (Goodix MOC 27c6:6594)

Environment

  • Omarchy version: 4.0.0.alpha
  • Kernel: 7.2.3-arch1-3
  • Reader: Goodix MOC Fingerprint Sensor, USB ID 27c6:6594 ("Goodix USB2.0 MISC")
  • libfprint-git 1:1.94.100.r10.g6f9479c-1, fprintd 1.94.5-2
  • Suspend mode: s2idle

Summary

After enrolling a fingerprint via omarchy-setup-security-fingerprint, fprintd-list eventually reports "User X has no fingers enrolled" — with no user action (no fprintd-delete, no package reinstall). This has happened twice, and both times correlates exactly with a suspend/resume cycle.

Timeline (first occurrence)

  • 2026-09-09 18:37 — enrolled successfully via omarchy-setup-security-fingerprint.
  • 2026-09-13 17:13:44 — kernel logs usb 3-7: usbfs: process (fprintd) did not claim interface 0 before use, at the exact same second as kernel: PM: suspend exit.
  • 2026-09-13 17:13:47 — pam_fprintd(omarchy-lock-fingerprint:auth): No prints enrolled (first occurrence of this message in the journal).

Timeline (second occurrence, after re-enrolling)

  • 2026-09-14 14:19:44 — re-enrolled via omarchy-setup-security-fingerprint.
  • 2026-09-14 19:18:16 — kernel: PM: suspend exit / usb 3-7: reset full-speed USB device.
  • 2026-09-14 19:18:18 — quickshell[...]: pam_fprintd(omarchy-lock-fingerprint:auth): No prints enrolled.

Both losses happened within seconds of a suspend/resume boundary. Across both boots, usb 3-7 resets constantly (roughly matching every PM: suspend exit logged, i.e. many times per day) — that part is presumably normal USB re-enumeration on resume, but on this driver it appears to sometimes take the enrolled print with it.

Ruling out "just a stuck session"

This looked at first like it could be the same class of bug as #11412 / #7229 (device stuck busy after suspend, not actual data loss). To check, I forced a full USB-level re-enumeration of the reader (unplug/replug equivalent) after the second loss:

echo "3-7" | sudo tee /sys/bus/usb/drivers/usb/unbind
sleep 1
echo "3-7" | sudo tee /sys/bus/usb/drivers/usb/bind
sleep 2
fprintd-list "$USER"

fprintd-list still reported no fingers enrolled after the rebind. Since this is a match-on-chip (MOC) sensor, the template should live on the chip itself and survive a mere re-enumeration if it were still there — so this looks like genuine erasure, not a transient session/driver-state issue.

Ruled out: USB autosuspend

I initially suspected runtime USB autosuspend (the reader has ID_AUTOSUSPEND=1 via 60-autosuspend-fingerprint-reader.hwdb) was causing the resets and forced power/control=on via a custom udev rule. The reader still reset constantly and the enrollment was still erased on the very next suspend/resume cycle, so autosuspend is not the mechanism — the resets track suspend/resume, not idle timeouts.

Relation to existing issues

This may be a more severe variant of #11412 (fingerprint stuck busy after suspend, shell retries at 4Hz with no backoff/cap) and #7229 (fprintd "Cannot run while suspended"). Those describe failure to authenticate after suspend; this report is about the enrollment itself being wiped, requiring re-enrollment via omarchy-setup-security-fingerprint each time. It's possible the same suspend-time retry storm described in #11412, hitting the goodixmoc driver's incompletely-implemented enroll-state machine, is what corrupts the on-chip print database.

Impact

Fingerprint unlock/sudo/polkit becomes unusable again after (what appears to be) any unlucky suspend/resume cycle, requiring a full manual fprintd-enroll re-run. On a laptop that suspends many times a day, this recurs quickly.

View raw text
## Enrolled fingerprint is permanently erased after suspend/resume (Goodix MOC 27c6:6594)

### Environment
- Omarchy version: 4.0.0.alpha
- Kernel: 7.2.3-arch1-3
- Reader: Goodix MOC Fingerprint Sensor, USB ID `27c6:6594` ("Goodix USB2.0 MISC")
- `libfprint-git` 1:1.94.100.r10.g6f9479c-1, `fprintd` 1.94.5-2
- Suspend mode: `s2idle`

### Summary
After enrolling a fingerprint via `omarchy-setup-security-fingerprint`, `fprintd-list` eventually reports **"User X has no fingers enrolled"** — with no user action (no `fprintd-delete`, no package reinstall). This has happened twice, and both times correlates exactly with a suspend/resume cycle.

### Timeline (first occurrence)
- `2026-09-09 18:37` — enrolled successfully via `omarchy-setup-security-fingerprint`.
- `2026-09-13 17:13:44` — kernel logs `usb 3-7: usbfs: process (fprintd) did not claim interface 0 before use`, at the exact same second as `kernel: PM: suspend exit`.
- `2026-09-13 17:13:47` — `pam_fprintd(omarchy-lock-fingerprint:auth): No prints enrolled` (first occurrence of this message in the journal).

### Timeline (second occurrence, after re-enrolling)
- `2026-09-14 14:19:44` — re-enrolled via `omarchy-setup-security-fingerprint`.
- `2026-09-14 19:18:16` — `kernel: PM: suspend exit` / `usb 3-7: reset full-speed USB device`.
- `2026-09-14 19:18:18` — `quickshell[...]: pam_fprintd(omarchy-lock-fingerprint:auth): No prints enrolled`.

Both losses happened within seconds of a suspend/resume boundary. Across both boots, `usb 3-7` resets constantly (roughly matching every `PM: suspend exit` logged, i.e. many times per day) — that part is presumably normal USB re-enumeration on resume, but on this driver it appears to sometimes take the enrolled print with it.

### Ruling out "just a stuck session"
This looked at first like it could be the same class of bug as #11412 / #7229 (device stuck busy after suspend, not actual data loss). To check, I forced a full USB-level re-enumeration of the reader (unplug/replug equivalent) after the second loss:

```
echo "3-7" | sudo tee /sys/bus/usb/drivers/usb/unbind
sleep 1
echo "3-7" | sudo tee /sys/bus/usb/drivers/usb/bind
sleep 2
fprintd-list "$USER"
```

`fprintd-list` still reported no fingers enrolled after the rebind. Since this is a match-on-chip (MOC) sensor, the template should live on the chip itself and survive a mere re-enumeration if it were still there — so this looks like genuine erasure, not a transient session/driver-state issue.

### Ruled out: USB autosuspend
I initially suspected runtime USB autosuspend (the reader has `ID_AUTOSUSPEND=1` via `60-autosuspend-fingerprint-reader.hwdb`) was causing the resets and forced `power/control=on` via a custom udev rule. The reader still reset constantly and the enrollment was still erased on the very next suspend/resume cycle, so autosuspend is not the mechanism — the resets track suspend/resume, not idle timeouts.

### Relation to existing issues
This may be a more severe variant of #11412 (fingerprint stuck busy after suspend, shell retries at 4Hz with no backoff/cap) and #7229 (fprintd "Cannot run while suspended"). Those describe failure to *authenticate* after suspend; this report is about the *enrollment itself* being wiped, requiring re-enrollment via `omarchy-setup-security-fingerprint` each time. It's possible the same suspend-time retry storm described in #11412, hitting the `goodixmoc` driver's incompletely-implemented enroll-state machine, is what corrupts the on-chip print database.

### Impact
Fingerprint unlock/sudo/polkit becomes unusable again after (what appears to be) any unlucky suspend/resume cycle, requiring a full manual `fprintd-enroll` re-run. On a laptop that suspends many times a day, this recurs quickly.

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.

  • Decided by agents · verified: matches no known issue

The outcome (valid, duplicate, not a bug, …) is not decided yet.