Add Kensington VeriMark (06cb:0088) driver - #63
Open
visorcraft wants to merge 1 commit into
Open
Conversation
Bundles the FLOSS libfprint driver for the Kensington VeriMark (06cb:0088) - a pre-Prometheus Synaptics/Validity chip - alongside this fork's existing vfs0090 driver. Covers enroll, verify, and PAM/login integration. Auto-pairs with the device on first plug-in (no Windows extraction required). Driver source mirrored from https://github.com/visorcraft/Kensington_VeriMark_06cb-0088 at libfprint/drivers/validity-0088/. The driver is maintained against libfprint >= 1.92; this fork is on 1.90.x, so a small compat shim block at the top of validity.c (gated on -DVALIDITY_BACKPORT_LIBFPRINT) stubs out the modern finger-status reporting and auto-initialize-features APIs that 1.90.x lacks. The driver still functions; only the rich 'place finger' / 'lift finger' UI hints become no-ops. Build: meson setup builddir -Ddrivers=validity_0088 meson compile -C builddir The meson key MUST be 'validity_0088' (underscore) - libfprint's meson pastes the key directly into a generated C identifier and a hyphen produces invalid C. File paths remain 'validity-0088'. Closes 3v1n0#21.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
libfprintdriver for the Kensington VeriMark (06cb:0088) — a pre-Prometheus Synaptics/Validity chip — alongside this fork's existingvfs0090driver.libfprint/drivers/validity-0088/(12 files, ~12k lines).libfprint/meson.build, openssl dep + driver entry added to rootmeson.build.Why this fork
This driver, like
vfs0090, isn't (yet) in mainlinelibfprint. Users who already build from this fork to getvfs0090can now also get VeriMark support from one tree.What the driver does
06cb:009a).hs_key, sends it via the device's pre-TLS opcode0x4f, persists the device-signed cert + keypair + device ECDH pubkey to~/.local/share/libfprint/verimark-06cb-0088/(or$STATE_DIRECTORY/validity-0088-pairing/under fprintd).Driver source is maintained at Kensington_VeriMark_06cb-0088; this PR mirrors it into the fork.
API compatibility
The driver is written against libfprint ≥ 1.92 (
fpi_device_report_finger_status,fpi_device_class_auto_initialize_features,FPI_IMAGE_NONE,FP_FINGER_STATUS_*). This fork is on 1.90.x, so a small compat shim block at the top ofvalidity.c(gated on-DVALIDITY_BACKPORT_LIBFPRINT, set automatically fromlibfprint/meson.buildwhen this driver is built) stubs those out as no-ops. The driver still functions on 1.90.x; only the rich "place finger" / "lift finger" UI hints are silenced. When this fork rebases onto 1.92+, the compat flag can simply be dropped from the meson entry.Build
(Or
-Ddrivers=vfs0090,validity_0088for both.) The meson key MUST bevalidity_0088(underscore) — libfprint's meson pastes the key directly into a generated C identifier and a hyphen produces invalid C. File paths usevalidity-0088.Test plan
vfs0090branch with-Ddrivers=validity_0088nm libfprint-2.so.2.0.0 | grep fpi_device_validity_0088_get_typereturns the driver entrypointfprintd-enroll→sudowith fingerprint → root) on the upstream driver repo's identical source against libfprint 1.94.x; only the compat shims are new in this PR.Closes #21.