Created attachment 159501 [details] Journalctl output after reconnecting displays SUMMARY When using multiple same monitor connect via display port daisy chaining, layout is randomly scrambled and DP ports are changed STEPS TO REPRODUCE 1. Connect two identical monitors via DP daisy chaining 2. Set display configuration layout (two monitors side by side and one different bellow) 3. Go to sleep, hibernation, turn off display, disconnect and connect displays or reboot OBSERVED RESULT Layout is scrambled - usually the two identical monitors switched and the bottom different one offset to left After boot the monitors have DP-5 and DP-4 after scrambling its usually DP-6 and DP-7 EXPECTED RESULT Layout stays same as before. SOFTWARE/OS VERSIONS Operating System: Arch Linux KDE Plasma Version: 5.27.5 KDE Frameworks Version: 5.106.0 Qt Version: 5.15.9 Kernel Version: 6.3.5-zen2-1-zen (64-bit) Graphics Platform: Wayland Processors: 12 × Intel® Core™ i7-8750H CPU @ 2.20GHz Memory: 15.3 GiB of RAM Graphics Processor: Mesa Intel® UHD Graphics 630 Manufacturer: Dell Inc. Product Name: G5 5587 ADDITIONAL INFORMATION Journal log in attachment
Created attachment 159502 [details] Correct layout
Created attachment 159503 [details] Wrong layout after reconecting
Please attach the output of drm_info from before and after the change
Created attachment 159516 [details] drm_info output before
Created attachment 159517 [details] drm_info after
okay, so I assume the EDID of the two screens is identical, so KScreen uses the connector name as a fallback way of identifying the monitors. Due to MST weirdness and possibly some kernel bug, the old connectors stick around and thus the "new" detected outputs get different connector names - so KScreen considers them as different screens. We can maybe work around this by adding the MST path identifier to the connector name. A more proper fix will have to be Plasma 6 only though
Sounds similar to Bug 470590.
A possibly relevant merge request was started @ https://invent.kde.org/plasma/kwin/-/merge_requests/4501
Git commit 7db4df991542843c0bb22aa3abe2030a005dadda by Xaver Hugl. Committed on 25/10/2023 at 16:58. Pushed by zamundaaa into branch 'master'. outputconfigurationstore: differentiate between outputs with their mst path The DisplayPort multi stream path should be more stable in comparison to connector names, so prefer that for differentiating between outputs with the same EDID. M +24 -0 src/backends/drm/drm_connector.cpp M +6 -0 src/backends/drm/drm_connector.h M +1 -0 src/backends/drm/drm_output.cpp M +5 -0 src/core/output.cpp M +5 -0 src/core/output.h M +30 -4 src/outputconfigurationstore.cpp M +2 -0 src/outputconfigurationstore.h https://invent.kde.org/plasma/kwin/-/commit/7db4df991542843c0bb22aa3abe2030a005dadda
Thank you