Bug 472280 - libkscreen regression between 5.27.5 and 5.27.6: custom xorg configuration does not work anymore
Summary: libkscreen regression between 5.27.5 and 5.27.6: custom xorg configuration do...
Status: REPORTED
Alias: None
Product: KScreen
Classification: Plasma
Component: common (show other bugs)
Version: 5.27.6
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: kscreen-bugs-null@kde.org
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-07-15 12:58 UTC by dura
Modified: 2023-08-19 00:29 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
xorg.conf (4.91 KB, text/plain)
2023-07-15 12:58 UTC, dura
Details
systemsettings with libkscreen-5.27.5 (38.44 KB, image/png)
2023-07-15 12:59 UTC, dura
Details
systemsettings with libkscreen-5.27.6 (52.63 KB, image/png)
2023-07-15 13:00 UTC, dura
Details
xrandr output on :0.0 (1.17 KB, text/plain)
2023-07-15 13:01 UTC, dura
Details
xrandr output on :0.1 (220 bytes, text/plain)
2023-07-15 13:02 UTC, dura
Details

Note You need to log in before you can comment on or make changes to this bug.
Description dura 2023-07-15 12:58:47 UTC
Created attachment 160302 [details]
xorg.conf

The only real change between libkscreen 5.27.5 and 5.27.6 is: https://invent.kde.org/plasma/libkscreen/-/commit/e23ccb5063e1ae70c6eae9df4875dbd9fe4e72e9
Seems pretty harmless at first glance, but it has big consequences on my unusual setup!

My X.org setup consists of two independents screen. The first screen DISPLAY=:0.0 has two monitors: BDM4065 and L22W-3, the second screen DISPLAY=:0.1 has one monitor: SR5003. See attached xorg.conf and systemsettings screenshots.

KDE5 is launched on first screen (DISPLAY=:0.0).

Like xrandr libkscreen 5.27.5 sees first two monitors (expected behaviour). libkscreen 5.27.6 includes the third one. See attached screenshots and xrandr outputs.

I've added custom modelines to SR5003 for precise refresh rates when watching movies. The problem is that I can't use them anymore with libkscreen 5.27.6 the refresh rate is always 60hz. With 5.27.5 (or 5.27.6 with above commit reverted) modelines are working as expected. Note that the custom modeline is selected with xrandr (xrandr --output HDMI-0 --mode 0x37a --screen 1).
Comment 1 dura 2023-07-15 12:59:49 UTC
Created attachment 160303 [details]
systemsettings with libkscreen-5.27.5
Comment 2 dura 2023-07-15 13:00:10 UTC
Created attachment 160304 [details]
systemsettings with libkscreen-5.27.6
Comment 3 dura 2023-07-15 13:01:41 UTC
Created attachment 160305 [details]
xrandr output on :0.0
Comment 4 dura 2023-07-15 13:02:00 UTC
Created attachment 160306 [details]
xrandr output on :0.1
Comment 5 Bug Janitor Service 2023-08-18 16:36:23 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/libkscreen/-/merge_requests/154
Comment 6 Fushan Wen 2023-08-18 16:40:38 UTC
Can you try if the patch fixes your problem?
Comment 7 dura 2023-08-18 22:23:39 UTC
(In reply to Fushan Wen from comment #6)
> Can you try if the patch fixes your problem?

Unfortunately, your change does not solve anything. I still need to comment line 150 to revert to correct behavior. I don't understand why it does not crash on line 153 as xCrtc is NULL.
Comment 8 Fushan Wen 2023-08-19 00:24:22 UTC
Git commit 23ddbe7e43774516255fdd46bf4864652cc4f189 by Fushan Wen.
Committed on 19/08/2023 at 02:24.
Pushed by fusionfuture into branch 'master'.

backends/xrandr: make sure `XRandRCrtc::update` is always called

Amends https://invent.kde.org/plasma/libkscreen/-/commit/00b8ca2193ef75c2aace4eda2aae78b64fe46f92

M  +1    -2    backends/xrandr/xrandr.cpp

https://invent.kde.org/plasma/libkscreen/-/commit/23ddbe7e43774516255fdd46bf4864652cc4f189
Comment 9 Bug Janitor Service 2023-08-19 00:25:00 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/libkscreen/-/merge_requests/156
Comment 10 Fushan Wen 2023-08-19 00:26:50 UTC
Git commit 984b78ef3eb121d8c965c5285984b345d8241232 by Fushan Wen.
Committed on 19/08/2023 at 02:24.
Pushed by fusionfuture into branch 'Plasma/5.27'.

backends/xrandr: make sure `XRandRCrtc::update` is always called

Amends https://invent.kde.org/plasma/libkscreen/-/commit/00b8ca2193ef75c2aace4eda2aae78b64fe46f92


(cherry picked from commit 23ddbe7e43774516255fdd46bf4864652cc4f189)

M  +1    -2    backends/xrandr/xrandr.cpp

https://invent.kde.org/plasma/libkscreen/-/commit/984b78ef3eb121d8c965c5285984b345d8241232
Comment 11 Fushan Wen 2023-08-19 00:29:17 UTC
(In reply to dura from comment #7)
> (In reply to Fushan Wen from comment #6)
> > Can you try if the patch fixes your problem?
> 
> Unfortunately, your change does not solve anything. I still need to comment
> line 150 to revert to correct behavior. I don't understand why it does not
> crash on line 153 as xCrtc is NULL.

It may have already crashed, but it's another process.