Bug 455380

Summary: With n screens, Lock screen requires n fingerprint scans/yubikey swipes to unlock after activating a screen that's different from the one the cursor began on
Product: [Plasma] kscreenlocker Reporter: timeygaming69
Component: generalAssignee: Plasma Bugs List <plasma-bugs>
Status: CONFIRMED ---    
Severity: normal CC: b.terrier, bartos.petr, bhush94, grumpy.devoloper, kde, nate, pahan, postix, subscriptions, uwu, vetruvet, zcy
Priority: NOR Keywords: multiscreen, regression
Version: 5.25.0   
Target Milestone: ---   
Platform: openSUSE   
OS: Linux   
See Also: https://bugs.kde.org/show_bug.cgi?id=409226
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description timeygaming69 2022-06-16 06:00:13 UTC
STEPS TO REPRODUCE
1. Set up fingerprint scanning
2. Login into user, then lock screen
3. Login using fingerprint

OBSERVED RESULT
Lock screen moves to a screen with "Unlock" button. Clicking on the button requires user to scan fingerprint again to see desktop.

EXPECTED RESULT
Lock screen should directly show desktop on successful authentication

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: openSUSE Tumbleweed 20220613
(available in About System)
KDE Plasma Version: 5.25.0
KDE Frameworks Version: 5.94.0
Qt Version: 5.15.2

ADDITIONAL INFORMATION
- Hardware: ThinkPad T14 G1 AMD
- Fingerprint setup was configured using this forum post: https://forums.opensuse.org/showthread.php/506187-Fingerprint-Reader-and-openSUSE-13-2-SOLVED
- Was working fine before 5.25 update.
Comment 1 Nate Graham 2022-06-16 19:12:34 UTC

*** This bug has been marked as a duplicate of bug 454706 ***
Comment 2 Nate Graham 2022-08-01 15:57:34 UTC
*** Bug 455723 has been marked as a duplicate of this bug. ***
Comment 3 Nate Graham 2022-08-08 14:10:01 UTC
Are you using a multi-screen setup? If so, does the issue go away if you have only one screen?
Comment 4 Daniil 2022-08-08 17:52:26 UTC
(In reply to Nate Graham from comment #3)
> Are you using a multi-screen setup? If so, does the issue go away if you
> have only one screen?

Yes I use multi-screen setup, and if I connect to more than one display, even when they are mirrored, I need to input it same amount of times as the amount of screens connected. When using one monitor, I need to input it once.
Comment 5 Nate Graham 2022-08-08 18:00:37 UTC
Thanks.

Strange that I cannot reproduce the issue.
Comment 6 Val Trubachev 2022-11-02 02:47:14 UTC
I have this issue too. When docked with two external monitors, I have to consistently scan my fingerprint 3 times (first on lock screen, second on the "unlock button screen", third time is on a black screen). When not docked, a single scan (on regular lock screen) takes me to the "unlock button screen" and then unlocks. 

Hardware: Thinkpad T14s G3 AMD
Distro: Kubuntu with Neon repo (don't judge! :) )
Plasma version: 5.26.2
Frameworks version: 5.99.0
Qt version: 5.15.6
Fingerprint PAM configured with pam-auth-update, fingerprints enrolled through system settings GUI.

Happy to help with logs or any other diagnostic info needed!
Comment 7 Nate Graham 2022-11-04 20:30:35 UTC
Presumably this is due to the fact that each screen gets its own kscreenlocker_greet instance, which means it would be fixed automatically by abandoning that architecture and implementing Bug 409226.
Comment 8 Petr Bartos 2022-12-01 13:38:35 UTC
Hi, today i've installed 5.26.4 (on Fedora 36), and the problem is gone. Only single scan is now needed to unlock with multiple monitors. Also gone is that "unlock button" screen, so now it completely unlocks after single fingerprint scan without any additional steps needed.

There is one exception. After revealing password input on first monitor, when you move mouse to another monitor, resulting in password input being revealed on multiple monitors at once, you need to scan fingerpring multiple times (one scan for each revealed password input).
Comment 9 Nate Graham 2022-12-01 20:22:56 UTC
Oh good, I was hoping that a recent change would fix this.

That other issue you describe is separate; if it's 100% reproducible for you, can you file a new fug report to track it? Thanks!
Comment 10 Tony Murray 2023-01-11 09:10:30 UTC
I am using KDE Plasma 5.26.5 with dual monitors, and the problem is still present - enter fingerprint twice to unlock.
Comment 11 Tony Murray 2023-01-11 10:43:53 UTC
Update after further research:

In the pam.d configuration file, I changed the line:
auth    sufficient      pam_u2f.so
to:
auth    sufficient      pam_u2f.so cue 

And the fingerprint reader now works as expected (enter once, and no need to click enter).

You can also add the following for a prompt:
auth    sufficient      pam_u2f.so cue [cue_prompt=Please enter your fingerprint.]
Ref from vendor: https://authentrend.com/secure-a-ubuntu-linux-login-using-u2f-with-atkeys/

The line was added to the file /etc/pam.d/other (which I use only for the lock screen, on KDE Neon)

If anyone knows why adding 'cue' here works, or knows a good user-friendly up-to-date guide to pam.d configuration, please provide a link!
Comment 12 Nate Graham 2023-06-21 10:57:52 UTC
This is still wo(In reply to Petr Bartos from comment #8)
> Hi, today i've installed 5.26.4 (on Fedora 36), and the problem is gone.
> Only single scan is now needed to unlock with multiple monitors. Also gone
> is that "unlock button" screen, so now it completely unlocks after single
> fingerprint scan without any additional steps needed.
> 
> There is one exception. After revealing password input on first monitor,
> when you move mouse to another monitor, resulting in password input being
> revealed on multiple monitors at once, you need to scan fingerpring multiple
> times (one scan for each revealed password input).

Aha! This I can reproduce:

Steps:
1. Have two screens
2. Hit Meta+L to lock
3. Move cursor to reveal password/fingerprint prompt on one screen
4. Move cursor to *other* screen
5. Scan fingerprint on reader -> black screen
6. Scan fingerprint again


Interestingly, I can only reproduce the bug when locking the screen with Meta+L. I cannot reproduce the issue when I launch kscreenlocker_greet from its binary, either in real mode or testing mode
Comment 13 Nate Graham 2023-09-07 20:35:54 UTC
*** Bug 472696 has been marked as a duplicate of this bug. ***
Comment 14 Nate Graham 2023-09-14 21:10:12 UTC
*** Bug 471455 has been marked as a duplicate of this bug. ***