-
Clone libfprint repository:
git clone --depth 1 https://gitlab.freedesktop.org/libfprint/libfprint.git cd libfprint -
Copy the driver files to libfprint:
cp ../driver/focaltech.c libfprint/drivers/ cp ../driver/focaltech.h libfprint/drivers/
-
Update
libfprint/meson.buildto include the new driver in thedefault_driverslist:default_drivers = [ ... 'focaltech_moc', 'focaltech', ]
-
Add
focaltechto theendian_independent_driverslist inlibfprint/meson.build:endian_independent_drivers = virtual_drivers + [ ... 'focaltech_moc', 'focaltech', 'nb1010', ... ]
-
Update
libfprint/libfprint/meson.buildto add the driver source:driver_sources = { ... 'focaltech_moc' : [ 'drivers/focaltech_moc/focaltech_moc.c' ], 'focaltech' : [ 'drivers/focaltech.c' ], }
-
Build and install libfprint (important: use
--prefix=/usrto install to/usrinstead of/usr/local):meson setup build --prefix=/usr meson compile -C build sudo meson install -C build
-
Restart fprintd service to use the new library:
sudo systemctl restart fprintd
-
Verify the device is detected:
fprintd-list $USERYou should see output like:
found 1 devices Device at /net/reactivated/Fprint/Device/0 Using device /net/reactivated/Fprint/Device/0 Fingerprints for user YOUR_USERNAME on Focaltech Fingerprint Sensor (press):
After setup, you can use these commands:
fprintd-enroll- Enroll new fingerprintsfprintd-list $USER- List enrolled fingerprintsfprintd-verify- Test fingerprint verificationfprintd-delete $USER- Remove enrolled fingerprints
- Libfprint uses meson for building. See the Meson wiki for more details.
- The
--prefix=/usrflag is crucial for fprintd to find the library. Without it, libfprint installs to/usr/localby default, which fprintd doesn't search.