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.
Fingerprint setup misses Broadcom BCM58200 ControlVault 3 (vendor 0a5c not in detection list)
Reported by bartcho · filed Aug 21, 2026Closed upstream on 2026-09-21 by bjarneo via an automated message, as a duplicate of #7424 (R-1672). GitHub close reason: completed.
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. No decision has been recorded yet.
Original report
Summary
omarchy setup security fingerprint aborts with "No fingerprint sensor detected" even though a supported reader is present. The hardware check hard-codes a vendor allow-list that omits Broadcom (0a5c), which is the vendor for the BCM58200 ControlVault 3 fingerprint reader found in many Dell Latitude/Precision laptops.
Steps to reproduce
- Machine with a Broadcom BCM58200 ControlVault 3 reader (USB
0a5c:5843). - Run
omarchy setup security fingerprint. - Output:
Setting up fingerprint scanner for authentication.->No fingerprint sensor detected.and the wizard exits before installingfprintdor touching PAM.
Expected
The reader is detected and setup proceeds (install fprintd, enroll, verify, configure PAM).
Root cause
The hidden helper /usr/share/omarchy/bin/omarchy-hw-fingerprint only matches these USB vendor IDs:
fingerprint_vendors=" 27c6 138a 06cb 08ff 1c7a 147e "Broadcom's vendor 0a5c is absent. Two details that make this a clean, low-risk fix:
- The device's sysfs product string is just
58200(the "(FingerPrint sensor + Contacted SmartCard)" text shown bylsusbcomes from the usb.ids database, not the device), so the product-name match (*fingerprint*/*biometric*/*elan:arm-m4*/fpc *) doesn't catch it either. - No kernel driver is bound to the device (all 4 interfaces are unbound), so the
has_kernel_driverguard is already satisfied. Adding `0a5c` to the vendor list is sufficient for detection to pass.
Confirmed hardware on the affected machine:
Bus 003 Device 003: ID 0a5c:5843 Broadcom Corp. BCM58200 ControlVault 3 (FingerPrint sensor + Contacted SmartCard)This reader is driven by the libfprint-tod (TOD) driver: libfprint-tod-git ships /usr/lib/libfprint-2/tod-1/libfprint-2-tod-1-broadcom.so, and fprintd-enroll / fprintd-verify succeed against /net/reactivated/Fprint/Device/0.
Related issue in the wizard
Even with detection fixed, omarchy-setup-security-fingerprint installs stock libfprint (omarchy-pkg-add libfprint fprintd usbutils) and only removes libfprint-git — not libfprint-tod-git. On machines whose reader needs the TOD driver, installing stock libfprint conflicts with the already-installed libfprint-tod-git (which provides+conflicts libfprint), so the package step would fail. The wizard should account for the TOD driver (detect it / prefer it / remove libfprint-tod-git like it does libfprint-git).
Suggested fix
- Add
0a5c(Broadcom) tofingerprint_vendorsinomarchy-hw-fingerprint. - In
omarchy-setup-security-fingerprint, also removelibfprint-tod-gitbeforeomarchy-pkg-add libfprint, mirroring the existinglibfprint-githandling — or, better, detect when the matched reader requires the TOD driver and installlibfprint-tod-git+fprintdinstead of stocklibfprint.
Workaround used locally (for reference)
Install fprintd while keeping libfprint-tod-git, enroll with sudo fprintd-enroll "$USER", verify with fprintd-verify, then add pam_fprintd.so (+ the omarchy-hw-laptop-closed clamshell gate) to /etc/pam.d/sudo and /etc/pam.d/polkit-1, and create /etc/pam.d/omarchy-lock-fingerprint. This works fully.
System
- Omarchy 4.0.0-1
- Arch Linux, Hyprland
- Reader: Broadcom BCM58200 ControlVault 3 (
0a5c:5843)
View raw text
## Summary `omarchy setup security fingerprint` aborts with "No fingerprint sensor detected" even though a supported reader is present. The hardware check hard-codes a vendor allow-list that omits Broadcom (`0a5c`), which is the vendor for the BCM58200 ControlVault 3 fingerprint reader found in many Dell Latitude/Precision laptops. ## Steps to reproduce 1. Machine with a Broadcom BCM58200 ControlVault 3 reader (USB `0a5c:5843`). 2. Run `omarchy setup security fingerprint`. 3. Output: `Setting up fingerprint scanner for authentication.` -> `No fingerprint sensor detected.` and the wizard exits before installing `fprintd` or touching PAM. ## Expected The reader is detected and setup proceeds (install fprintd, enroll, verify, configure PAM). ## Root cause The hidden helper `/usr/share/omarchy/bin/omarchy-hw-fingerprint` only matches these USB vendor IDs: ``` fingerprint_vendors=" 27c6 138a 06cb 08ff 1c7a 147e " ``` Broadcom's vendor `0a5c` is absent. Two details that make this a clean, low-risk fix: - The device's sysfs product string is just `58200` (the "(FingerPrint sensor + Contacted SmartCard)" text shown by `lsusb` comes from the usb.ids database, not the device), so the product-name match (`*fingerprint*` / `*biometric*` / `*elan:arm-m4*` / `fpc *`) doesn't catch it either. - No kernel driver is bound to the device (all 4 interfaces are unbound), so the `has_kernel_driver` guard is already satisfied. **Adding `0a5c` to the vendor list is sufficient for detection to pass.** Confirmed hardware on the affected machine: ``` Bus 003 Device 003: ID 0a5c:5843 Broadcom Corp. BCM58200 ControlVault 3 (FingerPrint sensor + Contacted SmartCard) ``` This reader is driven by the `libfprint-tod` (TOD) driver: `libfprint-tod-git` ships `/usr/lib/libfprint-2/tod-1/libfprint-2-tod-1-broadcom.so`, and `fprintd-enroll` / `fprintd-verify` succeed against `/net/reactivated/Fprint/Device/0`. ## Related issue in the wizard Even with detection fixed, `omarchy-setup-security-fingerprint` installs stock `libfprint` (`omarchy-pkg-add libfprint fprintd usbutils`) and only removes `libfprint-git` — not `libfprint-tod-git`. On machines whose reader needs the TOD driver, installing stock `libfprint` conflicts with the already-installed `libfprint-tod-git` (which provides+conflicts `libfprint`), so the package step would fail. The wizard should account for the TOD driver (detect it / prefer it / remove `libfprint-tod-git` like it does `libfprint-git`). ## Suggested fix 1. Add `0a5c` (Broadcom) to `fingerprint_vendors` in `omarchy-hw-fingerprint`. 2. In `omarchy-setup-security-fingerprint`, also remove `libfprint-tod-git` before `omarchy-pkg-add libfprint`, mirroring the existing `libfprint-git` handling — or, better, detect when the matched reader requires the TOD driver and install `libfprint-tod-git` + `fprintd` instead of stock `libfprint`. ## Workaround used locally (for reference) Install `fprintd` while keeping `libfprint-tod-git`, enroll with `sudo fprintd-enroll "$USER"`, verify with `fprintd-verify`, then add `pam_fprintd.so` (+ the `omarchy-hw-laptop-closed` clamshell gate) to `/etc/pam.d/sudo` and `/etc/pam.d/polkit-1`, and create `/etc/pam.d/omarchy-lock-fingerprint`. This works fully. ## System - Omarchy 4.0.0-1 - Arch Linux, Hyprland - Reader: Broadcom BCM58200 ControlVault 3 (`0a5c:5843`)
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.
No decision has been recorded yet.