Making the Lenovo Thinkpad T450s fingerprint to work under Elementary GNU/Linux

This is originally a gist from Gina Häußge that I'm copying here for posterity purposes.

lsusb lists the fingerprint reader in the x240 as follows:

Bus 002 Device 003: ID 138a:0017 Validity Sensors, Inc.

There exists experimental driver support for this in a fork of libfprint for vfs5011 sensors, however you'll need to compile the driver yourself. To get the fingerprint sensor to work for lightdm login, su etc, follow these steps.

  1. Install fingerprint-gui:

    sudo add-apt-repository ppa:fingerprint/fingerprint-gui sudo apt-get update sudo apt-get install libbsapi policykit-1-fingerprint-gui fingerprint-gui

  2. Get your compilation tools and library dependencies:

    sudo apt-get install build-essential automake checkinstall shtool libtool libxv-dev libmagick++-dev

  3. Get the sources, compile and install them:

    git clone cd fprint_vfs5011 ./ make sudo make install

  4. Make sure your user has permissions for accessing the fingerprint sensor device. Create a file /lib/udev/rules.d/40-libfprint0-custom.rules with the following contents:

    Device Validity VFS5011
    ATTRS{idVendor}=="138a", ATTRS{idProduct}=="0017", MODE="0664", GROUP="plugdev"

  5. Add your user to the plugdev group:

    sudo usermod -a -G plugdev <username>

  6. Restart udev:

    sudo service udev restart

  7. Log out of your session and log back in.

  8. Enroll your fingerprints with fingerprint-gui, verify them, then see if a sudo -s now suddenly asks you for your fingerprint.

Author image
Santiago, Chile Website
Web developer for the last 4 or so years, Mauricio tries hard to stand out and go beyond his limits, which usually doesn't work very well, but when it does it feels awesome!