Bug 470863

Summary: Screen rearrangments applied through kscreen-doctor are not persistent across screen turning off and on
Product: [Plasma] KScreen Reporter: Bart Ribbers <bribbers>
Component: commonAssignee: kscreen-bugs-null <kscreen-bugs-null>
Status: RESOLVED FIXED    
Severity: normal CC: xaver.hugl
Priority: NOR    
Version: 5.27.5   
Target Milestone: ---   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Bart Ribbers 2023-06-10 09:13:52 UTC
SUMMARY
Split out from https://bugs.kde.org/show_bug.cgi?id=470674, see that bug for some more info.

Basically I'm using kscreen-doctor to apply my screen layout, 3 screens: 2 desktop monitors which are exact same model  next to each other, and a separate TV as a third screen. In my ideal setup I have the TV (third screen) mirrored to the left screen of the two desktop monitors. However Plasma keeps making it mirror the right desktop monitor instead every time I turn off and on the TV. Thus I have to keep on calling kscreen-doctor every time I turn on the TV.


STEPS TO REPRODUCE
Not sure, it's seems setup specific. But I suppose:

1. have 3 screens of which 1 should mirror one of the other two
2. turn off the third screen
3. turn it back on

OBSERVED RESULT
The third screen mirrors the wrong screen every time it's turned off and on.

EXPECTED RESULT
The screen mirroring to be remembered correctly across screen reboots.

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: Alpine Linux edge
(available in About System)
KDE Plasma Version: 5.27.5
KDE Frameworks Version: 5.106.0
Qt Version: 5.15.9 with KDE patches
Comment 1 Zamundaaa 2023-10-05 19:42:15 UTC
Git commit ae84480fbfdc684b8ee4b0207d3ce679f6fb4cd7 by Xaver Hugl.
Committed on 05/10/2023 at 20:29.
Pushed by zamundaaa into branch 'master'.

outputconfigurationstore: add new config system

Instead of an external service (like KScreen) storing and restoring output configurations,
with this commit KWin takes over that responsibility. This allows it to, among other things,
generate appropriate configs for new sets of outputs immediately, and take KWin-internal information
about outputs into account when generating them.
Related: bug 466208, bug 455082, bug 457430, bug 474021, bug 469653, bug 466342, bug 466556

M  +1    -0    CMakeLists.txt
M  +1    -0    autotests/integration/kwin_wayland_test.cpp
M  +1    -0    src/CMakeLists.txt
M  +5    -0    src/backends/drm/drm_output.cpp
M  +9    -0    src/core/output.cpp
M  +11   -0    src/core/output.h
M  +1    -0    src/core/outputconfiguration.h
M  +7    -0    src/main.cpp
M  +1    -0    src/main.h
M  +0    -4    src/main_wayland.cpp
M  +709  -20   src/outputconfigurationstore.cpp
M  +68   -4    src/outputconfigurationstore.h
M  +1    -0    src/utils/CMakeLists.txt
M  +8    -0    src/utils/edid.cpp
M  +8    -0    src/utils/edid.h
A  +54   -0    src/utils/orientationsensor.cpp     [License: GPL(v2.0+)]
A  +38   -0    src/utils/orientationsensor.h     [License: GPL(v2.0+)]
M  +34   -1    src/wayland/outputdevice_v2.cpp
M  +1    -0    src/wayland/outputdevice_v2.h
M  +12   -1    src/wayland/outputmanagement_v2.cpp
M  +49   -6    src/workspace.cpp
M  +2    -0    src/workspace.h

https://invent.kde.org/plasma/kwin/-/commit/ae84480fbfdc684b8ee4b0207d3ce679f6fb4cd7
Comment 2 Zamundaaa 2024-02-20 22:28:53 UTC
We've done some more work to make output configs be remembered properly with the Wayland session in Plasma 6 even with the weirdest output setups, so this should be fixed. If it still happens, just reopen this