sneexy/python-validity

Description

Validity fingerprint sensor driver.

Installation Instructions

$ sudo dnf copr enable tigro/python-validity $ sudo dnf install open-fprintd fprintd-clients fprintd-clients-pam python3-validity

Prepare

$ sudo systemctl start python3-validity.service $ sudo systemctl start open-fprintd.service $ sudo systemctl enable open-fprintd-resume.service open-fprintd-suspend.service open-fprintd.service python3-validity.service

Setup fingerprint auth

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

and check

$ sudo authselect current Profile ID: sssd Enabled features: - with-silent-lastlog - with-fingerprint

Troubleshooting

Readme.md

Active Releases

The following unofficial repositories are provided as-is by owner of this project. Contact the owner directly for bugs or issues (IE: not bugzilla).

* Total number of packages downloaded in the last seven days.


This is a companion discussion topic for the original entry at https://copr.fedorainfracloud.org/coprs/sneexy/python-validity

Are there known blockers to have this in the main repo?

Hi,
thanks for this great service that has helped me out on F41 several times! Now on F42 however, on a Thinkpad X1 Yoga 3rd gen, I ran into trouble (the FPReader works on Windoze). This is on the latest kernel (6.14.3-300.fc42.x86_64) with the latest firmware-updates.
When I try to install python3-validity, I get an error from the post-install script. It is then possible to continue, enable the services, even enroll a finger in the cli, however the fingerprints are never recognized. Also in the Gnome gui, enrolling never succeeds, and once I delete the (useless) fingerprint I “enrolled” earlier in the commandline, I cannot enroll an new one in the Gnome UI any more. The error I get in the post-install script is this (I cannot see a folder /var/run/python-validity, it seems in fact not to exist):

[10/11] Installing python3-validity-0:0.14-4.fc42.noarch                                            100% |  28.5 KiB/s | 791.3 KiB |  00m28s
>>> Running post-install scriptlet: python3-validity-0:0.14-4.fc42.noarch                                                                   
>>> Finished post-install scriptlet: python3-validity-0:0.14-4.fc42.noarch                                                                  
>>> Scriptlet output:                                                                                                                       
>>> Extracting "version 5.3.3542.26 (NZ3GF07W)" - setup data version 5.5.7 (unicode)                                                        
>>>  - "code$GetExtractPath$/WBF_Drivers/6_07f_lenovo_mis_qm.xpfwext"                                                                       
>>> Done.                                                                                                                                   
>>> Downloading https://download.lenovo.com/pccbbs/mobiles/nz3gf07w.exe to extract 6_07f_lenovo_mis_qm.xpfwext                              
>>> Found firmware at /tmp/tmpo84j1pfp/code$GetExtractPath$/WBF_Drivers/6_07f_lenovo_mis_qm.xpfwext                                         
>>> Traceback (most recent call last):                                                                                                      
>>>   File "/usr/lib64/python3.13/shutil.py", line 262, in copyfile                                                                         
>>>     with open(dst, 'wb') as fdst:                                                                                                       
>>>          ~~~~^^^^^^^^^^^                                                                                                                
>>> IsADirectoryError: [Errno 21] Is a directory: '/var/run/python-validity/'                                                               
>>>                                                                                                                                         
>>> The above exception was the direct cause of the following exception:                                                                    
>>>                                                                                                                                         
>>> Traceback (most recent call last):                                                                                                      
>>>   File "/sbin/validity-sensors-firmware", line 102, in <module>                                                                         
>>>     shutil.copy(fwpath, PYTHON_VALIDITY_DATA_DIR)                                                                                       
>>>     ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^                                                                                       
>>>   File "/usr/lib64/python3.13/shutil.py", line 428, in copy                                                                             
>>>     copyfile(src, dst, follow_symlinks=follow_symlinks)                                                                                 
>>>     ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^                                                                                 
>>>   File "/usr/lib64/python3.13/shutil.py", line 288, in copyfile                                                                         
>>>     raise FileNotFoundError(f'Directory does not exist: {dst}') from e                                                                  
>>> FileNotFoundError: Directory does not exist: /var/run/python-validity/                                                                  
>>>                                                                                                                                         
[11/11] Installing fprintd-clients-pam-1:1.94.2-3.fc42.x86_64                                       100% |  30.8 KiB/s |  35.7 KiB |  00m01s
Complete!

I have encountered exactly the same error on Fedora 42 KDE. Creating the folder manually did not resolve the issue. I am using a ThinkPad x270 with 138a:0097 Validity Sensors, Inc..