Proof Portal
Omarchy
ProbeLabs65 findings · 95 requirementsA 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.
omarchy-hw-fingerprint only detects USB readers; SPI sensors (e.g. Goodix GXFP51A7) are a false negative
Reported by delitdesnoyers06-del · filed Sep 20, 2026 · open at source
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
What happened
omarchy setup security fingerprint aborts with "No fingerprint sensor detected." on a laptop whose fingerprint reader works correctly through fprintd (enrolment and verification both succeed immediately before running the wizard).
Expected
The wizard should detect the reader and configure PAM — or at least not refuse to continue on a reader that fprintd is already driving successfully.
Root cause
omarchy-hw-fingerprint only scans /sys/bus/usb/devices:
usb_devices_path="${OMARCHY_USB_DEVICES_PATH:-/sys/bus/usb/devices}"
for dev in "$usb_devices_path"/*; do
...
doneThat misses SPI readers entirely. This reader is a Goodix GXFP51A7 on the SPI bus (pxa2xx-spi), ACPI HID GXFP51A7, exposed through spidev:
/sys/bus/spi/devices/spi-GXFP51A7:00 modalias: acpi:GXFP51A7:GXFP51A7:It is a supported libfprint TOD reader (libfprint-tod), and both of these succeed before the wizard is run:
fprintd-enroll # Enroll result: enroll-completed
fprintd-verify # Verify result: verify-match (done)Secondary issue: package conflict
Even if detection returned true, the wizard runs:
sudo pacman -S --needed --noconfirm --ask 4 libfprint-git fprintd usbutilslibfprint-git provides libfprint and conflicts with the libfprint-tod package that TOD/SPI drivers load their .so from. On a machine that already has a working TOD driver, --ask 4 would replace the working library, so proceeding can break a reader that currently works.
Steps to reproduce
- On a laptop with an SPI fingerprint reader supported by
libfprint-tod(here: Huawei MateBook 13 2019, ACPIGXFP51A7), confirm the reader works:
fprintd-enroll
fprintd-verify- Run:
omarchy setup security fingerprint- Observe:
Setting up fingerprint scanner for authentication.
No fingerprint sensor detected.Exits 1 before touching PAM.
System details
- Omarchy:
4.0.4-1 - Laptop: HUAWEI WRT-WX9 (MateBook 13 2019)
- CPU / GPU: Intel i7-8565U / UHD Graphics 620
- Kernel:
7.2.5-3-omarchy - Packages:
fprintd 1.94.5-2,libfprint-tod 1.95.2+tod1-1 - Reader:
/sys/bus/spi/devices/spi-GXFP51A7:00→acpi:GXFP51A7:GXFP51A7: omarchy debugis not a command in4.0.4-1, so diagnostics above are gathered directly.
Suggested fix
- Teach
omarchy-hw-fingerprintto also consider SPI readers: scan/sys/bus/spi/devices/*/modaliasfor the known Goodix ACPI ids (e.g.acpi:GXFP51*,acpi:GXFP5187*), and only then consult the USB vendor/product list. - Make the dependency step aware of
libfprint-tod: skiplibfprint-git(or prompt) when a TOD driver is already installed and working, rather than replacing it.
Workaround
Apply the PAM configuration the wizard installs after a successful enrol+verify by hand — /etc/pam.d/sudo, /etc/pam.d/polkit-1 and /etc/pam.d/omarchy-lock-fingerprint — then the fingerprint works for sudo, polkit and the lock screen. This requires reading the wizard's source, so it is not discoverable for a normal user.
View raw text
## What happened
`omarchy setup security fingerprint` aborts with **"No fingerprint sensor detected."** on a laptop whose fingerprint reader works correctly through `fprintd` (enrolment and verification both succeed immediately before running the wizard).
## Expected
The wizard should detect the reader and configure PAM — or at least not refuse to continue on a reader that `fprintd` is already driving successfully.
## Root cause
`omarchy-hw-fingerprint` only scans `/sys/bus/usb/devices`:
```bash
usb_devices_path="${OMARCHY_USB_DEVICES_PATH:-/sys/bus/usb/devices}"
for dev in "$usb_devices_path"/*; do
...
done
```
That misses **SPI** readers entirely. This reader is a Goodix **GXFP51A7** on the SPI bus (`pxa2xx-spi`), ACPI HID `GXFP51A7`, exposed through `spidev`:
```
/sys/bus/spi/devices/spi-GXFP51A7:00 modalias: acpi:GXFP51A7:GXFP51A7:
```
It is a supported libfprint TOD reader (`libfprint-tod`), and both of these succeed before the wizard is run:
```
fprintd-enroll # Enroll result: enroll-completed
fprintd-verify # Verify result: verify-match (done)
```
## Secondary issue: package conflict
Even if detection returned true, the wizard runs:
```bash
sudo pacman -S --needed --noconfirm --ask 4 libfprint-git fprintd usbutils
```
`libfprint-git` provides `libfprint` and conflicts with the `libfprint-tod` package that TOD/SPI drivers load their `.so` from. On a machine that already has a working TOD driver, `--ask 4` would replace the working library, so proceeding can break a reader that currently works.
## Steps to reproduce
1. On a laptop with an SPI fingerprint reader supported by `libfprint-tod` (here: Huawei MateBook 13 2019, ACPI `GXFP51A7`), confirm the reader works:
```bash
fprintd-enroll
fprintd-verify
```
2. Run:
```bash
omarchy setup security fingerprint
```
3. Observe:
```
Setting up fingerprint scanner for authentication.
No fingerprint sensor detected.
```
Exits 1 before touching PAM.
## System details
- Omarchy: `4.0.4-1`
- Laptop: HUAWEI WRT-WX9 (MateBook 13 2019)
- CPU / GPU: Intel i7-8565U / UHD Graphics 620
- Kernel: `7.2.5-3-omarchy`
- Packages: `fprintd 1.94.5-2`, `libfprint-tod 1.95.2+tod1-1`
- Reader: `/sys/bus/spi/devices/spi-GXFP51A7:00` → `acpi:GXFP51A7:GXFP51A7:`
- `omarchy debug` is not a command in `4.0.4-1`, so diagnostics above are gathered directly.
## Suggested fix
1. Teach `omarchy-hw-fingerprint` to also consider SPI readers: scan `/sys/bus/spi/devices/*/modalias` for the known Goodix ACPI ids (e.g. `acpi:GXFP51*`, `acpi:GXFP5187*`), and only then consult the USB vendor/product list.
2. Make the dependency step aware of `libfprint-tod`: skip `libfprint-git` (or prompt) when a TOD driver is already installed and working, rather than replacing it.
## Workaround
Apply the PAM configuration the wizard installs after a successful enrol+verify by hand — `/etc/pam.d/sudo`, `/etc/pam.d/polkit-1` and `/etc/pam.d/omarchy-lock-fingerprint` — then the fingerprint works for `sudo`, polkit and the lock screen. This requires reading the wizard's source, so it is not discoverable for a normal user.
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 16:11 UTC