Bug 450721

Summary: Major regression with multi-monitor on KScreen & 5.24.2
Product: [Plasma] KScreen Reporter: ready2rumbel
Component: commonAssignee: kscreen-bugs-null <kscreen-bugs-null>
Status: RESOLVED FIXED    
Severity: major CC: nate, notmart, postix, randall, vlad.zahorodnii, xaver.hugl, zawertun
Priority: NOR Keywords: regression
Version: 5.24.2   
Target Milestone: ---   
Platform: RedHat Enterprise Linux   
OS: Linux   
See Also: https://bugs.kde.org/show_bug.cgi?id=449878
Latest Commit: Version Fixed In:

Description ready2rumbel 2022-02-22 22:42:07 UTC
SUMMARY

Note: My journey with KScreen issues started prior as posted in https://bugs.kde.org/show_bug.cgi?id=449878 but I thought to create a new post with this latest regression in 5.24.2, while combining the info from the mentioned thread, in order to better establish the pattern and make it easier to follow under one post. If this is incorrect to do, or it's better to edit the above post and update that (or even delete the prior post and leave this one), please let me know. Onto the topic at hand....

My laptop has an external monitor connected to it via DisplayPort. On the desktop, under 'Display and Monitor', it has been configured to disable the laptop monitor and enable the external monitor as the sole default. When the laptop boots up, the boot/loading screen is displayed on the laptop up until the login screen. Once logged in, the laptop monitor should power off and display only on the external. This has been the case from Plasma 5.23.5 and pre.

On 5.24 (and 5.24.1), the sequence is practically the same except the laptop monitor does not power off. Instead, it remains powered on while showing the last frame displayed on it prior to swapping over to the external monitor. The only way, in this instance, to power it off is to manually close the laptop lid.

This behavior applies even to the inverse configuration; setting the laptop screen as the sole primary default and disabling the external monitor, assuming the OS loaded with the external monitor enabled.

However, on Plasma 5.24.2, it has regressed even further. In my case, only the laptop monitor is enabled & used and nothing displays on the external monitor when enabled. I cannot toggle the laptop monitor as primary off nor toggle the external on as primary. Additionally, when the external monitor is enabled, nothing displays but is kept powered on. The laptop monitor runs at 300Hz and the external runs at 144Hz. When I change the external monitors refresh rate to 144Hz, it either resets back to 60Hz (when closing settings and reopening) or it freezes the entire desktop session. Lastly, when identifying the monitors, even when the external is disabled, the laptop monitor will be recognized as the external monitor.

I've downgraded back to 5.23.5 as I need to use the external monitor but if there are any tests/commands/logging tools I can run or any other info that I can collect to help troubleshoot this issue, please let me know and I'll gladly upgrade back to 5.24.2 in order to help.

STEPS TO REPRODUCE
1. Under 'Display and Monitor', enable an external monitor (and set it as primary if running 5.24 and above). Then disable the laptop monitor.

OBSERVED RESULT

5.23.5 - Works as intended; laptop monitor is disabled & powered off while the external monitor is enabled and displays correctly.

5.24 & 5.24.1 - The disabled monitor (whether laptop or external, depending on which monitor was enabled on boot) does not power off, instead it remains powered on while stuck showing the last frame before it was disabled.

5.24.2 - Disabling the laptop monitor does not disable it or power it off, nor does the external monitor display anything when enabled. Changing the external monitors refresh rate either resets back to 60Hz on closing/reopening the display properties or can freeze the entire desktop session. Attempting to enable the external monitor as the sole, default monitor does not work.

EXPECTED RESULT
Should be able to disable the laptop monitor, enabled the external monitor and have it working as the primary display. Additionally, when any of the monitors are disabled, they should power off.

SOFTWARE/OS VERSIONS
Linux: Fedora 35 KDE
KDE Plasma Version: 5.23.5
KDE Frameworks Version: 5.90.0
Qt Version: 5.15.2

ADDITIONAL INFORMATION
System:
  Host: xxxxx Kernel: 5.16.9-200.fc35.x86_64 x86_64 bits: 64
    Desktop: KDE Plasma 5.23.5 Distro: Fedora release 35 (Thirty Five)
Machine:
  Type: Laptop System: ASUSTeK product: ROG Strix G513QY v: 1.0
    serial: <superuser required>
  Mobo: ASUSTeK model: G513QY v: 1.0 serial: <superuser required>
    UEFI: American Megatrends LLC. v: G513QY.316 date: 11/29/2021
CPU:
  Info: 8-core model: AMD Ryzen 9 5900HX with Radeon Graphics bits: 64
    type: MT MCP cache: L2: 4 MiB
Graphics:
  Device-1: AMD Navi 22 [Radeon RX 6700/6700 XT / 6800M] driver: amdgpu
    v: kernel
  Device-2: AMD Cezanne driver: amdgpu v: kernel
  Display: wayland server: X.Org 1.21.1.4 driver: loaded: amdgpu,ati
    unloaded: fbdev,modesetting,radeon,vesa resolution: 1920x1080~144Hz
  OpenGL: renderer: AMD Radeon RX 6800M (navy_flounder LLVM 13.0.0 DRM 3.44
  5.16.9-200.fc35.x86_64)
    v: 4.6 Mesa 22.1.0-devel
Comment 1 Nate Graham 2022-02-23 20:18:23 UTC
zamun
Comment 2 Bug Janitor Service 2022-02-24 04:49:58 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/kwin/-/merge_requests/2066
Comment 3 Zamundaaa 2022-03-07 15:57:44 UTC
Git commit 2693482d1074467b8c6a508f146a1f66ccd9ffaf by Xaver Hugl.
Committed on 07/03/2022 at 15:13.
Pushed by zamundaaa into branch 'master'.

platform: check all outputs, not only enabled ones for the enabled flag

Otherwise it will block changes that will disable all currently enabled
outputs but also enable some currently disabled output

M  +2    -2    src/platform.cpp

https://invent.kde.org/plasma/kwin/commit/2693482d1074467b8c6a508f146a1f66ccd9ffaf
Comment 4 Zamundaaa 2022-03-07 22:39:56 UTC
Git commit dbe2a7ed36db654f5ad594504646804dc7839f7a by Xaver Hugl.
Committed on 07/03/2022 at 22:14.
Pushed by zamundaaa into branch 'Plasma/5.24'.

platform: check all outputs, not only enabled ones for the enabled flag

Otherwise it will block changes that will disable all currently enabled
outputs but also enable some currently disabled output

M  +2    -2    src/platform.cpp

https://invent.kde.org/plasma/kwin/commit/dbe2a7ed36db654f5ad594504646804dc7839f7a
Comment 5 ready2rumbel 2022-03-08 18:44:33 UTC
Hello there,

Just wanted to give a quick update. Plasma Desktop has been upgraded to 5.24.3 and I'm happy to report that the external monitor is working again and acting as the primary display (while display settings registers the laptop monitor as disabled). However, the only remaining issue is that the laptop monitor remains powered on showing the last image prior to it being disabled (same symptom as described in 5.24 & 5.24.1).
Comment 6 ready2rumbel 2022-03-29 18:42:26 UTC
I'm happy to report & confirm that the release of 5.24.4 has fixed the issue. Great work and thanks!