Bug 433563 - SDDM & Lock screen themes: Password field input not synced across screens
Summary: SDDM & Lock screen themes: Password field input not synced across screens
Status: RESOLVED FIXED
Alias: None
Product: plasmashell
Classification: Plasma
Component: Theme - Breeze (show other bugs)
Version: 5.21.0
Platform: Other Linux
: HI normal
Target Milestone: 1.0
Assignee: visual-design
URL:
Keywords: multiscreen, usability
: 481027 484125 484205 488525 491655 492502 492713 492968 494276 496150 498724 499124 501520 (view as bug list)
Depends on:
Blocks:
 
Reported: 2021-02-24 23:40 UTC by Dan Dascalescu
Modified: 2025-03-29 12:16 UTC (History)
28 users (show)

See Also:
Latest Commit:
Version Fixed In: 6.4.0
Sentry Crash Report:


Attachments
Here is what the login looks like on my screen setup (729.72 KB, image/jpeg)
2022-10-21 11:18 UTC, stephan.leineweber
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Dan Dascalescu 2021-02-24 23:40:43 UTC
SUMMARY
My laptop is connected to an external monitor, which is designated as the primary screen. The login prompt appears on both screens (which seem to be mirrored), but the input that has focus is on the laptop screen, which is secondary.

Would it be possible to know the primary screen at that stage, or is that information available only after login?

PS: apologies if this is the wrong component. The description also says "Don't use this for reporting bugs about locking the screen or logging out.", but it would be more helpful if it said where to file.
Comment 1 stephan.leineweber 2022-10-21 11:06:35 UTC
yes, I also have a similar problem. My secondary monitor is rotated and the login screen is therefore not really usable on it. I think the login should happen at the primary monitor (if thats possible) or at least what Dan Dascalescu wrote that it gets mirrored on both screen. I hate to say it but Windows does that pretty nicely, where the login screen only appears on the primary screen...
Comment 2 stephan.leineweber 2022-10-21 11:18:43 UTC
Created attachment 153079 [details]
Here is what the login looks like on my screen setup

with the primary screen being the big screen on the right
Comment 3 Nate Graham 2023-04-10 22:15:26 UTC
*** This bug has been marked as a duplicate of bug 390503 ***
Comment 4 duha.bugs 2024-02-08 14:37:51 UTC
*** Bug 481027 has been marked as a duplicate of this bug. ***
Comment 5 fanzhuyifan 2024-02-08 15:39:34 UTC
This should be implemented here: https://invent.kde.org/plasma/kscreenlocker/-/blob/master/greeter/greeterapp.cpp?ref_type=heads#L651
But it seems to have been broken for quite a while.
Comment 6 fanzhuyifan 2024-03-21 17:02:00 UTC
*** Bug 484125 has been marked as a duplicate of this bug. ***
Comment 7 Nate Graham 2024-04-12 20:29:49 UTC
*** Bug 484205 has been marked as a duplicate of this bug. ***
Comment 8 Nate Graham 2024-06-17 17:34:11 UTC
*** Bug 488525 has been marked as a duplicate of this bug. ***
Comment 9 Nate Graham 2024-08-13 17:00:35 UTC
*** Bug 491655 has been marked as a duplicate of this bug. ***
Comment 10 Nate Graham 2024-09-01 22:08:53 UTC
*** Bug 492502 has been marked as a duplicate of this bug. ***
Comment 11 Dennis Schridde 2024-09-02 07:37:51 UTC
Copied from bug #492502:

SUMMARY

It would be nice if there was (at least) an option to mirror the password field on the screen saver / screen lock across all screens, such that when I type it in, it will be shown on all screens.

This would solve my problem where with multiple screens, when waking up the screens, the first time I enter the password unlocking will fail.

STEPS TO REPRODUCE

1. Allow screen to go to sleep
2. Shake mouse
3. Wait until first screen wakes up and presents the password prompt
4. Start typing the password
5. The 2nd screen will be turned on a second (or so) later
6. Now the 2nd half of the password will be entered on the 2nd screen's password prompt input field
7. When you press enter to unlock the computer, the password will be rejected (part of it was entered into one input field and part of it into the other)

OBSERVED RESULT

Unlock gets rejected.

EXPECTED RESULT

Password gets input into the password field on all screens and unlock succeeds.

SOFTWARE/OS VERSIONS

Operating System: NixOS 24.05
KDE Plasma Version: 6.0.5
KDE Frameworks Version: 6.2.0
Qt Version: 6.7.2
Kernel Version: 6.10.6 (64-bit)
Graphics Platform: Wayland
Processors: 16 × AMD Ryzen 9 6900HS with Radeon Graphics
Memory: 30,6 GiB of RAM
Graphics Processor: AMD Radeon Graphics

ADDITIONAL INFORMATION

This is related to following existing reports:
* bug #409226 (this is an alternative way to solve the problem: instead of entering the password on all screens, show the prompt only on one of them)
* bug #488516 (this suggests that there might be 2 problem involved: the password being split, but also the first characters being missing)
Comment 12 Nate Graham 2024-09-07 07:51:39 UTC
*** Bug 492713 has been marked as a duplicate of this bug. ***
Comment 13 Nate Graham 2024-09-19 20:43:18 UTC
*** Bug 492968 has been marked as a duplicate of this bug. ***
Comment 14 Nate Graham 2024-11-13 18:18:16 UTC
*** Bug 496150 has been marked as a duplicate of this bug. ***
Comment 15 Nate Graham 2024-11-13 19:36:13 UTC
*** Bug 494276 has been marked as a duplicate of this bug. ***
Comment 16 Ulf Bartholomäus 2025-01-09 21:38:08 UTC
Still unchanged at today Plasma version:

