-
Notifications
You must be signed in to change notification settings - Fork 203
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fingerprint support #283
base: master
Are you sure you want to change the base?
Fingerprint support #283
Conversation
CI (builds.sr.ht) compiles wrong version. It seems it compiles only master, not selected commit. Is it okay? |
Hm, do we really all of this complexity? I'd rather not do any of the D-Bus stuff. Can't users leverage a PAM module which integrates with the fingerprint reader instead? |
Yes, we want to check password and fingerprint in parallel. With Pam closest solution is check fingerprint after empty password was entered. With this MR we can touch fingerprint scanner while PC is asleep, it will wake up over USB and immediately unlock without necessety to press any button. |
I am not sure I want to maintain this upstream. |
Okay, I'll maintain it as a fork |
I was curious about the fork, @SL-RU : does it need to be tightly integrated with the code of swaylock? Or can it be a separate stand-alone program that interfaces just with the new wlroots lock protocol, and run in parallel with swaylock? |
Really sad to hear that, the new implementation is really awesome for daily users. Would it be an option to make @SL-RU a maintainer so that it's included but mostly maintained by him if he is even ok with maintaining a fork? Deleted my last comment after that as it was an system-issue not related to the code/fork. |
If this works like a plugin it would be great. I already use https://github.com/mortie/swaylock-effects. |
@lack @paulodiovani currently code is tightly integrated with swaylock, but mainly just for indication. It can be separated into separate service. What is new wlroots lock protocol? How swaylock uses it and how fprintd service will interact with it? |
ext-session-lock-v1, already implemented in swaylock and only affects how lock screens open a lock surface. |
I guess what I was thinking of may not even need any knowledge of the lock protocol; but instead of implementing the fingerprint integrated into swaylock it could be an external program that:
Then:
The only thing lost in this approach is a way to have user feedback in swaylock itself if the fingerprint read was attempted and failed... |
The PAM fingerprint module (from libfprint) relies on libfprintd which depends on polkit which requires systemd. So it's not portable and won't work on many configurations. That said, this implementation relies on I do think that the approach mentioned by @lack makes a lot of sense. I wonder if we could use SIGUSR2 to signal to the user "failed attempt" for out-of-band unlock attempts. |
Hey, I tried to implement this - it generally works but I sometimes get random crashes (after more than one SIGUSR2 signals) and tried to debug it with the Current Status: https://github.com/SebTM/swaylock/tree/feature/sigusr2
Log from a crash:
Maybe someone can have a look as my C skills are very elementary... |
I've added fingerprint support via fprintd daemon which has DBus communication and because of that build dependencies was added(
dbus
,gio
,fprintd
and etc), but they are not required for execution. To run swaylock with fprintd you need to start fprintd and then swaylock with argument-p
or--fingerprint
Can you make a review and say is merge possible?
Package with fingerprint support on AUR: https://aur.archlinux.org/packages/swaylock-fprintd-git
This relates to #61