Bug 507087

Summary: DDC/CI turns back on when monitor dims on idle
Product: [Plasma] kwin Reporter: Nikoichu <nikolay_anzarov>
Component: output configurationAssignee: KWin default assignee <kwin-bugs-null>
Status: RESOLVED FIXED    
Severity: minor CC: jpetso, nate, xaver.hugl
Priority: NOR Keywords: multiscreen
Version First Reported In: 6.4.2   
Target Milestone: ---   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed In: 6.4.5
Sentry Crash Report:
Attachments: 4 outputs of "kscreen-doctor --outputs" and contents of "kwinoutputconfig.json"

Description Nikoichu 2025-07-16 05:12:43 UTC
SUMMARY
(not sure if I reported this in the correct category, please re-categorize if it's not)
I decided to turn off DDC/CI control for my screens, and ran into a bug that turns it back on when the screen dims due to idleness, unless you reboot first. I have 2 monitors connected via Display Port.

STEPS TO REPRODUCE
1. Turn on "Control hardware brightness with DDC/CI" from Display Configuration
2. From Power Management, turn on "Dim automatically" (set to 30 seconds for testing)
3. Reboot (just in case)
4. Turn OFF "Control hardware brightness with DDC/CI" from Display Configuration
5. Wait for the screen to dim.
6. Observe that "Control hardware brightness with DDC/CI" is turned back on.

WORKAROUND:
-Reboot before step 5, and it stays off now.

SOFTWARE/OS VERSIONS
Operating System: Nobara Linux 42
KDE Plasma Version: 6.4.2
KDE Frameworks Version: 6.15.0
Qt Version: 6.9.1
Kernel Version: 6.15.6-201.nobara.fc42.x86_64 (64-bit)
Graphics Platform: Wayland
Processors: 12 ร— AMD Ryzen 5 5500
Memory: 32 GiB of RAM
Graphics Processor: AMD Radeon RX 6600 XT
Comment 1 Zamundaaa 2025-07-22 19:18:44 UTC
I can't replicate that here, if it's off it stays off, even if the monitor is dimmed or unplugged in between.

Please attach ~/.config/kwinoutputconfig.json here, once from before step 4, after step 4 and after step 5. The output of kscreen-doctor at each of those steps could help as well
Comment 2 Nikoichu 2025-07-27 09:13:33 UTC
(In reply to Zamundaaa from comment #1)
> I can't replicate that here, if it's off it stays off, even if the monitor
> is dimmed or unplugged in between.
> 
> Please attach ~/.config/kwinoutputconfig.json here, once from before step 4,
> after step 4 and after step 5. The output of kscreen-doctor at each of those
> steps could help as well

Hey, sorry for the late reply. I did some more testing while getting the files you requested, and discovered further symptoms:
-The setting reverts the other way around too - if it was OFF and you turn it ON, it reverts to OFF upon dimming.
-If the Display Configuration window is still open when the dimming happens, it refreshes, still displaying DDC/CI as OFF, but also highlighting it as an unsaved change (the Apply button can be clicked, and if you close it, it asks if you want to save changes)
-If you change any OTHER setting along with DDC/CI that causes the monitor to refresh (go black for a second), such as the "Limit color resolution to:" setting, it works as it should, the setting doesn't revert on dim anymore, as if you restarted the entire OS.

So my best guess is that, since the DDC/CI setting doesn't actually cause a monitor refresh, it doesn't get saved properly for some reason?

I'll attach the following files below:
kscreen-doctor_1.txt
kscreen-doctor_2.txt
kscreen-doctor_3.txt
kscreen-doctor_4.txt
kwinoutputconfig_1.json
kwinoutputconfig_2.json
kwinoutputconfig_3.json
kwinoutputconfig_4.json

1: Before any modifications, DDC/CI is ON.
2: After turning it OFF for both displays, but before dimming
3: After dimming, it's back to ON.
4: After turning it off for BOTH displays, and restarting (or changing any setting that causes a monitor refresh).
Comment 3 Nikoichu 2025-07-27 09:15:28 UTC
Created attachment 183558 [details]
4 outputs of "kscreen-doctor --outputs" and contents of "kwinoutputconfig.json"
Comment 4 Bug Janitor Service 2025-08-11 03:46:12 UTC
๐Ÿ›๐Ÿงน โš ๏ธ This bug has been in NEEDSINFO status with no change for at least 15 days. Please provide the requested information, then set the bug status to REPORTED. If there is no change for at least 30 days, it will be automatically closed as RESOLVED WORKSFORME.

For more information about our bug triaging procedures, please read https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging.

Thank you for helping us make KDE software even better for everyone!
Comment 5 Nikoichu 2025-08-11 05:21:09 UTC
Oops, I forgot to set it back to REPORTED
Comment 6 Zamundaaa 2025-08-14 15:05:57 UTC
Git commit e175d0376c64c6e1c2fec8e8880ed1e2fd49fa6e by Xaver Hugl.
Committed on 14/08/2025 at 14:07.
Pushed by zamundaaa into branch 'master'.

wayland/outputdevice: add missing scheduleDone calls

M  +3    -1    src/wayland/outputdevice_v2.cpp

https://invent.kde.org/plasma/kwin/-/commit/e175d0376c64c6e1c2fec8e8880ed1e2fd49fa6e
Comment 7 Zamundaaa 2025-08-14 15:49:04 UTC
Git commit 2dc24e49f7161c1c7c59e8fe7f037cf9f632d65b by Xaver Hugl.
Committed on 14/08/2025 at 15:13.
Pushed by zamundaaa into branch 'Plasma/6.4'.

wayland/outputdevice: add missing scheduleDone calls


(cherry picked from commit e175d0376c64c6e1c2fec8e8880ed1e2fd49fa6e)

Co-authored-by: Xaver Hugl <xaver.hugl@kde.org>

M  +3    -1    src/wayland/outputdevice_v2.cpp

https://invent.kde.org/plasma/kwin/-/commit/2dc24e49f7161c1c7c59e8fe7f037cf9f632d65b