Linux Ubuntu FOSS

πŸ‘‹ Hey guys, I'm Dhilip

After 3 years of my Linux journey, I finally achieved something I thought was impossible.

I bought an HP laptop with a fingerprint reader. The same day I got it, I installed Ubuntu πŸ˜„
I never even tried the fingerprint sensor in Windows.

But sadly… Linux didn't support it.

For 2+ years, I used my laptop without fingerprint login.
As a FOSS activist, I kept trying β€” but nothing worked.

πŸ”₯ Breakthrough Moment

Two weeks ago, I found this blog:

πŸ”— Fingerprint Authentication Guide β€” Johannes Kinzig

Even without hope, I read everything.

Then I discovered:

04f3:0c00 ELAN Fingerprint (Unsupported)

But then… I saw a pull request adding support for many devices β€” including mine πŸ‘€

Ubuntu hadn’t merged it yet β€” so I built the driver myself πŸ’ͺ


πŸ’» Fingerprint Authentication on Ubuntu 24.04

Ubuntu

Many HP laptops use ELAN fingerprint sensors, which are not supported by default in Ubuntu 24.04.

So we need to build a patched version of libfprint.


πŸ“š Resources


βš™οΈ Installation Steps

1

Install Dependencies

bash sudo apt-get install meson glib-2.0 libgusb-dev \ libgirepository1.0-dev libcairo-dev libpixman-1-dev \ cmake libnss3-dev libgudev-1.0-dev gtk-doc-tools \ gdb valgrind git openssl libssl-dev
2

Clone Repository

bash git clone https://gitlab.freedesktop.org/depau/libfprint.git cd libfprint
3

Switch Branch

bash git switch elanmoc2 git fetch && git pull
4

Build & Install

bash meson setup builddir && cd builddir meson compile meson test sudo meson install
5

Fix Library Path

bash echo '/usr/local/lib/' | sudo tee /etc/ld.so.conf.d/local.conf sudo ldconfig
6

Restart Service

bash sudo systemctl restart fprintd.service
7

Enroll Fingerprint

bash fprintd-enroll $USER Fingerprint Login
8

Enable for sudo

bash sudo pam-auth-update
Sudo User Config Sudo with Fingerprint

πŸŽ‰ Final Result

Now you can use your fingerprint for:

  • βœ… Login
  • βœ… Sudo authentication
  • βœ… System unlock

πŸ’­ Final Thoughts

I hope this helps someone out there.

After 3 years… it finally worked.

Linux is the best ❀️