{"id":51881,"date":"2026-08-18T12:45:33","date_gmt":"2026-08-18T12:45:33","guid":{"rendered":"https:\/\/ubuntuhandbook.org\/?p=51881"},"modified":"2026-08-18T12:45:33","modified_gmt":"2026-08-18T12:45:33","slug":"validity-fingerprint-sensors-libfprint","status":"publish","type":"post","link":"https:\/\/ubuntuhandbook.org\/index.php\/2026\/08\/validity-fingerprint-sensors-libfprint\/","title":{"rendered":"The PR adds Native Validity Fingerprint Sensors Support to Linux"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-thumbnail wp-image-45484\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2024\/02\/fingerprint-icon-250x250.webp\" alt=\"\" width=\"250\" height=\"250\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2024\/02\/fingerprint-icon-250x250.webp 250w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2024\/02\/fingerprint-icon-300x300.webp 300w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2024\/02\/fingerprint-icon-700x700.webp 700w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2024\/02\/fingerprint-icon-768x768.webp 768w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2024\/02\/fingerprint-icon.webp 1200w\" sizes=\"auto, (max-width: 250px) 100vw, 250px\" \/><\/p>\n<p>For those who have computers or laptops with Synaptics \/ Validity fingerprint sensors, there&#8217;s a new pull request contains the driver for <code>libfprint<\/code>, the default fingerprint library in most Linux Distributions.<\/p>\n<p>As you might know, libfprint has a list of <a href=\"https:\/\/gitlab.freedesktop.org\/libfprint\/wiki\/-\/wikis\/Unsupported%20Devices\" target=\"_blank\" rel=\"noopener\">unsupported devices<\/a>. It includes many Lenovo Thinkpad and HP laptops with <code>138a<\/code> and <code>06cb<\/code> sensors.<\/p>\n<p><!--more--><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-51882\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/08\/06cb-fingerprint-700x537.webp\" alt=\"\" width=\"610\" height=\"468\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/08\/06cb-fingerprint-700x537.webp 700w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/08\/06cb-fingerprint-300x230.webp 300w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/08\/06cb-fingerprint.webp 702w\" sizes=\"auto, (max-width: 610px) 100vw, 610px\" \/><\/p>\n<p>For these fingerprint sensors, there&#8217;s an open-source <a href=\"https:\/\/github.com\/uunicorn\/python-validity\" target=\"_blank\" rel=\"noopener\">python-validity<\/a> project making them work in Linux. And, I&#8217;ve written a <a href=\"https:\/\/ubuntuhandbook.org\/index.php\/2024\/02\/fingerprint-reader-t480s\/\" target=\"_blank\" rel=\"noopener\">step by step tutorial<\/a> telling how to install and use the driver in Ubuntu.<\/p>\n<p>It&#8217;s however NOT beginner friendly, and lacks native integration as it requires to remove the default <code>libfprint<\/code> library.<\/p>\n<p>With the new <a href=\"https:\/\/gitlab.freedesktop.org\/libfprint\/libfprint\/-\/merge_requests\/626\" target=\"_blank\" rel=\"noopener\">pull request<\/a>, these fingerprint sensors will work natively in most Linux distributions through libfprint.<\/p>\n<p>And, so far it supports following devices:<\/p>\n<ul>\n<li><code>138a:0090<\/code> used in ThinkPad T460s, T460p, X1 Carbon Gen 4, Yoga 260, P50.<\/li>\n<li><code>138a:0097<\/code> used in ThinkPad T470, T470s.<\/li>\n<li><code>06cb:009a<\/code> used in ThinkPad T480\/T480s, X1 Carbon 6th gen, X1 Yoga 3rd gen, X280, P52, L390<\/li>\n<li><code>138a:009d<\/code> used in ThinkPad X380 Yoga.<\/li>\n<li><code>138a:00ab<\/code> used in HP ZBook Studio G5, HP EliteBook 840\/850 G5.<\/li>\n<li><code>06cb:00cb<\/code> used in HP Pavilion 14.<\/li>\n<li><code>06cb:00b7<\/code> used in HP EliteBook 840 G6, HP EliteBook x360 1040 G6, HP Elite x2 G4.<\/li>\n<\/ul>\n<p><b>NOTE:<\/b> If your laptop model is not listed above, try running <code>lsusb<\/code> command to check the ID (see screenshot above).<\/p>\n<h3>Install it for Ubuntu 26.04<\/h3>\n<p>The pull request is NOT merged at the moment of writing! If you can&#8217;t wait, then you need to manually build it.<\/p>\n<p>For Ubuntu 26.04 LTS, someone has rebuilt <code>libfprint<\/code> with that PR in patch into <a href=\"https:\/\/launchpad.net\/~m-jedrasik\/+archive\/ubuntu\/libfprint-validity\/\" target=\"_blank\" rel=\"noopener\">this PPA<\/a> for AMD\/Intel platform.<\/p>\n<p>According to the PPA description, <b>it targets <code>06cb:009a<\/code> sensors<\/b> and works very well in my case in ThinkPad T480s, while other sensors need to manually download the firmware.<\/p>\n<p><b>1.<\/b> First, press Ctrl+Alt+T to launch terminal. Then run command to add the PPA:<\/p>\n<pre>sudo add-apt-repository ppa:m-jedrasik\/libfprint-validity<\/pre>\n<p><a href=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/08\/libfprint-validity-ppa.webp\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-51883\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/08\/libfprint-validity-ppa-700x562.webp\" alt=\"\" width=\"610\" height=\"490\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/08\/libfprint-validity-ppa-700x562.webp 700w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/08\/libfprint-validity-ppa-300x241.webp 300w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/08\/libfprint-validity-ppa-768x616.webp 768w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/08\/libfprint-validity-ppa.webp 1063w\" sizes=\"auto, (max-width: 610px) 100vw, 610px\" \/><\/a><\/p>\n<p><b>2.<\/b> Next, run command to refresh cache. Useful for Linux Mint (upcoming 23.x), though the last command should do it automatically in Ubuntu:<\/p>\n<pre>sudo apt update<\/pre>\n<p><b>3.<\/b> Finally, install the patched version of libfprint, as well as the firmware:<\/p>\n<pre>sudo apt install libfprint-2-2 libfprint-validity-firmware libfprint-validity-data<\/pre>\n<p><b>4.<\/b> After that, run the command to automatically download the firmware (for <code>06cb:009a<\/code> only).<\/p>\n<pre>sudo validity-firmware --download<\/pre>\n<p>Though don&#8217;t know why, it works in my case without running this command.<\/p>\n<p><b>5.<\/b> Finally, launch your desktop specific fingerprint management tool to enroll your fingerprint.<\/p>\n<p>For default GNOME Desktop, go to &#8220;Settings -&gt; System -&gt; User&#8221;, and, click &#8220;Fingerprint Login&#8221; to add fingerprint. The LED light will be turning on once you start scan fingerprint, touch the fingerprint sensor repeatedly until it complete.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-51884\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/08\/gnome-registerfingerprint-700x446.webp\" alt=\"\" width=\"610\" height=\"389\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/08\/gnome-registerfingerprint-700x446.webp 700w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/08\/gnome-registerfingerprint-300x191.webp 300w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/08\/gnome-registerfingerprint-768x489.webp 768w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/08\/gnome-registerfingerprint.webp 1096w\" sizes=\"auto, (max-width: 610px) 100vw, 610px\" \/><\/p>\n<p>After that, you can use your fingerprint to log in the desktop.<\/p>\n<p><b>6.<\/b> To enable fingerprint authentication for launching apps or commands that requires root permission, run the command below:<\/p>\n<pre>sudo pam-auth-update<\/pre>\n<p>Then, scroll up\/down to highlight &#8220;Fingerprint authentication&#8221;, press <b>Space<\/b> to enable\/disable, press <b>Tab<\/b> to switch to OK and hit Enter.<\/p>\n<p><a href=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2024\/02\/openfprintd-config2604.webp\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-50890\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2024\/02\/openfprintd-config2604-700x537.webp\" alt=\"\" width=\"610\" height=\"468\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2024\/02\/openfprintd-config2604-700x537.webp 700w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2024\/02\/openfprintd-config2604-300x230.webp 300w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2024\/02\/openfprintd-config2604-768x590.webp 768w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2024\/02\/openfprintd-config2604-1320x1014.webp 1320w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2024\/02\/openfprintd-config2604.webp 1404w\" sizes=\"auto, (max-width: 610px) 100vw, 610px\" \/><\/a><\/p>\n<h3>Uninstall:<\/h3>\n<p>The PPA packages work great in my case. If not for you, then you may run the commands below to purge PPA:<\/p>\n<pre>sudo apt install ppa-purge<\/pre>\n<pre>sudo ppa-purge ppa:m-jedrasik\/libfprint-validity<\/pre>\n<p>And, the ppa-purge will automatically downgrade the install <code>libfprint<\/code> library to the previous default version. <\/p>","protected":false},"excerpt":{"rendered":"<p>For those who have computers or laptops with Synaptics \/ Validity fingerprint sensors, there&#8217;s a new pull request contains the driver for libfprint, the default fingerprint library in most Linux Distributions. As you might know, libfprint has a list of unsupported devices. It includes many Lenovo Thinkpad and HP laptops with 138a and 06cb sensors.<\/p>\n","protected":false},"author":1,"featured_media":45484,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9],"tags":[2146],"class_list":["post-51881","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-howtos","tag-fingerprint-reader"],"_links":{"self":[{"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/posts\/51881","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/comments?post=51881"}],"version-history":[{"count":0,"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/posts\/51881\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/media\/45484"}],"wp:attachment":[{"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/media?parent=51881"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/categories?post=51881"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/tags?post=51881"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}