Setting up fingerprint scanner when dual booting Windows and Ubuntu

As the title suggests, I’ve been able to get the fingerprint scanner working under Linux (both Ubuntu and Fedora), but can’t seem to get the thing working with Windows already registered to fingerprints. I have read that a few people have mentioned doing that very thing. I’m wondering if someone could walk me through configuring it on Ubuntu after it is already in use by Windows?

I would be grateful for your assistance!

1 Like

Unless I’m mistaken, fprintd saves a representation of enrolled finger prints on the host OS filesystem, so it won’t be impacted by any enrollments in Windows.

https://fprint.freedesktop.org/libfprint-stable/libfprint-Devices-operations.html#enrolling

What kind of issues are you having? Registration was seamless for me in Manjaro (Gnome) using version 1.94.0. There’s even a nice gui in the users settings menu.

1 Like

I installed both things and there was a fingerprint option under user settings, but when I went to enroll a finger it would give me an error and fail.

I followed the instructions found here to compile both things and install them. Works when only Linux is in use on the laptop.

any update on this? I am running into the same issue. I was reading that the scanner may store credentials locally for security reasons but I am not sure where I read that and if it was verified. anyone find a workaround for getting both operating systems to accept fingerprints?

I am having a similar issue. I enrolled my fingerprint on Windows 11 and it was working, then I set up Xubuntu 21.20 to use my fingerprint, and it worked great. Then, when I switched back to Windows 11, I couldn’t use my fingerprint to log in anymore. I had to delete the biometric information on Windows and re-enroll to make it work. I then switched back to Xubuntu to see if it still worked there, and it didn’t. I haven’t tried to re-enroll in Xubuntu yet, but I suspect if I can it will break on Windows again.

I know dual booting is kind of cheating, but it would be awesome if there was a fix for this so I could use this feature in both OSes. If not, I guess I can just use it on Linux since I need to put verify my credentials way more often there.

I believe this one is outside of Framework’s control. It is the fingerprint driver that needs the work. Consider this a safety measure. If an OS could be booted from USB and just use any registered finger, I’m sure that is exploitable. Instead locking a finger to an OS makes a lot of sense.

I don’t really mind this as an issue. You just have to decide which OS you want biometrics on. :+1:

2 Likes

@2disbetter Good to know, that’s what I figured. I will pick one and stick with it.

I confirm that using the fingerprint reader in both Linux and Windows doesn’t seem to work. I had it working great in Debian Sid, but as soon as I installed Windows 11 and set it up there, it broke my Debian Sid use of it. Now for the more important question…

Has anyone figured out how to transition from using it in Windows 10/11 back to using it in Linux? I’ve removed Fingerprint login settings in Windows 10/11, however I am unable to re-establish fprintd enrollment back in Linux. The fprintd-enroll command seems to start working while recording my new fingerprint but then after 10 or so touches with “Enroll result: enroll-stage-passed” messages, it ends in a “Enroll result: enroll-disconnected” without saving the fingerprint, regardless of the user or finger I specify.

I don’t see a Goodix utility for Windows to interact with their device, and I don’t see any options in Windows to remove fingerprints other than disabling fingerprint auth. Perhaps Windows installs a random integer/key that Linux isn’t privy to?

Use this appimage to fix the issue.

1 Like

This thread looks a bit moribund but I think I have something to add. My sense from other posts is that the fingerprint reader caches the prints itself; that is, my sense is the prints are not stored in the operating system’s file tree. If that is true it might explain my problems.

I have a dual boot system: windows11 and Kubuntu. I got fingerprints working in Windows but not Linux. I recently upgraded to 22.04beta and tried to get fingerprint reading to work. Long story (the AppImage fix worked) short, I got it working on Linux but only after deleting existing fingerprints and then installing them on the Linux side.

At that point Windows11 stopped working for fingerprints. When I tried to re-install a fingerprint it failed because it was “too similar” to one which was already stored. No kidding: the only prints stored are mine.

To me this seems to explain why dual boot systems only get fingerprints working on one of the two (or more) installed systems.

I’d like to hear from the Frameworks folks whether my supposition is right and, if so, whether there is any hope of getting a more tractable setup when going with dual boot where each OS can install its own prints and they do not cause a conflict.

< david

You could potentially use one finger for one OS, then another finger for the other OS.

You’re not really supposed to store all your fingerprints and thumbprints on one device anyway…because that just increases the chance of a false match (false positive).

Consumer-grade fingerprint scanner rarely publish false positive statistics. (e.g. 3 in 20,000 could electronically considered as ‘close enough’ match by the matching threshold)

Fundamental issues in biometric performance testing: A modern statistical and philosophical framework for uncertainty assessment (nist.gov)

N_A and anyone else, my story just gets worse, alas.

I deleted all my linux fingerprints (3 total) because, if I have to choose, I’d rather have it for Windows. But now Windows complains that my fingerprint is too similar to another!

I have tried to clear prints on the windows side by a) deleting all prints via linux scripts and also by running the AppImage hack, b) deleting the fingerprint device in Windows and then reinstalling it via FrameWork driver update, c) reinstalling Bios 3.07.

I tested fingerprints in windows after each of the above steps with no change: my finger print is too similar to another even though I think I have done everything to clear old prints.

I finally scanned a print I had never scanned before and it worked BUT Windows still does not offer fingerprint login even after a reboot.

The upshot is I now can’t log into Windows with fingerprint and can’t get it to work. This is annoying and, I’m sad to say, I’m now annoyed at the FrameWork gang for not documenting WTF is going on with the reader and how to clear, actually clear, prints which I want to replace.

Was this the script you used?

Yes, that is the script I used. It reported all were deleted. But Windows still barfs about similarity except for a finger I had never recorded. It still seems like I have prints stuck away somewhere.

Okey doke, I finally found a way to clear prints on the Windows side. It was not what I expected but it did work. It is based on an older post which would be for Windows10 (How to Reset Windows Hello Biometrics). There are other methods there but I had already tried them.

  1. Using services.msc, stop the Windows Biometric Service
  2. Go to c:\Windows\System32\WinBioDatabase
  3. The files there seemed old but I deleted them all
  4. Restart the Windows Biometric Service

And after that I could successfully scan and save a couple of fingers.

Aaaand, I’ll leave it at that. I’m fine logging into Linux with a password. I spent enough time on this flail for a while. :wink:

2 Likes

This means that Windows is caching the fingerprint data as well, or most likely, that it is keeping some data (most likely akin to meta data) for fingers registered and how the service has been configured in the past.

By removing the data from the device itself, you are not removing the files from the OS.

Glad you got it all figured it, and thank you for sharing here!

This is funny to me.
I use the same finger for Windows 10, and Ubuntu 21.04, later updated to 21.10.

I set this up when I first received my PC in August, Batch 1.

There were a very long chain about adding fprint to Ubuntu. so it took a little trial and error.

1 Like

I have a bit more interesting experience to add.

Not being able to keep my own promise, I scanned a couple of fingers in Linux. This confirmed that the Linux storage is in /var/lib/fprint, btw. My hunch was that if Windows was now happy perhaps Linux could get happy again.

End result, I now can use the same fingerprint (!) on both Linux and Windows and they are both working as anticipated including under SDDM. The latter is weird because I have to hit RETURN with no password and then scan the finger and that works (Kubuntu 22.04b).

This long thread is part of threads all over the place about fingerprints which tells me this approach is not yet standard enough for all providers to work in agreement including hardware. But I am also not seeing actual evidence of fingerprints being stored in places other than OS file systems. Does not mean they are not there, I just have not found them there. :wink: