This post is just a scribble for me to remember how to configure and use the fingerprint reader on my X1-Carbon more effectively with Arch-Linux
The recipe:
I’ve used Fprint (instead of ThinkFinger) to lock and unlock my screen. Also, I’ve used I3Lock instead of xscreensaver. I think I preferred i3lock and Fprint because they seemed to be much easier to configure.
Anyways, on to to the configs
After you have enrolled and verified your fingerprint using fprint. If you are an alias to the “root”, then you will need to enrol the root’s fingerprint and verify it using fprintd. you need to edit the following files in /etc/pam.d/. Obviously, you will need to sudo to make the changes. The files being System_Local_Login, Su, Sudo, i3lock. Entries in each of these files are listed below
Login (You may not need this if you are using i3wm):
auth sufficient pam_thinkfinger.so auth required pam_unix.so use_first_pass nullok_secure
System_Local_login
auth sufficient pam_fprintd.so
su
auth sufficient pam_fprintd.so
Sudo
auth sufficient pam_fprintd.so
i3Lock
auth sufficient pam_fprintd.so
auth required pam_unix_auth.so try_first_pass
That’s it. You should now be able to use your fingerprint to login as root or your alias. The same applies when you sudo or su. The best part is being able to login from the lock screen.
NOTE: You will have to hit the Enter/Return key and wait for the fingerprint reader to light up. Simply putting your finger on the reader without hitting the return key won’t work.

UPDATE 02/2020 for Thinkpad X1 Carbon Gen 5 (2017)
An update was made to Fprintd which requires libfprint-2.so. If you updated Fprintd to the new version, then its likely that the fingerprint reader will not be detected anymore. libfprintd-2.so does not support the Thinkpad Carbon 5 fingerprint driver, so it will not be detected any more.
You will have to revert to the old version of Fprintd to get it working again
if you have installed the new driver
sudo pacman -R libfprint-2.so && sudo pacman -R fprintd
Next install the old drivers. For this you will have to go to the Archlinux archives @ https://archive.archlinux.org/packages/
First libfprint package (I use trizen, you could be using pacaur)
trizen -S libfprint-vfs0097-git --noconfirm
Next install the older fprint package
sudo pacman -U https://archive.archlinux.org/packages/f/fprintd/fprintd-0.8.1-2-x86_64.pkg.tar.xz
But before you run this, you will have to download the key https://archive.archlinux.org/packages/f/fprintd/fprintd-0.8.1-2-x86_64.pkg.tar.xz.sig and move it to the pacman cache directory
sudo mv ~/Downloads/fprintd-0.8.1-2-x86_64.pkg.tar.xz.sig /var/cache/pacman/pkg/
reboot and your fingerprint reader should be working now
To prevent yourself from accidentally installing the new version of fprint update the pacman configuration
sudo nvim /etc/pacman.conf and add the following entries IgnorePkg = libfprint IgnorePkg = libfprint-2.so IgnorePkg = fprintd
You should now be good to go
Additional References
Leave a Reply