Bug 466898 - Suspend plasma with display extended to the right, resuming with display cloned
Summary: Suspend plasma with display extended to the right, resuming with display cloned
Status: RESOLVED WORKSFORME
Alias: None
Product: KScreen
Classification: Plasma
Component: common (show other bugs)
Version: 5.27.2
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: kscreen-bugs-null@kde.org
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-03-05 16:29 UTC by Heinz Wiesinger
Modified: 2023-03-08 16:57 UTC (History)
1 user (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Heinz Wiesinger 2023-03-05 16:29:00 UTC
SUMMARY
I have a display connected to my laptop. The resolution of the external display is identical to the internal one (4k) and scaling is the same as well. I have it configured to extend to the right.
When I suspend my laptop and resume after, the display configuration is lost and instead of extending it to the right it shows it as cloned instead.

STEPS TO REPRODUCE
1. Connect external display
2. Extend display to the right
3. Suspend
4. Resume

OBSERVED RESULT
Display is clonse

EXPECTED RESULT
Display configuration should be the same as before suspending

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: Slackware64 current
(available in About System)
KDE Plasma Version: 5.27.2
KDE Frameworks Version: 5.103.0
Qt Version: 5.15.8 (KDE patch collection cae1723a)

ADDITIONAL INFORMATION
Comment 1 Heinz Wiesinger 2023-03-05 17:52:04 UTC
I updated from 5.26.5 and the new plasma apparently couldn't read the existing config properly anymore?
The containment previously assigned to my external screen was no longer used. I managed to restore it to working order, by changing the `lastScreen` setting of the containment and now everything works correctly. I don't really understand what the assigned containment would have to do with this process...

Anyway, things are still weird. plasmashellrc has this:

[ScreenConnectors]
0=eDP-1
1=HDMI-1
2=DP-3
3=DP-2

My screen is connected to a USB-C port. My containment was assigned to "2". I had to change it to "1", which makes no sense to me :(
Comment 2 Nate Graham 2023-03-08 16:57:13 UTC
Sorry this happened. In Plasma 5.27 we implemented a new system for mapping Plasma desktops and panels to screens that is fundamentally more correct by design, and as a result much more robust. We also added code to migrate old settings to this new system. Unfortunately, due to the non-determinism baked into the old system, the migration code works better the simpler your arrangement of screens, desktops, and panels was. For complex arrangements, we've seen a few reports that sometimes panels or desktops are swapped or missing, as a result of the old settings being in an inconsistent state at the moment of migration. We do have a UI to recover them in the form of the "Manage Desktops and Panels" window, which should let people manually restore their old setup.

The good news is that this shouldn't recur going forward due to the new system we have in Plasma 5.27. So hopefully this is the last time it should ever happen!