I recently got a new laptop (Lenovo P14s AMD G5) that has a fingerprint sensor in the power button. I use NixOS with a custom tmpfs-on-root setup inspired by impermanence (config here).
I saw that the fingerprint sensor was supported by fprintd, so I enabled fprintd in my NixOS config, then persisted /var/lib/fprint
. Enrolling a finger seemed to work, I could lock my computer and then unlock it with my finger (it would take several attempts to unlock sometimes, but that’s ok).
(Issue 1) After I rebooted my computer, though, gdm and gnome’s lock screen would still ask for a fingerprint, but no matter how many times I tried, it didn’t unlock. I tried re-enrolling my finger (using fprintd-enroll
) and it started unlocking correctly again, but it would break after the next reboot. I never managed to figure out why this happens.
Eventually I gave up on using the fingerprint sensor as it didn’t work consistently. I’d like to use it, though.
(Issue 2) After a few more reboots, gdm and gnome’s lock screen entirely stopped asking me to scan my finger.
Investigating:
fprintd seems to be stopping with this error:
Jan 13 11:32:13 hermes fprintd[956748]: Ignoring device due to initialization error: endpoint stalled or request not supported
There’s still a file at /var/lib/fprint/anna/synaptics/676d46027352/7
; inspecting it with xxd
shows that it contains some information associating my username with (what appear to be) the sensor’s fingerprint IDs.
If anyone’s had these problems too, I’d be interested in knowing how you solved them.