SUMMARY Power management is configured as follows: When laptop lid is closed: Turn Off Screen [x] Even when external monitor is connected Now, when I close the lid external monitor turns off (entering sleep mode) and then after a few seconds turns back on. I don't know if it is relevant but my laptop has Hybrid graphics (Intel+Nvidia) configured in PRIME mode as per https://wiki.archlinux.org/title/PRIME so only Intel is active. STEPS TO REPRODUCE 1. Have a laptop with hybrid graphics and external display 2. Connect external display via HDMI 3. Configure Display Configuration: External monitor to be the only one enabled 4. Configure Power Management: When laptop lid is closed: Turn Off Screen 5. Configure Power Management: Check "Even when external monitor is connected" 6. Close the lid OBSERVED RESULT Monitor turns off, then after a few seconds turns back on. EXPECTED RESULT Monitor turns off. SOFTWARE/OS VERSIONS Operating System: Arch Linux KDE Plasma Version: 6.1.5 KDE Frameworks Version: 6.6.0 Qt Version: 6.7.2 ADDITIONAL INFORMATION Kernel Version: 6.6.52-1-lts (64-bit) Graphics Platform: Wayland
I had the same issue on Fedora 40 (others as well). It seems like the problem was that kg6-kidletime did not compile the X11 dependency in. They now included and created a new X11 package. Installing that solved my problem,
On Fedora I had the same problem. They just build kidletime with X11 support to detect idle time. They just built a package with this support and it solved the problem.
I don't think this issue is related to the missing kidletime X11 support: In what is originally reported here, the monitor does turn off after idle time, and it is on Arch, where this package problem was not present.
Can you still reproduce the issue on your distro in Plasma 6.3.5 or later? Thanks a lot!
🐛🧹 ⚠️ 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!
(In reply to Nate Graham from comment #4) > Can you still reproduce the issue on your distro in Plasma 6.3.5 or later? I can easily reproduce it on Plasma 6.3.5 (Wayland). On top of that, plasmashell crashes every time and I need to restart it.
The crash may be related, but it needs its own bug report. Please do feel free to open one for it, and relate it to this one using the "See also" field!
I did some more testing today, see below. - It doesn't happen on X11 session -- external monitor shuts off properly (although plasmashell still crashes after manual wakeup). - It still happens when Nvidia drivers are removed from Linux - It doesn't happen on older Lenovo laptop, which has similar setup and only integrated Intel graphics, but connected via Display Port (unfortunately I don't have HDMI port on this one).
*** Bug 506263 has been marked as a duplicate of this bug. ***
*** Bug 506297 has been marked as a duplicate of this bug. ***
Details from bug 506297: ----------------------------------- Occurs with one monitor (HDMI) This is happening my main machine, after the latest kde plasma update. I fresh installed onto an SSD to test if this was a problem with my config or not. Fresh install exhibits same behavior. All information provided is from a fresh install with no changes made. Just fully updated. My main install is using Nvidia latest drivers. I even tried this with ddcutil turned off, same problem. When the screen is supposed to turn off, it just goes blank for about 20 seconds (screen does not power down), and then back on again. System: Kernel: 6.15.3-arch1-1 arch: x86_64 bits: 64 compiler: gcc v: 15.1.1 clocksource: tsc avail: hpet,acpi_pm parameters: initrd=\223235b7d2fa4c458d4ccfb7ff55c1c0\6.15.3-arch1-1\initrd nvme_load=YES nowatchdog rw root=UUID=9e148e8e-dce3-43e2-9f84-7324766c4fbf resume=UUID=0ed8302b-0942-4c58-85d9-6f6d0b2941cd nvidia_drm.modeset=1 systemd.machine_id=223235b7d2fa4c458d4ccfb7ff55c1c0 Desktop: KDE Plasma v: 6.4.1 tk: Qt v: N/A info: frameworks v: 6.15.0 vt: 1 dm: SDDM Distro: EndeavourOS base: Arch Linux Machine: Type: Desktop System: ASUS product: N/A v: N/A serial: <superuser required> Mobo: ASUSTeK model: ProArt B650-CREATOR v: Rev 1.xx serial: <superuser required> part-nu: SKU uuid: <superuser required> UEFI: American Megatrends v: 2506 date: 10/28/2024 Graphics: Device-1: NVIDIA AD102 [GeForce RTX 4090] vendor: Gigabyte driver: nvidia v: 575.64 alternate: nouveau,nvidia_drm non-free: 550-570.xx+ status: current (as of 2025-04) arch: Lovelace code: AD1xx process: TSMC n4 (5nm) built: 2022+ pcie: gen: 1 speed: 2.5 GT/s lanes: 16 link-max: gen: 4 speed: 16 GT/s ports: active: none empty: DP-1, DP-2, DP-3, HDMI-A-1 bus-ID: 01:00.0 chip-ID: 10de:2684 class-ID: 0300 Device-2: Advanced Micro Devices [AMD/ATI] Raphael vendor: ASUSTeK driver: amdgpu v: kernel arch: RDNA-2 code: Navi-2x process: TSMC n7 (7nm) built: 2020-22 pcie: gen: 4 speed: 16 GT/s lanes: 16 ports: active: HDMI-A-2 empty: Writeback-1 bus-ID: 0c:00.0 chip-ID: 1002:164e class-ID: 0300 temp: 36.0 C Display: wayland server: X.org v: 1.21.1.18 with: Xwayland v: 24.1.8 compositor: kwin_wayland driver: X: loaded: amdgpu,nvidia unloaded: modesetting alternate: fbdev,nouveau,nv,vesa dri: radeonsi gpu: amdgpu display-ID: 0 Monitor-1: HDMI-A-2 model: Gigabyte AORUS FO48U serial: <filter> built: 2022 res: mode: 3840x2160 hz: 120 scale: 100% (1) dpi: 163 gamma: 1.2 size: 941x529mm (37.05x20.83") diag: 690mm (27.2") ratio: 16:9 modes: max: 3840x2160 min: 640x480 API: EGL v: 1.5 hw: drv: nvidia drv: amd radeonsi platforms: device: 0 drv: nvidia device: 1 drv: radeonsi device: 3 drv: swrast gbm: drv: kms_swrast surfaceless: drv: nvidia wayland: drv: radeonsi x11: drv: radeonsi inactive: device-2 API: OpenGL v: 4.6.0 compat-v: 4.5 vendor: mesa v: 25.1.4-arch1.1 note: incomplete (EGL sourced) renderer: llvmpipe (LLVM 20.1.6 256 bits), AMD Radeon Graphics (radeonsi raphael_mendocino LLVM 20.1.6 DRM 3.63 6.15.3-arch1-1), NVIDIA GeForce RTX 4090/PCIe/SSE2 API: Vulkan v: 1.4.313 layers: 2 device: 0 type: discrete-gpu name: NVIDIA GeForce RTX 4090 driver: nvidia v: 575.64 device-ID: 10de:2684 surfaces: N/A Info: Tools: api: clinfo, eglinfo, glxinfo, vulkaninfo de: kscreen-console,kscreen-doctor gpu: nvidia-smi wl: wayland-info x11: xdpyinfo, xprop, xrandr Logs from journalctl from screen lock to unlock below. --------------------------------- Jun 28 09:53:35 shervin-test kscreenlocker_greet[3536]: file:///usr/share/plasma/shells/org.kde.plasma.desktop/contents/lockscreen/LockOsd.qml:10:1: "../osd": no such directory Jun 28 09:54:35 shervin-test dbus-broker[944]: A security policy denied :1.32 to send method call /org/freedesktop/login1/seat/seat0:org.freedesktop.login1.Seat.Inhibit to org.freedesktop.login1. Jun 28 09:54:35 shervin-test kwin_wayland[1208]: kwin_core: Failed to delay sleep: Sender is not authorized to send message Jun 28 09:54:50 shervin-test polkit-kde-authentication-agent-1[1502]: qt.qpa.wayland: There are no outputs - creating placeholder screen Jun 28 09:54:50 shervin-test kactivitymanagerd[1476]: qt.qpa.wayland: There are no outputs - creating placeholder screen Jun 28 09:54:50 shervin-test ksecretd[1177]: qt.qpa.wayland: There are no outputs - creating placeholder screen Jun 28 09:54:50 shervin-test python[1711]: qt.qpa.wayland: There are no outputs - creating placeholder screen Jun 28 09:54:50 shervin-test kdeconnectd[1712]: 2025-06-28T09:54:50 qt.qpa.wayland: There are no outputs - creating placeholder screen Jun 28 09:54:50 shervin-test konsole[3486]: qt.qpa.wayland: There are no outputs - creating placeholder screen Jun 28 09:54:50 shervin-test kwin_wayland[1208]: kwin_xwl: Could not find a matching X RandR CRTC/output to set as primary for KWin::PlaceholderOutput(0x55b439876040, name="Placeholder-1", geometry=QRect(0,0 1920x1080), scale=1) Jun 28 09:54:50 shervin-test kscreenlocker_greet[3536]: qt.qpa.wayland: There are no outputs - creating placeholder screen Jun 28 09:54:50 shervin-test kwin_wayland[1208]: kwin_xwl: Could not find a matching X RandR CRTC/output to set as primary for KWin::PlaceholderOutput(0x55b439876040, name="Placeholder-1", geometry=QRect(0,0 1920x1080), scale=1) Jun 28 09:54:50 shervin-test xdg-desktop-portal-kde[1504]: qt.qpa.wayland: There are no outputs - creating placeholder screen Jun 28 09:54:50 shervin-test plasmashell[1439]: kde.plasmashell: requesting unexisting screen available rect -1 Jun 28 09:54:50 shervin-test kded6[1392]: qt.qpa.wayland: There are no outputs - creating placeholder screen Jun 28 09:54:50 shervin-test org_kde_powerdevil[1503]: qt.qpa.wayland: There are no outputs - creating placeholder screen Jun 28 09:54:50 shervin-test plasmashell[1439]: qt.qpa.wayland: There are no outputs - creating placeholder screen Jun 28 09:54:50 shervin-test plasmashell[1439]: kf.plasma.quick: Exposed with no visual parent. Window positioning broken. Jun 28 09:54:51 shervin-test org_kde_powerdevil[1503]: [ 1665] Removing connected display on bus 10 Jun 28 09:54:51 shervin-test org_kde_powerdevil[1503]: [ 1665] (dw_remove_display_by_businfo) No Display_Ref found for i2c bus: 10 Jun 28 09:54:51 shervin-test kernel: HDR SB:aa 02 00 5f 84 c0 3e b0 33 cc 83 a8 1b ba 09 3a Jun 28 09:54:51 shervin-test kernel: HDR SB:3d 47 40 be 01 de 00 be 01 be 01 00 00 00 00 00 Jun 28 09:54:51 shervin-test kernel: HDR SB:aa 02 00 5f 84 c0 3e b0 33 cc 83 a8 1b ba 09 3a Jun 28 09:54:51 shervin-test kernel: HDR SB:3d 47 40 be 01 de 00 be 01 be 01 00 00 00 00 00 Jun 28 09:54:51 shervin-test kernel: HDR SB:aa 02 00 5f 84 c0 3e b0 33 cc 83 a8 1b ba 09 3a Jun 28 09:54:51 shervin-test kernel: HDR SB:3d 47 40 be 01 de 00 be 01 be 01 00 00 00 00 00 Jun 28 09:54:51 shervin-test kernel: HDR SB:aa 02 00 5f 84 c0 3e b0 33 cc 83 a8 1b ba 09 3a Jun 28 09:54:51 shervin-test kernel: HDR SB:3d 47 40 be 01 de 00 be 01 be 01 00 00 00 00 00 Jun 28 09:54:51 shervin-test kwin_wayland[1208]: kwin_xwl: Could not find a matching X RandR CRTC/output to set as primary for KWin::DrmOutput(0x55b439ed9610, name="HDMI-A-2", geometry=QRect(0,0 3840x2160), scale=1) Jun 28 09:54:51 shervin-test kernel: HDR SB:aa 02 00 5f 84 c0 3e b0 33 cc 83 a8 1b ba 09 3a Jun 28 09:54:51 shervin-test kernel: HDR SB:3d 47 40 be 01 de 00 be 01 be 01 00 00 00 00 00 Jun 28 09:54:51 shervin-test kscreenlocker_greet[3536]: file:///usr/share/plasma/shells/org.kde.plasma.desktop/contents/lockscreen/LockOsd.qml:10:1: "../osd": no such directory Jun 28 09:54:51 shervin-test org_kde_powerdevil[1503]: [ 1665] Adding connected display with bus 10 Jun 28 09:54:52 shervin-test org_kde_powerdevil[1503]: [ 1665] Emitting DDCA_Display_Status_Event[282.883: DDCA_EVENT_DISPLAY_CONNECTED, card1-HDMI-A-2, dref: DDCA_Display_Ref[2], io_path:/dev/i2c-10, ddc working: true] Jun 28 09:54:52 shervin-test org_kde_powerdevil[1503]: [ 1665] libddcutil callback thread 0x7f6790016c30 started Jun 28 09:54:52 shervin-test org_kde_powerdevil[1503]: [ 1665] Started 1 event callback thread(s) Jun 28 09:54:52 shervin-test org_kde_powerdevil[1503]: [ 1503] Quiescing libddcutil API... Jun 28 09:54:52 shervin-test org_kde_powerdevil[1503]: [ 1503] Quiesce libddcutil API complete Jun 28 09:54:52 shervin-test org_kde_powerdevil[1503]: [ 1503] Display redetection starting. Jun 28 09:54:52 shervin-test org_kde_powerdevil[1503]: [ 1664] recheck thread terminating because watch thread terminated Jun 28 09:54:52 shervin-test org_kde_powerdevil[1503]: [ 1503] Watch thread terminated. Jun 28 09:54:52 shervin-test org_kde_powerdevil[1503]: [ 1503] is_sysfs_reliable_for_busno(1) returned false and session type != X11. Assuming not asleep Jun 28 09:54:52 shervin-test org_kde_powerdevil[1503]: [ 1503] is_sysfs_reliable_for_busno(2) returned false and session type != X11. Assuming not asleep Jun 28 09:54:52 shervin-test org_kde_powerdevil[1503]: [ 1503] is_sysfs_reliable_for_busno(3) returned false and session type != X11. Assuming not asleep Jun 28 09:54:53 shervin-test org_kde_powerdevil[1503]: [ 1503] is_sysfs_reliable_for_busno(4) returned false and session type != X11. Assuming not asleep Jun 28 09:54:53 shervin-test org_kde_powerdevil[1503]: [ 1503] is_sysfs_reliable_for_busno(5) returned false and session type != X11. Assuming not asleep Jun 28 09:54:53 shervin-test org_kde_powerdevil[1503]: [ 1503] is_sysfs_reliable_for_busno(6) returned false and session type != X11. Assuming not asleep Jun 28 09:54:55 shervin-test org_kde_powerdevil[1503]: [ 1503] busno=10, sleep-multiplier= 2.00, Testing for unsupported feature 0xdd returned Error_Info[DDCRC_RETRIES in ddc_write_read_with_retry, causes: DDCRC_READ_ALL_ZERO, DDCRC_DDC_DATA(9)] Jun 28 09:54:55 shervin-test org_kde_powerdevil[1503]: [ 1503] Turning off dynamic sleep and retrying Jun 28 09:54:56 shervin-test org_kde_powerdevil[1503]: [ 1503] busno=10, sleep-multiplier = 1.00, Retesting for unsupported feature 0xdd returned Error_Info[DDCRC_RETRIES in ddc_write_read_with_retry, causes: DDCRC_DDC_DATA(10)] Jun 28 09:54:58 shervin-test org_kde_powerdevil[1503]: [ 1503] busno=10, sleep-multiplier= 2.00, Testing for unsupported feature 0x41 returned Error_Info[DDCRC_RETRIES in ddc_write_read_with_retry, causes: DDCRC_DDC_DATA(10)] Jun 28 09:54:58 shervin-test org_kde_powerdevil[1503]: [ 1503] Turning off dynamic sleep and retrying Jun 28 09:54:59 shervin-test org_kde_powerdevil[1503]: [ 1503] busno=10, sleep-multiplier = 1.00, Retesting for unsupported feature 0x41 returned Error_Info[DDCRC_RETRIES in ddc_write_read_with_retry, causes: DDCRC_DDC_DATA(10)] Jun 28 09:55:01 shervin-test org_kde_powerdevil[1503]: [ 1503] Watching for display connection changes, resolved watch mode = Watch_Mode_Xevent, poll loop interval = 100 millisec Jun 28 09:55:01 shervin-test org_kde_powerdevil[1503]: [ 1503] extra_stabilization_millisec: 0, stabilization_poll_millisec: 100 Jun 28 09:55:01 shervin-test org_kde_powerdevil[1503]: [ 1503] libddcutil recheck thread (nil) started Jun 28 09:55:01 shervin-test org_kde_powerdevil[1503]: [ 1503] libddcutil watch thread 0x55a26894bcb0 started Jun 28 09:55:01 shervin-test org_kde_powerdevil[1503]: [ 1503] Display redetection finished. Jun 28 09:55:01 shervin-test org_kde_powerdevil[1503]: [ 1503] Unquiescing libddcutil API... Jun 28 09:55:01 shervin-test org_kde_powerdevil[1503]: [ 3653] (dw_recheck_displays_func) Recheck interval: Slept for 200 millisec Jun 28 09:55:51 shervin-test dbus-broker[944]: A security policy denied :1.32 to send method call /org/freedesktop/login1/seat/seat0:org.freedesktop.login1.Seat.Inhibit to org.freedesktop.login1. Jun 28 09:55:51 shervin-test kwin_wayland[1208]: kwin_core: Failed to delay sleep: Sender is not authorized to send message Jun 28 09:56:06 shervin-test kactivitymanagerd[1476]: qt.qpa.wayland: There are no outputs - creating placeholder screen Jun 28 09:56:06 shervin-test ksecretd[1177]: qt.qpa.wayland: There are no outputs - creating placeholder screen Jun 28 09:56:06 shervin-test kdeconnectd[1712]: 2025-06-28T09:56:06 qt.qpa.wayland: There are no outputs - creating placeholder screen Jun 28 09:56:06 shervin-test python[1711]: qt.qpa.wayland: There are no outputs - creating placeholder screen Jun 28 09:56:06 shervin-test polkit-kde-authentication-agent-1[1502]: qt.qpa.wayland: There are no outputs - creating placeholder screen Jun 28 09:56:06 shervin-test kscreenlocker_greet[3536]: qt.qpa.wayland: There are no outputs - creating placeholder screen Jun 28 09:56:06 shervin-test kwin_wayland[1208]: kwin_xwl: Could not find a matching X RandR CRTC/output to set as primary for KWin::PlaceholderOutput(0x55b439c4f340, name="Placeholder-1", geometry=QRect(0,0 1920x1080), scale=1) Jun 28 09:56:06 shervin-test kded6[1392]: qt.qpa.wayland: There are no outputs - creating placeholder screen Jun 28 09:56:06 shervin-test konsole[3486]: qt.qpa.wayland: There are no outputs - creating placeholder screen Jun 28 09:56:06 shervin-test kwin_wayland[1208]: kwin_xwl: Could not find a matching X RandR CRTC/output to set as primary for KWin::PlaceholderOutput(0x55b439c4f340, name="Placeholder-1", geometry=QRect(0,0 1920x1080), scale=1) Jun 28 09:56:06 shervin-test xdg-desktop-portal-kde[1504]: qt.qpa.wayland: There are no outputs - creating placeholder screen Jun 28 09:56:06 shervin-test plasmashell[1439]: kde.plasmashell: requesting unexisting screen available rect -1 Jun 28 09:56:06 shervin-test org_kde_powerdevil[1503]: qt.qpa.wayland: There are no outputs - creating placeholder screen Jun 28 09:56:06 shervin-test plasmashell[1439]: qt.qpa.wayland: There are no outputs - creating placeholder screen Jun 28 09:56:07 shervin-test org_kde_powerdevil[1503]: [ 3654] Removing connected display on bus 10 Jun 28 09:56:07 shervin-test org_kde_powerdevil[1503]: [ 3654] Emitting DDCA_Display_Status_Event[357.229: DDCA_EVENT_DISPLAY_DISCONNECTED, card1-HDMI-A-2, dref: DDCA_Display_Ref[3], io_path:/dev/i2c-10, ddc working: false] Jun 28 09:56:07 shervin-test org_kde_powerdevil[1503]: [ 3654] libddcutil callback thread 0x7f6798002ff0 started Jun 28 09:56:07 shervin-test org_kde_powerdevil[1503]: [ 3654] Started 1 event callback thread(s) Jun 28 09:56:07 shervin-test kernel: HDR SB:aa 02 00 5f 84 c0 3e b0 33 cc 83 a8 1b ba 09 3a Jun 28 09:56:07 shervin-test kernel: HDR SB:3d 47 40 be 01 de 00 be 01 be 01 00 00 00 00 00 Jun 28 09:56:07 shervin-test kernel: HDR SB:aa 02 00 5f 84 c0 3e b0 33 cc 83 a8 1b ba 09 3a Jun 28 09:56:07 shervin-test kernel: HDR SB:3d 47 40 be 01 de 00 be 01 be 01 00 00 00 00 00 Jun 28 09:56:07 shervin-test kernel: HDR SB:aa 02 00 5f 84 c0 3e b0 33 cc 83 a8 1b ba 09 3a Jun 28 09:56:07 shervin-test kernel: HDR SB:3d 47 40 be 01 de 00 be 01 be 01 00 00 00 00 00 Jun 28 09:56:07 shervin-test kwin_wayland[1208]: kwin_xwl: Could not find a matching X RandR CRTC/output to set as primary for KWin::DrmOutput(0x55b439ed9610, name="HDMI-A-2", geometry=QRect(0,0 3840x2160), scale=1) Jun 28 09:56:07 shervin-test kernel: HDR SB:aa 02 00 5f 84 c0 3e b0 33 cc 83 a8 1b ba 09 3a Jun 28 09:56:07 shervin-test kernel: HDR SB:3d 47 40 be 01 de 00 be 01 be 01 00 00 00 00 00 Jun 28 09:56:07 shervin-test kernel: HDR SB:aa 02 00 5f 84 c0 3e b0 33 cc 83 a8 1b ba 09 3a Jun 28 09:56:07 shervin-test kernel: HDR SB:3d 47 40 be 01 de 00 be 01 be 01 00 00 00 00 00 Jun 28 09:56:07 shervin-test kscreenlocker_greet[3536]: file:///usr/share/plasma/shells/org.kde.plasma.desktop/contents/lockscreen/LockOsd.qml:10:1: "../osd": no such directory Jun 28 09:56:07 shervin-test org_kde_powerdevil[1503]: [ 3654] Adding connected display with bus 10 Jun 28 09:56:09 shervin-test org_kde_powerdevil[1503]: [ 3654] Emitting DDCA_Display_Status_Event[359.298: DDCA_EVENT_DISPLAY_CONNECTED, card1-HDMI-A-2, dref: DDCA_Display_Ref[4], io_path:/dev/i2c-10, ddc working: true] Jun 28 09:56:09 shervin-test org_kde_powerdevil[1503]: [ 3654] libddcutil callback thread 0x7f679801c270 started Jun 28 09:56:09 shervin-test org_kde_powerdevil[1503]: [ 3654] Started 1 event callback thread(s) Jun 28 09:56:09 shervin-test org_kde_powerdevil[1503]: [ 1503] Quiescing libddcutil API... Jun 28 09:56:09 shervin-test org_kde_powerdevil[1503]: [ 1503] Quiesce libddcutil API complete Jun 28 09:56:09 shervin-test org_kde_powerdevil[1503]: [ 1503] Display redetection starting. Jun 28 09:56:09 shervin-test org_kde_powerdevil[1503]: [ 3653] recheck thread terminating because watch thread terminated Jun 28 09:56:09 shervin-test org_kde_powerdevil[1503]: [ 1503] Watch thread terminated. Jun 28 09:56:09 shervin-test org_kde_powerdevil[1503]: [ 1503] is_sysfs_reliable_for_busno(1) returned false and session type != X11. Assuming not asleep Jun 28 09:56:09 shervin-test org_kde_powerdevil[1503]: [ 1503] is_sysfs_reliable_for_busno(2) returned false and session type != X11. Assuming not asleep Jun 28 09:56:09 shervin-test org_kde_powerdevil[1503]: [ 1503] is_sysfs_reliable_for_busno(3) returned false and session type != X11. Assuming not asleep Jun 28 09:56:09 shervin-test org_kde_powerdevil[1503]: [ 1503] is_sysfs_reliable_for_busno(4) returned false and session type != X11. Assuming not asleep Jun 28 09:56:09 shervin-test org_kde_powerdevil[1503]: [ 1503] is_sysfs_reliable_for_busno(5) returned false and session type != X11. Assuming not asleep Jun 28 09:56:09 shervin-test org_kde_powerdevil[1503]: [ 1503] is_sysfs_reliable_for_busno(6) returned false and session type != X11. Assuming not asleep Jun 28 09:56:11 shervin-test org_kde_powerdevil[1503]: [ 1503] busno=10, sleep-multiplier= 2.00, Testing for unsupported feature 0xdd returned Error_Info[DDCRC_RETRIES in ddc_write_read_with_retry, causes: DDCRC_READ_ALL_ZERO, DDCRC_DDC_DATA(9)] Jun 28 09:56:11 shervin-test org_kde_powerdevil[1503]: [ 1503] Turning off dynamic sleep and retrying Jun 28 09:56:12 shervin-test org_kde_powerdevil[1503]: [ 1503] busno=10, sleep-multiplier = 1.00, Retesting for unsupported feature 0xdd returned Error_Info[DDCRC_RETRIES in ddc_write_read_with_retry, causes: DDCRC_DDC_DATA(10)] Jun 28 09:56:14 shervin-test org_kde_powerdevil[1503]: [ 1503] busno=10, sleep-multiplier= 2.00, Testing for unsupported feature 0x41 returned Error_Info[DDCRC_RETRIES in ddc_write_read_with_retry, causes: DDCRC_DDC_DATA(10)] Jun 28 09:56:14 shervin-test org_kde_powerdevil[1503]: [ 1503] Turning off dynamic sleep and retrying Jun 28 09:56:16 shervin-test org_kde_powerdevil[1503]: [ 1503] busno=10, sleep-multiplier = 1.00, Retesting for unsupported feature 0x41 returned Error_Info[DDCRC_RETRIES in ddc_write_read_with_retry, causes: DDCRC_DDC_DATA(10)] Jun 28 09:56:17 shervin-test org_kde_powerdevil[1503]: [ 1503] Watching for display connection changes, resolved watch mode = Watch_Mode_Xevent, poll loop interval = 100 millisec Jun 28 09:56:17 shervin-test org_kde_powerdevil[1503]: [ 1503] extra_stabilization_millisec: 0, stabilization_poll_millisec: 100 Jun 28 09:56:17 shervin-test org_kde_powerdevil[1503]: [ 1503] libddcutil recheck thread (nil) started Jun 28 09:56:17 shervin-test org_kde_powerdevil[1503]: [ 1503] libddcutil watch thread 0x55a2689175c0 started Jun 28 09:56:17 shervin-test org_kde_powerdevil[1503]: [ 1503] Display redetection finished. Jun 28 09:56:17 shervin-test org_kde_powerdevil[1503]: [ 1503] Unquiescing libddcutil API... Jun 28 09:56:17 shervin-test org_kde_powerdevil[1503]: [ 3719] (dw_recheck_displays_func) Recheck interval: Slept for 200 millisec Jun 28 09:57:41 shervin-test kscreenlocker_greet[3536]: qt.qpa.wayland: Could not create EGL surface (EGL error 0x3000) Jun 28 09:57:41 shervin-test kscreenlocker_greet[3536]: Failed to write to the pipe: Bad file descriptor. -----------------------------------
*** Bug 506015 has been marked as a duplicate of this bug. ***
Setting to confirmed, given the duplicates
A possibly relevant merge request was started @ https://invent.kde.org/plasma/kwin/-/merge_requests/7868
*** Bug 506375 has been marked as a duplicate of this bug. ***
(In reply to Bug Janitor Service from comment #14) > A possibly relevant merge request was started @ > https://invent.kde.org/plasma/kwin/-/merge_requests/7868 After porting your patches (and review suggestions) to version 6.4.1 and recompiling/reinstalling, the issue is gone. My report : https://bugs.kde.org/show_bug.cgi?id=506375
Git commit e177e1d2da8a278f85d5d3e24ffdc01e7c2eaca6 by Xaver Hugl. Committed on 04/07/2025 at 13:10. Pushed by zamundaaa into branch 'master'. backends/drm: don't use UUID to identify outputs The UUID is only set later by the output configuration system, so it can't be used in the drm backend when deciding the dpms state of a "new" output. This changes it to use EDID ID, EDID hash or connector name instead, which are valid much earlier and are reliable enough for the dpms workaround. Related: bug 506135, bug 505953 M +19 -3 src/backends/drm/drm_backend.cpp https://invent.kde.org/plasma/kwin/-/commit/e177e1d2da8a278f85d5d3e24ffdc01e7c2eaca6
Git commit 8f331a268cf1e457b8727080763869e1b426dae8 by Xaver Hugl, on behalf of Xaver Hugl. Committed on 04/07/2025 at 13:57. Pushed by zamundaaa into branch 'Plasma/6.4'. backends/drm: don't use UUID to identify outputs The UUID is only set later by the output configuration system, so it can't be used in the drm backend when deciding the dpms state of a "new" output. This changes it to use EDID ID, EDID hash or connector name instead, which are valid much earlier and are reliable enough for the dpms workaround. Related: bug 506135, bug 505953 (cherry picked from commit e177e1d2da8a278f85d5d3e24ffdc01e7c2eaca6) Co-authored-by: Xaver Hugl <xaver.hugl@kde.org> M +19 -3 src/backends/drm/drm_backend.cpp https://invent.kde.org/plasma/kwin/-/commit/8f331a268cf1e457b8727080763869e1b426dae8
I can still reproduce it on Plasma 6.4.3 on every try.
Reopening, since the bug is still happening on 6.4.3
(In reply to Oleg Gorobets from comment #19) > I can still reproduce it on Plasma 6.4.3 on every try. Does putting KWIN_DPMS_WORKAROUND_TIMEOUT=100000 into /etc/environment and rebooting make a difference?
(In reply to Zamundaaa from comment #21) > Does putting KWIN_DPMS_WORKAROUND_TIMEOUT=100000 into /etc/environment and > rebooting make a difference? Just tried it, same thing, no difference.
Created attachment 183864 [details] print ids on output hotplug
If that doesn't work, then the display must not be recognized as the same one after re-plugging. Could you apply that patch to KWin to find out?
I'm experiencing same problem on 6.4.4, with print ids patch I got: sie 09 15:43:26 arch-portable kwin_wayland[816]: kwin_core: Failed to delay sleep: Sender is not authorized to send message sie 09 15:43:32 arch-portable kwin_wayland[816]: removed dpms-off output "PHL 49732 9057 34 2020 0" sie 09 15:43:32 arch-portable kwin_wayland[816]: kwin_xwl: Could not find a matching X RandR CRTC/output to set as primary for KWin::DrmOutput(0x55cf963dd1c0, name="eDP-1", geometry=QRect(0,0 1440x900), scale=2) sie 09 15:43:33 arch-portable kwin_wayland[816]: kwin_xwl: Could not find a matching X RandR CRTC/output to set as primary for KWin::DrmOutput(0x55cf963dd1c0, name="eDP-1", geometry=QRect(0,0 1440x900), scale=2) sie 09 15:43:33 arch-portable kwin_wayland[816]: kwin_xwl: Could not find a matching X RandR CRTC/output to set as primary for KWin::DrmOutput(0x55cf963dd1c0, name="eDP-1", geometry=QRect(0,0 1440x900), scale=2) sie 09 15:43:33 arch-portable kwin_wayland[816]: adding output "PHL 49732 9057 34 2020 0" sie 09 15:43:33 arch-portable kwin_wayland[816]: turning it on sie 09 15:43:33 arch-portable kwin_wayland[816]: kwin_wayland_drm: Atomic modeset test failed! Invalid argument sie 09 15:43:33 arch-portable kwin_wayland[816]: kwin_wayland_drm: Atomic modeset test failed! Invalid argument sie 09 15:43:33 arch-portable kwin_wayland[816]: kwin_xwl: Could not find a matching X RandR CRTC/output to set as primary for KWin::DrmOutput(0x55cf963deab0, name="HDMI-A-1", geometry=QRect(0,0 1920x1080), scale=1) sie 09 15:43:34 arch-portable kwin_wayland[816]: kwin_xwl: Could not find a matching X RandR CRTC/output to set as primary for KWin::DrmOutput(0x55cf963deab0, name="HDMI-A-1", geometry=QRect(0,0 1920x1080), scale=1) sie 09 15:43:34 arch-portable kwin_wayland[816]: kwin_xwl: Could not find a matching X RandR CRTC/output to set as primary for KWin::DrmOutput(0x55cf963deab0, name="HDMI-A-1", geometry=QRect(0,0 1920x1080), scale=1) sie 09 15:43:34 arch-portable kwin_wayland[816]: removing from off list: "PHL 49732 9057 34 2020 0" I added print to allOff lambda and it outputs: "eDP-1" = KWin::Output::DpmsMode::On
(In reply to Dinolek from comment #25) > I added print to allOff lambda and it outputs: "eDP-1" = > KWin::Output::DpmsMode::On That's very useful, thanks. I assume then that your laptop display is turned off (or you have the lid closed)?
(In reply to Zamundaaa from comment #26) > (In reply to Dinolek from comment #25) > > I added print to allOff lambda and it outputs: "eDP-1" = > > KWin::Output::DpmsMode::On > That's very useful, thanks. I assume then that your laptop display is turned > off (or you have the lid closed)? Yes, it's turned off. I added print to updateDpmsMode and got this. With internal and external screens: sie 11 15:10:02 arch-portable kwin_wayland[71084]: updateDpmsMode "eDP-1" KWin::Output::DpmsMode::AboutToTurnOff sie 11 15:10:02 arch-portable kwin_wayland[71084]: kwin_core: Failed to delay sleep: Sender is not authorized to send message sie 11 15:10:02 arch-portable kwin_wayland[71084]: updateDpmsMode "HDMI-A-1" KWin::Output::DpmsMode::AboutToTurnOff sie 11 15:10:02 arch-portable kwin_wayland[71084]: kwin_core: Failed to delay sleep: Sender is not authorized to send message sie 11 15:10:02 arch-portable kwin_wayland[71084]: updateDpmsMode "eDP-1" KWin::Output::DpmsMode::Off sie 11 15:10:02 arch-portable kwin_wayland[71084]: updateDpmsMode "HDMI-A-1" KWin::Output::DpmsMode::Off sie 11 15:10:08 arch-portable kwin_wayland[71084]: removed dpms-off output "PHL 49732 9057 34 2020 0" sie 11 15:10:08 arch-portable kwin_wayland[71084]: updateDpmsMode "eDP-1" KWin::Output::DpmsMode::On sie 11 15:10:09 arch-portable kwin_wayland[71084]: adding output "PHL 49732 9057 34 2020 0" sie 11 15:10:09 arch-portable kwin_wayland[71084]: allOff "eDP-1" = KWin::Output::DpmsMode::On sie 11 15:10:09 arch-portable kwin_wayland[71084]: "PHL 49732 9057 34 2020 0" sie 11 15:10:09 arch-portable kwin_wayland[71084]: turning it on sie 11 15:10:09 arch-portable kwin_wayland[71084]: kwin_xwl: Could not find a matching X RandR CRTC/output to set as primary for KWin::DrmOutput(0x563c784839d0, name="HDMI-A-1", geometry=QRect(1440,0 1920x1080), scale=1) sie 11 15:10:09 arch-portable kwin_wayland[71084]: kwin_core: KWin::LayerShellV1Window doesn't support setting maximized state sie 11 15:10:09 arch-portable kwin_wayland[71084]: kwin_core: KWin::LayerShellV1Window doesn't support setting fullscreen state sie 11 15:10:10 arch-portable kwin_wayland[71084]: removing from off list: "PHL 49732 9057 34 2020 0" With external screen enabled only: sie 11 15:14:50 arch-portable kwin_wayland[71084]: kwin_wayland_drm: atomic commit failed: Invalid argument sie 11 15:14:50 arch-portable kwin_wayland[71084]: updateDpmsMode "HDMI-A-1" KWin::Output::DpmsMode::AboutToTurnOff sie 11 15:14:50 arch-portable kwin_wayland[71084]: kwin_core: Failed to delay sleep: Sender is not authorized to send message sie 11 15:14:51 arch-portable kwin_wayland[71084]: updateDpmsMode "HDMI-A-1" KWin::Output::DpmsMode::Off sie 11 15:14:57 arch-portable kwin_wayland[71084]: removed dpms-off output "PHL 49732 9057 34 2020 0" sie 11 15:14:57 arch-portable kwin_wayland[71084]: kwin_xwl: Could not find a matching X RandR CRTC/output to set as primary for KWin::DrmOutput(0x563c76ff9150, name="eDP-1", geometry=QRect(0,0 1440x900), scale=2) sie 11 15:14:57 arch-portable kwin_wayland[71084]: adding output "PHL 49732 9057 34 2020 0" sie 11 15:14:57 arch-portable kwin_wayland[71084]: allOff "eDP-1" = KWin::Output::DpmsMode::On sie 11 15:14:57 arch-portable kwin_wayland[71084]: "PHL 49732 9057 34 2020 0" sie 11 15:14:57 arch-portable kwin_wayland[71084]: turning it on sie 11 15:14:57 arch-portable kwin_wayland[71084]: kwin_wayland_drm: Atomic modeset test failed! Invalid argument sie 11 15:14:57 arch-portable kwin_wayland[71084]: kwin_wayland_drm: Atomic modeset test failed! Invalid argument sie 11 15:14:58 arch-portable kwin_wayland[71084]: kwin_xwl: Could not find a matching X RandR CRTC/output to set as primary for KWin::DrmOutput(0x563c784839d0, name="HDMI-A-1", geometry=QRect(0,0 1920x1080), scale=1) sie 11 15:14:59 arch-portable kwin_wayland[71084]: removing from off list: "PHL 49732 9057 34 2020 0"
Git commit efd9943d9c128f21cd32d131fca3d8942698df54 by Xaver Hugl. Committed on 11/08/2025 at 13:45. Pushed by zamundaaa into branch 'master'. backends/drm: ignore disabled outputs when checking for dpms off Only enabled outputs have their dpms state set by powerdevil M +1 -1 src/backends/drm/drm_backend.cpp https://invent.kde.org/plasma/kwin/-/commit/efd9943d9c128f21cd32d131fca3d8942698df54
(In reply to Dinolek from comment #27) > Yes, it's turned off. Then the commit will fix it :)
(In reply to Zamundaaa from comment #29) > (In reply to Dinolek from comment #27) > > Yes, it's turned off. > Then the commit will fix it :) For me enabled is true at this point. When I test it with kscreen-doctor -d off: 1. External screen goes black 2. Internal screen turns on 3. After second internal screen turns off 4. External screen turns on I was testing it before with lockscreen timeout and in there internal screen is black all the time.
Git commit d03a21db327fde75afd4a797b0d49eb48b462104 by Xaver Hugl. Committed on 11/08/2025 at 15:42. Pushed by zamundaaa into branch 'Plasma/6.4'. backends/drm: ignore disabled outputs when checking for dpms off Only enabled outputs have their dpms state set by powerdevil (cherry picked from commit efd9943d9c128f21cd32d131fca3d8942698df54) Co-authored-by: Xaver Hugl <xaver.hugl@kde.org> M +1 -1 src/backends/drm/drm_backend.cpp https://invent.kde.org/plasma/kwin/-/commit/d03a21db327fde75afd4a797b0d49eb48b462104
(In reply to Dinolek from comment #30) > For me enabled is true at this point. > > When I test it with kscreen-doctor -d off: > 1. External screen goes black > 2. Internal screen turns on > 3. After second internal screen turns off > 4. External screen turns on > > I was testing it before with lockscreen timeout and in there internal screen > is black all the time. Ok, I think we had some miscommunication here. With "off" I meant that the output is actually disabled in the display settings, or the lid is closed (where KWin automatically disables it). I sounds more like your internal display has issues than the external one, or something else wakes the displays entirely. This bit > sie 11 15:10:08 arch-portable kwin_wayland[71084]: removed dpms-off output "PHL 49732 9057 34 2020 0" > sie 11 15:10:08 arch-portable kwin_wayland[71084]: updateDpmsMode "eDP-1" KWin::Output::DpmsMode::On is quite weird... Could you get a backtrace of that particular updateDpmsMode call?
(In reply to Zamundaaa from comment #32) > (In reply to Dinolek from comment #30) > > For me enabled is true at this point. > > > > When I test it with kscreen-doctor -d off: > > 1. External screen goes black > > 2. Internal screen turns on > > 3. After second internal screen turns off > > 4. External screen turns on > > > > I was testing it before with lockscreen timeout and in there internal screen > > is black all the time. > Ok, I think we had some miscommunication here. With "off" I meant that the > output is actually disabled in the display settings, or the lid is closed > (where KWin automatically disables it). I had the internal display disabled in the display settings. I added logs with both screens, as that case is broken too, though it looks like a different issue. > I sounds more like your internal display has issues than the external one, > or something else wakes the displays entirely. This bit > > sie 11 15:10:08 arch-portable kwin_wayland[71084]: removed dpms-off output "PHL 49732 9057 34 2020 0" > > sie 11 15:10:08 arch-portable kwin_wayland[71084]: updateDpmsMode "eDP-1" KWin::Output::DpmsMode::On > is quite weird... Could you get a backtrace of that particular > updateDpmsMode call? This updateDpmsMode call only happens when both monitors are on. With external monitor enabled only, internal monitor has DpmsMode::On all the time despite being off. KWin::DrmOutput::updateDpmsMode(KWin::Output::DpmsMode) KWin::DrmOutput::setDrmDpmsMode(KWin::Output::DpmsMode) KWin::DrmOutput::setDpmsMode(KWin::Output::DpmsMode) KWin::DpmsInputEventFilter::notify() non-virtual thunk to KWin::DpmsInputEventFilter::pointerMotion(KWin::PointerMotionEvent*) KWin::PointerInputRedirection::processMotionInternal(QPointF const&, QPointF const&, QPointF const&, std::chrono::duration<long, std::ratio<1l, 1000000l> >, KWin::InputDevice*, KWin::PointerInputRedirection::MotionType) KWin::PointerInputRedirection::processMotionAbsolute(QPointF const&, std::chrono::duration<long, std::ratio<1l, 1000000l> >, KWin::InputDevice*) KWin::PointerInputRedirection::updateAfterScreenChange() QtPrivate::QSlotObjectBase::Deleter::operator()(QtPrivate::QSlotObjectBase*) const inlined at /usr/include/c++/15.1.1/bits/unique_ptr.h:399:17 in void doActivate<false>(QObject*, int, void**) KWin::Workspace::updateOutputs(std::optional<QList<KWin::Output*> > const&) KWin::Workspace::applyOutputConfiguration(KWin::OutputConfiguration&, std::optional<QList<KWin::Output*> > const&) KWin::Workspace::updateOutputConfiguration() KWin::Workspace::slotOutputBackendOutputsQueried() QtPrivate::QSlotObjectBase::Deleter::operator()(QtPrivate::QSlotObjectBase*) const inlined at /usr/include/c++/15.1.1/bits/unique_ptr.h:399:17 in void doActivate<false>(QObject*, int, void**) KWin::DrmBackend::updateOutputs() KWin::DrmBackend::handleUdevEvent() QtPrivate::QSlotObjectBase::Deleter::operator()(QtPrivate::QSlotObjectBase*) const inlined at /usr/include/c++/15.1.1/bits/unique_ptr.h:399:17 in void doActivate<false>(QObject*, int, void**) QWeakPointer<QObject>::isNull() const inlined at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qpointer.h:86:23 in QSocketNotifier::event(QEvent*) QCoreApplicationPrivate::setEventSpontaneous(QEvent*, bool) inlined at /usr/src/debug/qt6-base/qtbase/src/widgets/kernel/qapplication.cpp:3305:49 in QApplicationPrivate::notify_helper(QObject*, QEvent*) QCoreApplication::notifyInternal2(QObject*, QEvent*) QEventDispatcherUNIXPrivate::activateSocketNotifiers() QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) QUnixEventDispatcherQPA::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) std::__atomic_base<int>::load(std::memory_order) const inlined at /usr/src/debug/qt6-base/qtbase/src/corelib/thread/qatomic_cxx11.h:214:29 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) QCoreApplication::exec() main With only external monitor enabled in settings, after external monitor is sleeping, internal monitor gets enabled, affecting allOff macro. I get this after "removed dpms-off output "PHL 49732 9057 34 2020 0"": sie 12 09:00:02 arch-portable kwin_wayland[335550]: DrmBackend::applyOutputChanges toBeEnabled << "eDP-1" sie 12 09:00:02 arch-portable kwin_wayland[335550]: kwin_wayland_drm: Attempting to match QList(DrmConnector(id=99, gpu="/dev/dri/card1", name="eDP-1", connection="Connected", countMode=13), DrmConnector(id=107, gpu="/dev/dri/card1", name="HDMI-A-1", connection="Disconnected", countMode=0)) with QList(DrmObject(id=85, gpu="/dev/dri/card1"), DrmObject(id=89, gpu="/dev/dri/card1"), DrmObject(id=93, gpu="/dev/dri/card1"), DrmObject(id=97, gpu="/dev/dri/card1")) sie 12 09:00:02 arch-portable kwin_wayland[335550]: kwin_wayland_drm: Assigning CRTC 85 to connector 99 sie 12 09:00:02 arch-portable kwin_wayland[335550]: kwin_wayland_drm: Attempting to match QList(DrmConnector(id=107, gpu="/dev/dri/card1", name="HDMI-A-1", connection="Disconnected", countMode=0)) with QList(DrmObject(id=89, gpu="/dev/dri/card1"), DrmObject(id=93, gpu="/dev/dri/card1"), DrmObject(id=97, gpu="/dev/dri/card1")) sie 12 09:00:02 arch-portable kwin_wayland[335550]: kwin_wayland_drm: Attempting to match QList() with QList(DrmObject(id=89, gpu="/dev/dri/card1"), DrmObject(id=93, gpu="/dev/dri/card1"), DrmObject(id=97, gpu="/dev/dri/card1")) sie 12 09:00:02 arch-portable kwin_wayland[335550]: kwin_wayland_drm: Testing CRTC assignment... passed sie 12 09:00:02 arch-portable kwin_wayland[335550]: Output::setState "eDP-1" enabled = true KWin::Output::setState(KWin::Output::State const&) [clone .cold] QArrayDataPointer<char16_t>::QArrayDataPointer(QArrayDataPointer<char16_t> const&) inlined at /usr/include/qt6/QtCore/qstring.h:1340:51 in KWin::DrmOutput::applyQueuedChanges(std::shared_ptr<KWin::OutputChangeSet> const&) [clone .part.0] KWin::DrmBackend::applyOutputChanges(KWin::OutputConfiguration const&) KWin::Workspace::applyOutputConfiguration(KWin::OutputConfiguration&, std::optional<QList<KWin::Output*> > const&) KWin::Workspace::updateOutputConfiguration() KWin::Workspace::slotOutputBackendOutputsQueried() QtPrivate::QSlotObjectBase::Deleter::operator()(QtPrivate::QSlotObjectBase*) const inlined at /usr/include/c++/15.1.1/bits/unique_ptr.h:399:17 in void doActivate<false>(QObject*, int, void**) KWin::DrmBackend::updateOutputs() KWin::DrmBackend::handleUdevEvent() QtPrivate::QSlotObjectBase::Deleter::operator()(QtPrivate::QSlotObjectBase*) const inlined at /usr/include/c++/15.1.1/bits/unique_ptr.h:399:17 in void doActivate<false>(QObject*, int, void**) QWeakPointer<QObject>::isNull() const inlined at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qpointer.h:86:23 in QSocketNotifier::event(QEvent*) QCoreApplicationPrivate::setEventSpontaneous(QEvent*, bool) inlined at /usr/src/debug/qt6-base/qtbase/src/widgets/kernel/qapplication.cpp:3305:49 in QApplicationPrivate::notify_helper(QObject*, QEvent*) QCoreApplication::notifyInternal2(QObject*, QEvent*) QEventDispatcherUNIXPrivate::activateSocketNotifiers() QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) QUnixEventDispatcherQPA::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) std::__atomic_base<int>::load(std::memory_order) const inlined at /usr/src/debug/qt6-base/qtbase/src/corelib/thread/qatomic_cxx11.h:214:29 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) QCoreApplication::exec() main sie 12 09:00:03 arch-portable kwin_wayland[335550]: kwin_wayland_drm: Received change event for monitored drm device "/dev/dri/card1" sie 12 09:00:03 arch-portable kwin_wayland[335550]: kwin_wayland_drm: New output on GPU /dev/dri/card1: PHL 242E1GJ sie 12 09:00:03 arch-portable kwin_wayland[335550]: adding output "PHL 49732 9057 34 2020 0" sie 12 09:00:03 arch-portable kwin_wayland[335550]: allOff "eDP-1" mode = KWin::Output::DpmsMode::On enabled = true sie 12 09:00:03 arch-portable kwin_wayland[335550]: turning it on sie 12 09:00:03 arch-portable kwin_wayland[335550]: DrmBackend::applyOutputChanges toBeDisabled << "eDP-1" sie 12 09:00:03 arch-portable kwin_wayland[335550]: DrmBackend::applyOutputChanges toBeEnabled << "HDMI-A-1" sie 12 09:00:03 arch-portable kwin_wayland[335550]: kwin_wayland_drm: Attempting to match QList(DrmConnector(id=99, gpu="/dev/dri/card1", name="eDP-1", connection="Connected", countMode=13), DrmConnector(id=107, gpu="/dev/dri/card1", name="HDMI-A-1", connection="Connected", countMode=45)) with QList(DrmObject(id=85, gpu="/dev/dri/card1"), DrmObject(id=89, gpu="/dev/dri/card1"), DrmObject(id=93, gpu="/dev/dri/card1"), DrmObject(id=97, gpu="/dev/dri/card1")) sie 12 09:00:03 arch-portable kwin_wayland[335550]: kwin_wayland_drm: Unassigning CRTC from connector 99 sie 12 09:00:03 arch-portable kwin_wayland[335550]: kwin_wayland_drm: Attempting to match QList(DrmConnector(id=107, gpu="/dev/dri/card1", name="HDMI-A-1", connection="Connected", countMode=45)) with QList(DrmObject(id=85, gpu="/dev/dri/card1"), DrmObject(id=89, gpu="/dev/dri/card1"), DrmObject(id=93, gpu="/dev/dri/card1"), DrmObject(id=97, gpu="/dev/dri/card1")) sie 12 09:00:03 arch-portable kwin_wayland[335550]: kwin_wayland_drm: Assigning CRTC 85 to connector 107 sie 12 09:00:03 arch-portable kwin_wayland[335550]: kwin_wayland_drm: Attempting to match QList() with QList(DrmObject(id=89, gpu="/dev/dri/card1"), DrmObject(id=93, gpu="/dev/dri/card1"), DrmObject(id=97, gpu="/dev/dri/card1")) sie 12 09:00:03 arch-portable kwin_wayland[335550]: kwin_wayland_drm: Testing CRTC assignment... passed sie 12 09:00:03 arch-portable kwin_wayland[335550]: Output::setState "HDMI-A-1" enabled = true sie 12 09:00:03 arch-portable kwin_wayland[335550]: Output::setState "eDP-1" enabled = false sie 12 09:00:04 arch-portable kwin_wayland[335550]: removing from off list: "PHL 49732 9057 34 2020 0"
(In reply to Zamundaaa from comment #24) I just compiled with 'print ids' patch and here is my output: сер 14 17:31:22 p15v kwin_wayland[939]: kwin_core: Failed to delay sleep: Sender is not authorized to send message сер 14 17:31:34 p15v kwin_wayland[939]: removed dpms-off output "PHL 49494 29203 47 2019 0" сер 14 17:31:34 p15v kwin_wayland[939]: kwin_xwl: Could not find a matching X RandR CRTC/output to set as primary for KWin::DrmOutput(0x5b534c572270, name="eDP-1", geometry=QRect(0,0 1920x1080), scale=1) сер 14 17:31:35 p15v kwin_wayland[939]: kwin_xwl: Could not find a matching X RandR CRTC/output to set as primary for KWin::DrmOutput(0x5b534c572270, name="eDP-1", geometry=QRect(0,0 1920x1080), scale=1) сер 14 17:31:35 p15v kwin_wayland[939]: kwin_xwl: Could not find a matching X RandR CRTC/output to set as primary for KWin::DrmOutput(0x5b534c572270, name="eDP-1", geometry=QRect(0,0 1920x1080), scale=1) сер 14 17:31:35 p15v kwin_wayland[939]: adding output "PHL 49494 29203 47 2019 0" сер 14 17:31:35 p15v kwin_wayland[939]: turning it on сер 14 17:31:35 p15v kwin_wayland[939]: kwin_wayland_drm: Atomic modeset test failed! Invalid argument сер 14 17:31:35 p15v kwin_wayland[939]: kwin_wayland_drm: Atomic modeset test failed! Invalid argument сер 14 17:31:35 p15v kwin_wayland[939]: kwin_xwl: Could not find a matching X RandR CRTC/output to set as primary for KWin::DrmOutput(0x5b534c573a20, name="HDMI-A-1", geometry=QRect(0,0 1920x1080), scale=1) сер 14 17:31:35 p15v kwin_wayland[939]: kwin_wayland_drm: Atomic modeset test failed! Invalid argument сер 14 17:31:35 p15v kwin_wayland[939]: kwin_wayland_drm: Atomic modeset test failed! Invalid argument сер 14 17:31:35 p15v kwin_wayland[939]: kwin_wayland_drm: Atomic modeset test failed! Invalid argument сер 14 17:31:35 p15v kwin_wayland[939]: kwin_wayland_drm: Atomic modeset test failed! Invalid argument сер 14 17:31:35 p15v kwin_wayland[939]: kwin_xwl: Could not find a matching X RandR CRTC/output to set as primary for KWin::DrmOutput(0x5b534c573a20, name="HDMI-A-1", geometry=QRect(0,0 1920x1080), scale=1) сер 14 17:31:35 p15v kwin_wayland[939]: kwin_xwl: Could not find a matching X RandR CRTC/output to set as primary for KWin::DrmOutput(0x5b534c573a20, name="HDMI-A-1", geometry=QRect(0,0 1920x1080), scale=1) сер 14 17:31:36 p15v kwin_wayland[939]: removing from off list: "PHL 49494 29203 47 2019 0" сер 14 17:32:08 p15v kwin_wayland[939]: qt.dbus.integration: QDBusConnection: couldn't handle call to Teardown, no slot matched сер 14 17:32:08 p15v kwin_wayland[939]: qt.dbus.integration: QDBusConnection: couldn't handle call to Teardown, no slot matched сер 14 17:32:08 p15v kwin_wayland[939]: qt.dbus.integration: Could not find slot Krunner1Adaptor::Teardown
I added some more logging here and there and I can confirm findings by Dinolek: 1) Built-in display stays in DPMS mode == ON all the time despite being disabled in Display Configuration 2) When external display is going to sleep, built-in display gets re-enabled. It looks as built-in display gets re-enabled because configuration of the outputs changes and KWin loads different setup in OutputConfigurationStore::findSetup(). These setups are also stored in this file: .config/kwinoutputconfig.json. There are total of 5 setups in my case. When external display is on it loads this one ("outputIndex": 0, "enabled": false): { "lidClosed": false, "outputs": [ { "enabled": false, "outputIndex": 0, "position": { "x": 216, "y": 1080 }, "priority": -1, "replicationSource": "" }, { "enabled": true, "outputIndex": 1, "position": { "x": 0, "y": 0 }, "priority": 0, "replicationSource": "" } ] } When external display goes off for a second, it loads this one ("outputIndex": 0, "enabled": true): { "lidClosed": true, "outputs": [ { "enabled": true, "outputIndex": 0, "position": { "x": 0, "y": 0 }, "priority": 0, "replicationSource": "" } ] },
I'm marking this as confirmed since Oleg was able to confirm