Skip to content

Instantly share code, notes, and snippets.

@leon-anavi
Last active October 2, 2026 08:42
Show Gist options
  • Select an option

  • Save leon-anavi/e19d77eafe1dc1800f170255b23a5839 to your computer and use it in GitHub Desktop.

Select an option

Save leon-anavi/e19d77eafe1dc1800f170255b23a5839 to your computer and use it in GitHub Desktop.
Chipsailing CS9711Fingprint on Ubuntu 24.04 LTS

Use Chipsailing CS9711Fingprint on Ubuntu 24.04 LTS

  • Update the package index:
sudo apt update
  • Install fingerprint management daemon:
sudo apt install fprintd libpam-fprintd
  • Install dependencies:
sudo apt install \
  git build-essential \
  meson ninja-build \
  gobject-introspection \
  libnss3-dev \
  libgudev-1.0-dev \
  gtk-doc-tools \
  libgusb-dev \
  libpixman-1-dev \
  libopencv-dev \
  doctest-dev \
  systemd-dev
  • Download the fork of libfprint for CS9711:
git clone https://github.com/archeYR/libfprint-CS9711.git
cd libfprint-CS9711
  • Build the fork of libfprint for CS9711:
meson setup build
ninja -C build

NOTE: Troubleshooting doctest:

Run-time dependency doctest found: NO (tried pkgconfig)

libfprint/sigfm/meson.build:5:10: ERROR: Dependency "doctest" not found, tried pkgconfig

Fix:

sudo mkdir -p /usr/share/pkgconfig
cat <<EOF | sudo tee /usr/share/pkgconfig/doctest.pc
prefix=/usr
includedir=\${prefix}/include

Name: doctest
Description: Header-only C++ test framework
Version: 2.4.11
Cflags: -I\${includedir}/doctest
EOF
export PKG_CONFIG_PATH=/usr/share/pkgconfig:$PKG_CONFIG_PATH
  • Install the fork of libfprint for CS9711:
sudo ninja -C build install
  • Update Library Cache
sudo ldconfig
  • Restart fprintd systemd service:
systemctl restart fprintd.service
  • Test:
fprintd-enroll

At this point, you will be prompted to enter your password. If everything was set up correctly, the fingerprint enrollment process will begin. However, if something went wrong you will see an error like:

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

Now you can proceed and configure finger print login in Ubuntu from the GUI app: Settings > System > Users > Fingerprint Login

@kunalvaidya

Copy link
Copy Markdown

On ubuntu 25:04, Mason command failed with the error ERROR: Dependency "udev" not found, tried pkgconfig and cmake
It turns out that udev has been moved to systemd-dev, so the following also needed to be installed

sudo apt install systemd-dev

@maxadamo

Copy link
Copy Markdown

@leon-anavi same as above: the systemd-dev package is required

@ddlsmurf

Copy link
Copy Markdown

hello, I can't maintain that repository anymore and it has at least one known segfault bug, would you mind pointing to this one instead please: https://github.com/archeYR/libfprint-CS9711.git

@leon-anavi

Copy link
Copy Markdown
Author

hello, I can't maintain that repository anymore and it has at least one known segfault bug, would you mind pointing to this one instead please: https://github.com/archeYR/libfprint-CS9711.git

Thank you for all your great work and efforts. As you recommended, I have changed the git clone command to https://github.com/archeYR/libfprint-CS9711.git

@leon-anavi same as above: the systemd-dev package is required

Thank you. I added systemd-dev to the list of dependencies.

@ddlsmurf

Copy link
Copy Markdown

thanks, sorry the install is a mess

@abecrabt

abecrabt commented Oct 1, 2026

Copy link
Copy Markdown

Hello - on Ubuntu 26.04.1 (newly upgraded) I am getting build errors. Looking in meson-log.txt, I can see:
Determining dependency 'cairo' with pkg-config executable '/usr/bin/pkg-config'
env[PKG_CONFIG_PATH]:
env[PKG_CONFIG]: /usr/bin/pkg-config

Called: /usr/bin/pkg-config --modversion cairo -> 1
stderr:
Package cairo was not found in the pkg-config search path.
Perhaps you should add the directory containing `cairo.pc'

I see no cairo.pc anywhere,and:
sudo apt install python3-cairo
python3-cairo is already the newest version (1.27.0-2build2).

I think that means I have it. But I'm not sure.

The other error is:
Called: /usr/bin/pkg-config --modversion openssl -> 1
stderr:
Package openssl was not found in the pkg-config search path.
Perhaps you should add the directory containing `openssl.pc'
to the PKG_CONFIG_PATH environment variable
Package 'openssl' not found

Running compile:
Working directory: /home/abe/Downloads/libfprint-CS9711/build/meson-private/tmpz7t3qvjs
Code:
#ifdef __has_include
#if !__has_include("openssl/ssl.h")
#error "Header 'openssl/ssl.h' could not be found"
#endif
#else
#include <openssl/ssl.h>
#endif

I can see that that is in /usr/include/nss on my Ubuntu 26 install. I could try some edits but I don't understand the cairo problem and I don't know meson at all! :-(

Is there anything you can do? Thank you so much for your excellent work; I'd been doing fingerprint recognition on ubuntu 24. I hope it just needs a change or two to come back to life, but I don't think I'm competent to work out what the changes are!

Regards, Abe

@abecrabt

abecrabt commented Oct 2, 2026

Copy link
Copy Markdown

I've had another try and managed to answer my own question:
sudo apt install libssl-dev
sudo apt install libcairo2-dev

I also got an error message on meson after that for "valgrind", so:
sudo apt install valgrind

After that Leon's instructions all work perfectly again. So if you get problems with these after a Ubuntu 26 upgrade, I hope the steps above will solve them.

Thanks as ever to the excellent Leon for getting this fingerprint detector to work. One thing with my chipsailing usb is that I've found it works much better if you don't try to get it to map all parts of your finger, rather you just repeatedly remove and reapply the same bit of the finger the 14 or so (I forget how many) times that the original storage step requires. Then ofc you have to use that bit of your finger to unlock and sudo and so on, but it works better, quicker, and fails less often.

Regards, Abe

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