Zorin is running well in my laptop (after manually installing WiFi and Bluetooth drivers from GitHub). It has fingerprint reader also but I do not see it in Users login settings (Fingerprint Login - Zorin Help).
I even added lines in some files /etc/pam.d/ path like session sufficient pam_fprintd.so, auth sufficient pam_fprintd.so but I still don't see any option (after reboots).
lsusb prints this:
gmk@pavilion:~$ lsusb
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 002: ID 04f3:0c00 Elan Microelectronics Corp. ELAN:ARM-M4
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 0bda:b85c Realtek Semiconductor Corp. Bluetooth Radio
Bus 001 Device 002: ID 0408:5477 Quanta Computer, Inc. HP Wide Vision HD Camera
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
I didn't find anything related to fingerprint reader. Is it ELAN?
Can someone please help me with this?
Hi gmk27, do you know which make and model your fingerprint is?
And have you looked at the manufacturer’s website?
I quickly searched your laptop model and it seems to ship with Windows by default.
My experience is that few fingerprint sensors work with Linux because there are no drivers available, and fewer still have open source drivers or proprietary ones that are packaged with distributions by default.
I have even seen manufacturers that ship laptop with Linux and have a physical fingerprint sensor not support the sensor on Linux and not even mentioning it in the specifications of Linux version of the model. And I personally I own a Dell and use a company provided HP laptop that are equipped with a fingerprint sensor but neither work.
Perhaps someone else has experience with your particular model and can be of more help, but for now I would suggest you try to find out if your fingerprint sensor has drivers for Linux available at all. If you do find them and you have trouble installing them in Zorin OS, I’m sure someone here could help you out.
The hope evaporated. It didn't work as expected. The process just slowed down the login page load drastically. I promptly removed everything to bring it back to normal.
This HP model is simply
First I had to install WiFi and BT drivers manually. Now this.
Yep from below image you could see driver is not available in kernel versions up to 6.3 and beyond that I don't have hope too.
BTW, where can I check online for kernels and supported hardware list in simple way?
Other than the side I linked above, there is no real simple way given the sheer volume of information (manufacturers, products and software) that would need to be applied to it.
I found this link which seems to work for many with same hardware.
I tried but I got meson build errors. I have attached some of the log. Can anyone help me understand the error?
Build started at 2023-06-07T09:33:23.155495
Main binary: /usr/bin/python3
Build Options:
Python system: Linux
The Meson build system
Version: 0.53.2
Source dir: /home/gmk/libfprint
Build dir: /home/gmk/libfprint/builddir
Build type: native build
Project name: libfprint
Project version: 1.94.5
No CFLAGS in the environment, not changing global flags.
No LDFLAGS in the environment, not changing global flags.
No CPPFLAGS in the environment, not changing global flags.
Sanity testing C compiler: cc
Is cross compiler: False.
Sanity check compiler command line: cc /home/gmk/libfprint/builddir/meson-private/sanitycheckc.c -o /home/gmk/libfprint/builddir/meson-private/sanitycheckc.exe -pipe -D_FILE_OFFSET_BITS=64
Sanity check compile stdout:
-----
Sanity check compile stderr:
-----
Running test binary command: /home/gmk/libfprint/builddir/meson-private/sanitycheckc.exe
C compiler for the build machine: cc (gcc 9.4.0 "cc (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0")
C linker for the build machine: cc ld.bfd 2.34
No CXXFLAGS in the environment, not changing global flags.
No LDFLAGS in the environment, not changing global flags.
No CPPFLAGS in the environment, not changing global flags.
Sanity testing C++ compiler: c++
Is cross compiler: False.
Sanity check compiler command line: c++ /home/gmk/libfprint/builddir/meson-private/sanitycheckcpp.cc -o /home/gmk/libfprint/builddir/meson-private/sanitycheckcpp.exe -pipe -D_FILE_OFFSET_BITS=64
Sanity check compile stdout:
-----
Sanity check compile stderr:
-----
Running test binary command: /home/gmk/libfprint/builddir/meson-private/sanitycheckcpp.exe
C++ compiler for the build machine: c++ (gcc 9.4.0 "c++ (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0")
C++ linker for the build machine: c++ ld.bfd 2.34
No CFLAGS in the environment, not changing global flags.
No LDFLAGS in the environment, not changing global flags.
No CPPFLAGS in the environment, not changing global flags.
Sanity testing C compiler: cc
Is cross compiler: False.
Sanity check compiler command line: cc /home/gmk/libfprint/builddir/meson-private/sanitycheckc.c -o /home/gmk/libfprint/builddir/meson-private/sanitycheckc.exe -pipe -D_FILE_OFFSET_BITS=64
Sanity check compile stdout:
-----
Sanity check compile stderr:
-----
Running test binary command: /home/gmk/libfprint/builddir/meson-private/sanitycheckc.exe
C compiler for the host machine: cc (gcc 9.4.0 "cc (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0")
C linker for the host machine: cc ld.bfd 2.34
No CXXFLAGS in the environment, not changing global flags.
No LDFLAGS in the environment, not changing global flags.
No CPPFLAGS in the environment, not changing global flags.
Sanity testing C++ compiler: c++
Is cross compiler: False.
Sanity check compiler command line: c++ /home/gmk/libfprint/builddir/meson-private/sanitycheckcpp.cc -o /home/gmk/libfprint/builddir/meson-private/sanitycheckcpp.exe -pipe -D_FILE_OFFSET_BITS=64
Sanity check compile stdout:
-----
Sanity check compile stderr:
-----
Running test binary command: /home/gmk/libfprint/builddir/meson-private/sanitycheckcpp.exe
C++ compiler for the host machine: c++ (gcc 9.4.0 "c++ (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0")
C++ linker for the host machine: c++ ld.bfd 2.34
Build machine cpu family: x86_64
Build machine cpu: x86_64
Host machine cpu family: x86_64
Host machine cpu: x86_64
Target machine cpu family: x86_64
Target machine cpu: x86_64
Running compile:
Working directory: /home/gmk/libfprint/builddir/meson-private/tmpwq4lvv1g
Command line: cc /home/gmk/libfprint/builddir/meson-private/tmpwq4lvv1g/testfile.c -o /home/gmk/libfprint/builddir/meson-private/tmpwq4lvv1g/output.obj -pipe -c -D_FILE_OFFSET_BITS=64 -O0 -Wall
Code:
int i;
Compiler stdout:
Compiler stderr:
Compiler for C supports arguments -Wall: YES
Running compile:
Working directory: /home/gmk/libfprint/builddir/meson-private/tmp27eqtem2
Command line: cc /home/gmk/libfprint/builddir/meson-private/tmp27eqtem2/testfile.c -o /home/gmk/libfprint/builddir/meson-private/tmp27eqtem2/output.obj -pipe -c -D_FILE_OFFSET_BITS=64 -O0 -Wcast-align
Code:
int i;
PKG_CONFIG_PATH:
Called `/usr/bin/pkg-config --print-variables nss` -> 0
exec_prefix
includedir
libdir
pcfiledir
prefix
Got pkgconfig variable girdir :
PKG_CONFIG_PATH:
Called `/usr/bin/pkg-config --variable=girdir gudev-1.0` -> 0
PKG_CONFIG_PATH:
Called `/usr/bin/pkg-config --print-variables gudev-1.0` -> 0
exec_prefix
includedir
libdir
pcfiledir
prefix
Got pkgconfig variable girdir :
PKG_CONFIG_PATH:
Running compile:
Working directory: /home/gmk/libfprint/builddir/meson-private/tmpbayii9lr
Command line: cc /home/gmk/libfprint/builddir/meson-private/tmpbayii9lr/testfile.c -o /home/gmk/libfprint/builddir/meson-private/tmpbayii9lr/output.obj -pipe -c -D_FILE_OFFSET_BITS=64 -O0 --print-search-dirs
Code:
Compiler stdout:
install: /usr/lib/gcc/x86_64-linux-gnu/9/
programs: =/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/bin/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/bin/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/bin/
libraries: =/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/9/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/9/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/
Compiler stderr:
Configuring config.h using configuration
Configuring gtkdocentities.ent using configuration
Dependency glib-2.0 found: YES 2.64.6 (cached)
PKG_CONFIG_PATH:
Called `/usr/bin/pkg-config --variable=prefix glib-2.0` -> 0
/usr
Got pkgconfig variable prefix : /usr
Got pkgconfig variable girdir :
Configuring create-driver-test.py using configuration
Program python3 found: YES (/usr/bin/python3)
Program unittest_inspector.py found: YES (/home/gmk/libfprint/tests/unittest_inspector.py)
Program umockdev-test.py found: YES (/home/gmk/libfprint/tests/umockdev-test.py)
Program sh found: YES (/usr/bin/sh)
Adding test "virtual-image"
Program sh found: YES (/usr/bin/sh)
Adding test "virtual-device"
tests/meson.build:112:12: ERROR: Unknown method "full_path" in object.
I have actually run into this before due to Meson's configuration language not being Turing-complete. Previously for me, this related to auto-diagnostic tools. The dev has valid reasons for fearing to commit to python, but it is also frustrating for users when the dev uses methods or functions that rely on the Latest instead of the Stable as a dependency.
You can view here for a guide on installing a later version of Meson:
Checking the literature, you most likely currently have Meson 0.53.2 installed.
when I type: meson --version
I got: 1.1.1
That's probably >0.54
Another way: pip3 install meson
I got: Requirement already satisfied: meson in /home/gmk/.local/lib/python3.8/site-packages (1.1.1)
[or] is my command wrong?
To my surprise, the build is successful in another laptop (it has no fingerprint reader). It is a Dell G15 with Intel i5 gen 11 running Ubuntu 20.04.
I need to check what's wrong with my HP laptop.
I hope this is not because of AMD processor in my HP.
You were right. In my personal laptop I have an outdated meson. I upgraded meson and compilation was successful.
I installed it but unfortunately it doesn't work. I don't know what's wrong. For some people it's working and for some it's not working. I'm in that latter category . I can see fingerprint option in Settings/Users but while enrolling it says failed to communicate with device. It's not working with fprintd-enroll command also.
Any leads?
Strangely it couldn't enroll my right index finger but my middle finger worked. May be it deserved my middle finger after all the sweat. Or maybe my index finger has lost its blueprint.
For future reference,
I made fingerprint work for both login screen and sudo commands on terminal but not sure of any particular order how I did that. Hence just mentioning what all I did but not in any particular order. Some of these might have effect.
SOURCE: fprint - ArchWiki - this page helped me a lot
I ran following command to add username to group input: sudo adduser $USER input
Then rebooted.
Also added the following line in gdm-autologin, related to login in the /etc/pam.d/: auth sufficient pam_fprintd.so in the first line.
Then we can enroll via Settings/Users/Fingerprint Login or by command fprintd-enroll
Of course, don't you forget to restart fprintd service after making all the changes
Special note: Keyring will not unlock by fingerprint yet, you need to type in password for accessing apps that depends on Keyring.
Fingerprint login is not working again. I don't know what happened but I did a lot of customisation, then removed everything as it slowed down zorin a bit. Ubuntu budgie desktop environment was installed without my knowledge or ignorance. I didn't even like budgie desktop and don't remember installing it in the first place.
Now fingerprint reader is automatically and quickly reading without even me placing finger on it for 3 times and then prompting for password. LoL .
Linux is like touch something and screw something else.