Skip to content

Instantly share code, notes, and snippets.

@AmulyaX
Last active May 19, 2025 21:21
Show Gist options
  • Save AmulyaX/7d050daffe3429c409effe1111bb65ae to your computer and use it in GitHub Desktop.
Save AmulyaX/7d050daffe3429c409effe1111bb65ae to your computer and use it in GitHub Desktop.
Use custom built libfprint to add fixes for specific drivers
# Clone fprintd source code
git clone https://gitlab.freedesktop.org/libfprint/libfprint.git
# Checkout to our good guy who made a patch for sensor
# 1c7a:0587 LighTuning Technology Inc. ETU905A88-E
git fetch "https://gitlab.freedesktop.org/thameruddin/libfprint.git" 'egismoc-0587'
git checkout -b 'libfprint-egismoc-0587' FETCH_HEAD
# Try building the code
cd libfprint
sudo meson builddir
sudo meson install -C builddir
# Above command will install everything to /usr/local/
sudo apt install fprintd fprintd-pam
### IMPORTANT
### Try not to install the libfprint via apt, if the above debs are not being installed without this, either install and
### purge later or create a symbolic link to our custom build libfprint.so (Feel free to ask if you need help with this)
@aturkakin
Copy link

Hey,

I recently bought myself a new laptop and am trying to learn how to use linux. I have been trying to get my fingerprint sensor to work for quite a few days but everything I've tried has not worked. I stumbled across your reddit post and found myself here. When I tried to follow your steps, it said that the git repository I am trying to fetch from does not exist. I was wondering if you could help me figure out how to move forward.

Thanks!

@AmulyaX
Copy link
Author

AmulyaX commented Aug 1, 2024

Hey,

I recently bought myself a new laptop and am trying to learn how to use linux. I have been trying to get my fingerprint sensor to work for quite a few days but everything I've tried has not worked. I stumbled across your reddit post and found myself here. When I tried to follow your steps, it said that the git repository I am trying to fetch from does not exist. I was wondering if you could help me figure out how to move forward.

Thanks!

Hi, the above guide I made is quite old now I guess, can you try picking this merge commit after you clone libfprint?
https://gitlab.freedesktop.org/libfprint/libfprint/-/merge_requests/469
Rest commands will remain same, instead of fetch and checkout command, try to pick the above.

@aturkakin
Copy link

aturkakin commented Aug 1, 2024

Hey, I really appreciate the quick response. However, I am having a bit of trouble understanding since I am still very new to all of this. Could you elaborate by what you meant in the last line? What did you mean by "instead of fetch and checkout command, try to pick the above."?

Edit: Still having the same problem, it will not let me fetch. Give me the same message: "fatal: not a git repository (or any of the parent directories): .git"

@Doudoube
Copy link

Doudoube commented Aug 4, 2024

You can download the driver here : https://gitlab.freedesktop.org/thameruddin/libfprint/-/tree/egismoc-0587.
Install it with above commands.
It works perfectly for me.

@aturkakin
Copy link

Hey,

Finally came back to this after a week.

Every time I tried git fetch "https://gitlab.freedesktop.org/thameruddin/libfprint/-/tree/egismoc-0587" 'egismoc-0587' it gives me the message fatal: not a git repository (or any of the parent directories): .git

I finally realized i needed to go into the libprintf folder for it to work. (I am very new please be patient with me)

Now everything works up to sudo meson install -C builddir
It says i do not have permission:

ERROR: Unhandled python OSError. This is probably not a Meson bug, but an issue with your build environment.

Not sure how to proceed. Any suggestions?

Thanks!

@Doudoube
Copy link

Doudoube commented Aug 14, 2024

Hi,
To use meson, you've got to install many developpment libraries (nss, udev, gudev, glib, cmake, gobject and many others). Make sure you've done it.
When done, follow these steps :

sudo apt remove fprintd libpam-fprintd

cd ~ /.../libfprint-egismoc-0587

