This repository contains a set of scripts to seamlessly build and install a patched libfprint driver for ELAN fingerprint sensors (specifically 04f3:0c00).
Special thanks to @Depau for the elanmoc2 branch making this possible.
To avoid cluttering your host system with build dependencies, the compilation happens entirely inside an ephemeral Ubuntu Docker container.
- Docker installed and running
- sudo privileges
- Experimental: This does NOT guarantee your sensor works reliably.
- Manual Installation: You're installing a patched driver outside the package manager (via
/usr/local/). - Future Breakage: System updates to your distribution may break it later. You may occasionally need to run this build/install process again.
sudo apt update
sudo apt install fprintd libpam-fprintdSimply run the build script. By default, it automatically detects your host's Ubuntu version using lsb_release or /etc/os-release and matches the container base image accordingly.
./build-libfprint-docker.sh(Optional: You can manually override the target container version by passing it as the first argument, e.g., ./build-libfprint-docker.sh 22.04)
Once the Docker compilation is finished, the build script will interactively ask if you want to install it on your host machine.
If you choose Y, it will automatically trigger the install.sh sequence (which requires sudo). The installer does all the heavy lifting:
- Copies artifacts into
/usr/local/ - Refreshes your linker cache (
ldconfig) - Restarts the fingerprint daemon (
systemctl restart fprintd) - Offers a workspace cleanup.
(If you skip this, you can always install it later manually using sudo ./install.sh or manually proceed with the steps below)
cd ~/libfprint-build/output
sudo cp -r usr/local/* /usr/local/
sudo ldconfig
sudo systemctl restart fprintdTry to enroll your fingerprint to ensure the daemon is actively picking up hardware calls:
fprintd-enroll
fprintd-verifyTo allow unlocking your machine and authenticating sudo prompts with your fingerprint, update your host's Pluggable Authentication Modules (PAM):
sudo pam-auth-updateIn the text menu that appears, make sure the "Fingerprint authentication" box has an asterisk [*] inside it (toggle with Spacebar), then hit Enter/Ok to save.
Enjoy! On your next login screen or sudo prompt, you can swipe your finger instead of typing a password.
If the driver doesn't work, causes issues, or you just want to revert back to your operating system's stock setup, run these commands to cleanly remove the patched version:
sudo rm -rf /usr/local/lib/libfprint*
sudo ldconfig
sudo apt reinstall libfprint-2-2 fprintd