Bug 449140

Summary: After change of scaling and plugging back in HDMI, screens are no longer touching, so pointer becomes confined to one of them
Product: [Plasma] KScreen Reporter: postix <postix>
Component: commonAssignee: kscreen-bugs-null <kscreen-bugs-null>
Status: CONFIRMED ---    
Severity: major CC: nate, postix, xaver.hugl
Priority: NOR Keywords: wayland
Version: 5.27.4   
Target Milestone: ---   
Platform: Neon   
OS: Linux   
See Also: https://bugs.kde.org/show_bug.cgi?id=453926
Latest Commit: Version Fixed In:
Attachments: KWin support information: Step 1
KWin support information: Step 3
KWin support information: Step 5
Screenshot: Step 5

Description postix 2022-01-25 13:13:38 UTC
Created attachment 145907 [details]
KWin support information: Step 1

STEPS TO REPRODUCE
1. 4k@200% DP monitor (primary, left) + FullHD@100% HDMI, adjacent to each other in KScreen
2. Changed scaling of DP to 100%
3. Unplugged the HDMI monitor
4. Changed scaling of DP to 200%
5. Plugged back in the HDMI monitor

OBSERVED RESULT
Logically the two monitors are now very far apart and all windows and the mouse are confined to the primary monitor, i.e. cannot be moved to the other screen

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: KDE Neon Testing
KDE Plasma Version: 5.23.90
KDE Frameworks Version: 5.91.0
Qt Version: 5.15.3

ADDITIONAL INFORMATION
Wayland
Comment 1 postix 2022-01-25 13:17:23 UTC
Created attachment 145908 [details]
KWin support information: Step 3
Comment 2 postix 2022-01-25 13:27:03 UTC
Created attachment 145909 [details]
KWin support information: Step 5
Comment 3 postix 2022-01-25 13:33:37 UTC
Created attachment 145911 [details]
Screenshot: Step 5
Comment 4 Nate Graham 2022-11-10 19:05:20 UTC
I can replicate this setup (with the screens' scale factors swapped, but that won't make a difference) and I can reproduce the issue with current git master.
Comment 5 postix 2023-04-10 15:42:07 UTC
Still reproducible with 5.27.4
Comment 6 Zamundaaa 2023-10-05 16:52:57 UTC
This problem is caused by the position of outputs being remembered separately from mode and scale. As a possible solution, we could maybe store the relationship between outputs in the output config, instead of only an absolute position