Fingerprint scanner: Difference between revisions

fprintd-enroll doesn't need to (and shouldn't) be run as root
Frontear (talk | contribs)
don't encourage enabling fprintd service at boot, this goes against upstream wishes and can lead to possible hardware damage, as many fingerprint scanners are not intended to remain "active" for a long time. it is more appropriate for the service to activate via dbus when it is needed, to greatly reduce this risk.
 
Line 3: Line 3:
== Install ==
== Install ==
<syntaxhighlight lang="nixos">
<syntaxhighlight lang="nixos">
# Start the driver at boot
# configuration.nix
systemd.services.fprintd = {
{ config, lib, pkgs, ... }: {
   wantedBy = [ "multi-user.target" ];
   # ...
  serviceConfig.Type = "simple";
};


# Install the driver
  # Install the driver
services.fprintd.enable = true;
  services.fprintd.enable = true;
# If simply enabling fprintd is not enough, try enabling fprintd.tod...
  # If simply enabling fprintd is not enough, try enabling fprintd.tod...
services.fprintd.tod.enable = true;
  services.fprintd.tod.enable = true;
# ...and use one of the next four drivers
  # ...and use one of the next four drivers
services.fprintd.tod.driver = pkgs.libfprint-2-tod1-goodix; # Goodix driver module
  services.fprintd.tod.driver = pkgs.libfprint-2-tod1-goodix; # Goodix driver module
# services.fprintd.tod.driver = pkgs.libfprint-2-tod1-elan; # Elan(04f3:0c4b) driver
  # services.fprintd.tod.driver = pkgs.libfprint-2-tod1-elan; # Elan(04f3:0c4b) driver
# services.fprintd.tod.driver = pkgs.libfprint-2-tod1-vfs0090; # (Marked as broken as of 2025/04/23!) driver for 2016 ThinkPads
  # services.fprintd.tod.driver = pkgs.libfprint-2-tod1-vfs0090; # (Marked as broken as of 2025/04/23!) driver for 2016 ThinkPads
# services.fprintd.tod.driver = pkgs.libfprint-2-tod1-goodix-550a; # Goodix 550a driver (from Lenovo)
  # services.fprintd.tod.driver = pkgs.libfprint-2-tod1-goodix-550a; # Goodix 550a driver (from Lenovo)


# however for focaltech 2808:a658, use fprintd with overidden package (without tod)
  # however for focaltech 2808:a658, use fprintd with overidden package (without tod)
# services.fprintd.package = pkgs.fprintd.override {
  # services.fprintd.package = pkgs.fprintd.override {
#  libfprint = pkgs.libfprint-focaltech-2808-a658;
  #  libfprint = pkgs.libfprint-focaltech-2808-a658;
# };
  # };
}
</syntaxhighlight>
</syntaxhighlight>