Operating System: openSUSE Tumbleweed 20250106
KDE Plasma Version: 6.2.5
KDE Frameworks Version: 6.9.0
Qt Version: 6.8.1
Kernel Version: 6.12.8-1-default (64-bit)
Graphics Platform: Wayland
Processors: 8 × AMD Ryzen 7 4700U with Radeon Graphics
Memory: 30.8 GiB of RAM
Graphics Processor: AMD Radeon Graphics
Manufacturer: ASUSTeK COMPUTER INC.
Product Name: MINIPC PN50
System Version: 0626

hwinfo --monitor (tailered)
46: None 00.0: 10002 LCD Monitor
  [Created at monitor.125]
  Model: "ASUS MB16AMT"
  Device: eisa 0x1661 "ASUS MB16AMT"
  Resolution: 1920x1080@60Hz
  Detailed Timings #0:
     Resolution: 1920x1080
47: None 01.0: 10002 LCD Monitor
  Model: "EIZO EV3285"
  Device: eisa 0x2971 "EV3285"
  Resolution: 3840x2160@60Hz
  Detailed Timings #0:
     Resolution: 3840x2160

If I start the system (Suspend or as well only from screensaver or display off), the main 4k Eizo Display connected via DP will start emiditaly and the login dialog is visible, if I start typing, the 2nd ASUS 1080 Sreen connected via USB DP start and the focus jumps the dialog switcht to this login dialog so that the first part of the password is on the first and the 2nd part on the 2nd dialog. For sure login fails.
Comment 17 Bug Janitor Service 2025-01-10 19:37:22 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/kscreenlocker/-/merge_requests/251
Comment 18 Bug Janitor Service 2025-01-10 19:40:50 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-desktop/-/merge_requests/2709
Comment 19 Nate Graham 2025-01-27 21:59:50 UTC
*** Bug 498724 has been marked as a duplicate of this bug. ***
Comment 20 Nate Graham 2025-01-27 22:00:20 UTC
*** Bug 499124 has been marked as a duplicate of this bug. ***
Comment 21 Nate Graham 2025-03-17 19:07:34 UTC
*** Bug 501520 has been marked as a duplicate of this bug. ***
Comment 22 fanzhuyifan 2025-03-25 16:30:56 UTC
Git commit c2d83388c2447004aed81c81a95e28108789a28f by Yifan Zhu.
Committed on 25/03/2025 at 16:03.
Pushed by fanzhuyifan into branch 'master'.

lockscreen: sync password across different screens

Test plan:

- lock screen in multiscreen setup
- type on one password box, verify password is synced to other screen
- make deletions and insertions in other screen, and verify changes are
  synced back

M  +7    -0    desktoppackage/contents/lockscreen/MainBlock.qml
A  +13   -0    desktoppackage/contents/lockscreen/PasswordSync.qml     [License: GPL(v2.0+)]
A  +4    -0    desktoppackage/contents/lockscreen/qmldir

https://invent.kde.org/plasma/plasma-desktop/-/commit/c2d83388c2447004aed81c81a95e28108789a28f
Comment 23 fanzhuyifan 2025-03-25 18:23:01 UTC
Git commit 99702e2def21cba69439a754690d6a47251816df by Yifan Zhu.
Committed on 25/03/2025 at 16:03.
Pushed by fanzhuyifan into branch 'master'.

greeter: sync password across screens

Create PasswordSync Singleton to explicitly sync password on different
screens.

Test plan:
- use multiscreen setup
- break lock screen theme, lock screen and verify fallback theme is used
- type on one password box, verify password is synced to other screen
- make deletions and insertions in other screen, and verify changes are
  synced back

M  +2    -0    greeter/fallbacktheme.qrc
M  +11   -1    greeter/fallbacktheme/Greeter.qml
A  +13   -0    greeter/fallbacktheme/PasswordSync.qml     [License: GPL(v2.0+)]
A  +4    -0    greeter/fallbacktheme/qmldir

https://invent.kde.org/plasma/kscreenlocker/-/commit/99702e2def21cba69439a754690d6a47251816df
Comment 24 fanzhuyifan 2025-03-25 18:23:09 UTC
Git commit 1d175e50b05d0873c0f94031c1e196b2be195bb3 by Yifan Zhu.
Committed on 25/03/2025 at 16:03.
Pushed by fanzhuyifan into branch 'master'.

greeter: remove obselete shareEvent

shareEvent used to sync passwords across multiple screens. This has been
reported to be broken since 5.21, and has been superseded by better
method of syncing passwords.

M  +0    -30   greeter/greeterapp.cpp
M  +0    -1    greeter/greeterapp.h

https://invent.kde.org/plasma/kscreenlocker/-/commit/1d175e50b05d0873c0f94031c1e196b2be195bb3
Comment 25 Nate Graham 2025-03-25 18:26:50 UTC
This is effectively fixed by those commits. Thanks Yifan!