sudo meson setup builddir (verify there 's no error when finished : meson will tell you what packages are missing)

sudo meson install -C builddir

sudo apt install fprintd libpam-fprintd

fprintd-enroll (it should find the driver)

fprintd-verify USER (your user name)

sudo pam-auth-update (validate fingerprint authentification)

reboot

Note :

Hope this will help you.

@theT4mer
Copy link

Hello there,
@Doudoube, at which point did it fail for you in fedora? I somehow overread this part of the comment before attempting and for me, the enrollment of the driver does not work (no devices are available).
Thanks you

@Doudoube
Copy link

Hello there, @Doudoube, at which point did it fail for you in fedora? I somehow overread this part of the comment before attempting and for me, the enrollment of the driver does not work (no devices are available). Thanks you

Hello,
I tried both fedora & debian distros with exactly the same handling.
The driver was found immediately with debian but not with fedora. I tried with fedora budgie, cinnamon, mate (gnome not tested, i hate gnome 4...) without any result and then i decided to install linux mint cinnamon. The only problem with cinnamon is that lightdm doesn't recognize fingerprint. You can apply the workaround above or install gdm3.
For fedora, all the tutorials found on internet failed...

@theT4mer
Copy link

Hi,
okay I am on gnome so that is defenetly not the fix xD. I think Fedora has some additional security tweaks so they propably don't like the drivers...
Anyway, thank you very much!

@Doudoube
Copy link

Hi, okay I am on gnome so that is defenetly not the fix xD. I think Fedora has some additional security tweaks so they propably don't like the drivers... Anyway, thank you very much!

Could it be selinux ? U can try deactivate it by adding 'selinux=0' in grub

@theT4mer
Copy link

image
it sadly did not work for me, but i think i will survive without a fingerprint sensor...

@Doudoube
Copy link

Effectively... I'd like to understand where is the problem

@Skywalker8510
Copy link

I'm on a ASUS Creator laptop Q OLED running Fedora KDE with the ID 1c7a:0587 LighTuning Technology Inc. ETU905A88-E fingerprint reader
I built from the pull request but im still getting
Impossible to enroll: GDBus.Error:net.reactivated.Fprint.Error.NoSuchDevice: No devices available

@Doudoube
Copy link

Doudoube commented Aug 27, 2024

I found this on internet, maybe the solution is to enable 'python3-validity.service' on fedora.
Let you try it.

" Guys, I think I figured it out. I had to run a few authselect commands to get it working:

$ sudo authselect current
$ sudo authselect enable-feature with-fingerprint
$ sudo authselect apply-changes

ArchWiki suggests modifying files inside pam.d. Do NOT do that on Fedora, and use authselect instead.

After the factory-reset step they mention in the readme and enabling python3-validity, I am now able to authenticate using my fingerprint".

@theT4mer
Copy link

For me, the factory reset fails at the "sudo validity-sensors-firmware" step and it seems to do so because it finds no matching devices. Same problem when trying to enable python3-validity :(. However, when running the lsusb command, the device shows up as follows:
Bus 001 Device 055: ID 1c7a:0587 LighTuning Technology Inc. ETU905A88-E
Hardwarewise, i have more or less the same setup as @Skywalker8510, but a Zenbook.

@Doudoube
Copy link

Doudoube commented Aug 28, 2024

For me, lets see following result under linux mint :
dider@ego:$ lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 3277:0010 Sonix Technology Co., Ltd. USB2.0 FHD UVC WebCam
Bus 001 Device 004: ID 1c7a:0587 LighTuning Technology Inc. ETU905A88-E
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 002: ID 13d3:3568 IMC Networks Wireless_Device
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
dider@ego:
$ fprintd-
fprintd-delete fprintd-enroll fprintd-list fprintd-verify
dider@ego:~$ fprintd-verify
Using device /net/reactivated/Fprint/Device/0
Listing enrolled fingers:

  • #0: right-index-finger
    Verify started!
    Verifying: right-index-finger
    Verify resul

@maks
Copy link

maks commented Aug 29, 2024

For future readers, on Ubuntu 24.04 I needed to install the following build dependencies to build libfprint from source:

sudo apt install libgusb-dev  gobject-introspection libnss3-dev libudev-dev libgudev-1.0-dev gtk-doc-tools cmaks libpixman-1-dev

and I ran the meson commands as a normal user without using sudo but did allow it to use sudo for the final install step of meson install -C builddir

@routadu
Copy link

routadu commented Sep 9, 2024

I'm currently using Asus Zenbook UX3402VA with Ubuntu 24.04 and followed all the steps of installation.
The installation was successful with no errors.

But I'm still getting this error while trying to enroll my fingerprint:

Impossible to enroll: GDBus.Error:net.reactivated.Fprint.Error.NoSuchDevice: No devices available

The fingerprint reader does show up in lsusb command

LighTuning Technology Inc. ETU905A88-E

@rk4500
Copy link

rk4500 commented Sep 30, 2024

I was having issues installing the compiled library to /usr/local with the original commands.
For me, I had to first run:
sudo apt purge --auto-remove fprintd libfprint-2-2
To remove the old library.

Then install with:
sudo ninja -C builddir install

Then I also was getting an error when trying to run "sudo apt install fprintd fprintd-pam"
So instead, I had to install:
sudo apt install libpam-fprintd

Finally, fprintd-enroll worked, and the fingerprint option in 24.04 Gnome settings came back too.

(I have an Asus Vivobook Pro 16 OLED which has a LighTuning Technology Inc. ETU905A88-E fingerprint reader (ID 1c7a:0587) the updated libfprint library helped get it finally working!)

@Doudoube
Copy link

For your information, ETU905A88-E driver is now implemented on libfprint v.1.94.8 as u can see here πŸ‘
https://gitlab.freedesktop.org/libfprint/libfprint/-/releases

@antoskuu
Copy link

For your information, ETU905A88-E driver is now implemented on libfprint v.1.94.8 as u can see here πŸ‘ https://gitlab.freedesktop.org/libfprint/libfprint/-/releases

I still can't get it to work on Pop_Os, with the commands from above. I have exactly the ETU905A88-E sensor.

What i do :
sudo apt remove fprintd libpam-fprintd
sudo apt purge --auto-remove fprintd libfprint-2-2
git clone https://gitlab.freedesktop.org/libfprint/libfprint.git
cd libfprint
sudo meson setup builddir (or sudo meson builddir ?)
sudo meson install -C builddir
sudo apt install fprintd libpam-fprintd

and during fprintd-enroll either my finger is not detected, or it is, and afterwards during verify its not detected... any help?
thank you very much

@Doudoube
Copy link

For your information, ETU905A88-E driver is now implemented on libfprint v.1.94.8 as u can see here πŸ‘ https://gitlab.freedesktop.org/libfprint/libfprint/-/releases

I still can't get it to work on Pop_Os, with the commands from above. I have exactly the ETU905A88-E sensor.

What i do : sudo apt remove fprintd libpam-fprintd sudo apt purge --auto-remove fprintd libfprint-2-2 git clone https://gitlab.freedesktop.org/libfprint/libfprint.git cd libfprint sudo meson setup builddir (or sudo meson builddir ?) sudo meson install -C builddir sudo apt install fprintd libpam-fprintd

and during fprintd-enroll either my finger is not detected, or it is, and afterwards during verify its not detected... any help? thank you very much

I don't know POP'OS.
I think you must install the libfprint v.1.94.8 driver and install it, it should work...

@averagenokiauser
Copy link

I am on Debian. My fingerprint reader is VFS491 (138a:003d). This is not the same reader as here but i am trying to do something like people here are. Someone already did this: https://github.com/ludwhe/libfprint/. I think he just forked some drivers for my Fingerprint reader and then just updated libfprint version? I don’t know much about this and would be really happy if someone could assist me.

@boevski
Copy link

boevski commented May 14, 2025

For your information, ETU905A88-E driver is now implemented on libfprint v.1.94.8 as u can see here πŸ‘ https://gitlab.freedesktop.org/libfprint/libfprint/-/releases

Could somebody explain why the same device model (ETU905A88-E) is being reported by lsusb with different hex numbers (i.e. 1c7a:0583, 1c7a:0584, 1c7a:0587) and how does it matter?

As @Doudoube mentions, the driver does seem to be implemented, but the release notes only mention "egismoc: New PIDs 0x0583, 0x0586, 0x0587" while my sensor is showing 0584 and, consequently, is not being recognized by fprintd.service.

@Luis97Lopez
Copy link

I was having issues installing the compiled library to /usr/local with the original commands. For me, I had to first run: sudo apt purge --auto-remove fprintd libfprint-2-2 To remove the old library.

Then install with: sudo ninja -C builddir install

Then I also was getting an error when trying to run "sudo apt install fprintd fprintd-pam" So instead, I had to install: sudo apt install libpam-fprintd

Finally, fprintd-enroll worked, and the fingerprint option in 24.04 Gnome settings came back too.

(I have an Asus Vivobook Pro 16 OLED which has a LighTuning Technology Inc. ETU905A88-E fingerprint reader (ID 1c7a:0587) the updated libfprint library helped get it finally working!)

Worked for me with ASUS Zenbook D14 UX3402

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment