Bug 483803 - Screen does not turn back on after Powerdevil turns it off.
Summary: Screen does not turn back on after Powerdevil turns it off.
Status: RESOLVED WORKSFORME
Alias: None
Product: kwin
Classification: Plasma
Component: platform-drm (other bugs)
Version First Reported In: 6.0.4
Platform: Arch Linux Linux
: NOR normal
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords: qt6
Depends on:
Blocks:
 
Reported: 2024-03-17 01:02 UTC by stevenmcfeely42
Modified: 2024-10-13 16:28 UTC (History)
5 users (show)

See Also:
Latest Commit:
Version Fixed/Implemented In:
Sentry Crash Report:


Attachments
journalctl output covering the screen turning off and not turning back on (48.27 KB, text/x-log)
2024-03-17 01:02 UTC, stevenmcfeely42
Details

Note You need to log in before you can comment on or make changes to this bug.
Description stevenmcfeely42 2024-03-17 01:02:58 UTC
Created attachment 167355 [details]
journalctl output covering the screen turning off and not turning back on

SUMMARY
When using Powerdevil's default settings, the screen turns off after 10 minutes. However, no amount of user input will wake the screen. The only way I have found to wake it (short of a hard shutdown) is to unplug the monitor's power cord and then plug it back in. Unlike other similar reported bugs such as, https://bugs.kde.org/show_bug.cgi?id=477738, the monitor's backlight clearly does not turn on at all. So, it is not a black screen that may or may not have a cursor.

STEPS TO REPRODUCE
1. Have Powerdevil set to turn off the screen after a certain amount of time (default is after 10 min)
2. Do not interact with the machine and let Powerdevil turn off the screen 
3. Provide user input that normally would wake the screen (type on the keyboard, move/click the mouse, etc.)

OBSERVED RESULT
The screen does not turn back on - the backlight remains off.

EXPECTED RESULT
The screen turns back on.

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: Arch Linux
KDE Plasma Version: 6.0.2
KDE Frameworks Version: 6.0.0
Qt Version: 6.6.2
Kernel Version: 6.7.9-arch1-1 (64-bit)
Graphics Platform: Wayland

HARDWARE:
CPU: Ryzen 9 7950X3d
GPU: Radeon RX 7900XTX
RAM: 64 GB
Product Name: MS-7D69 (MSI MEG X670E ACE)

ADDITIONAL INFORMATION
The only way to wake the screen up is to unplug it's power cord and then plug it back in.  If I put the machine to sleep, then the monitor wakes up as expected. This issue has occurred on both 6.0.2 and 6.0.1, but never happened on 5.27.10 (the last plasma 5 version released on Arch).

The display is plugged directly into the dGPU, the iGPU is not used for anything. 

The attached file show the output of journalctl from the moment I stopped interacting with the system until the screen turned off and I attempted to turn the screen back on by interacting with the system (typing my login password, moving the mouse, etc.). It also includes the screen's power cord being unplugged and then re-plugged in.
Comment 1 stevenmcfeely42 2024-04-01 13:35:08 UTC
The issue still exists in 6.0.3.
Comment 2 Re Play 2024-04-05 12:46:11 UTC
Same issue here. Googling around a bit, I found that Mutter had an issue that was extremely similar to this. They never found the exact cause, but had a Mutter specific workaround. Perhaps that could be useful for narrowing this down? https://bugs.launchpad.net/ubuntu/+source/mutter/+bug/1968040
Comment 3 stevenmcfeely42 2024-04-24 07:58:52 UTC
Updated to 6.0.4 late last week, but the issue still appears to occur.
Comment 4 Jakob Petsovits 2024-04-26 04:30:18 UTC
For later convenience, the error portion of the log goes as follows. Apparently kscreenlocker_greet does not have a valid EGL surface to draw its contents on (preceded by a few potentially unrelated pipewire errors):

Mar 12 12:41:38 smcfeely-desktop wireplumber[2238]: <WpPortalPermissionStorePlugin:0x62c09124b2d0> Failed to call Lookup: GDBus.Error:org.freedesktop.portal.Error.NotFound: No entry for camera
Mar 12 12:41:38 smcfeely-desktop pipewire[2229]: [0:34:16.149552308] [2229] ERROR IPAModule ipa_module.cpp:172 Symbol ipaModuleInfo not found
Mar 12 12:41:38 smcfeely-desktop pipewire[2229]: [0:34:16.149561108] [2229] ERROR IPAModule ipa_module.cpp:292 v4l2-compat.so: IPA module has no valid info
Mar 12 12:41:38 smcfeely-desktop pipewire[2229]: [0:34:16.149575598] [2229]  INFO Camera camera_manager.cpp:284 libcamera v0.2.0
Mar 12 12:41:38 smcfeely-desktop wireplumber[2238]: <WpPortalPermissionStorePlugin:0x62c09124b2d0> Failed to call Lookup: GDBus.Error:org.freedesktop.portal.Error.NotFound: No entry for camera
Mar 12 12:41:46 smcfeely-desktop kscreenlocker_greet[3770]: file:///usr/share/plasma/look-and-feel/org.kde.breeze.desktop/contents/lockscreen/NoPasswordUnlock.qml:26: ReferenceError: tryToSwitchUser is not defined
Mar 12 12:41:48 smcfeely-desktop kscreenlocker_greet[3770]: qt.qpa.wayland: eglSwapBuffers failed with 0x300d, surface: 0x0
Mar 12 12:41:48 smcfeely-desktop kscreenlocker_greet[3770]: qt.qpa.wayland: Could not create EGL surface (EGL error 0x3000)
Mar 12 12:41:49 smcfeely-desktop kscreenlocker_greet[3770]: Failed to write to the pipe: Bad file descriptor.

Although the undefined tryToSwitchUser error may not be linked to the EGL stuff, potentially also worth investigating.

(In reply to Re Play from comment #2)
> Same issue here. Googling around a bit, I found that Mutter had an issue
> that was extremely similar to this. They never found the exact cause, but
> had a Mutter specific workaround. Perhaps that could be useful for narrowing
> this down? https://bugs.launchpad.net/ubuntu/+source/mutter/+bug/1968040

I don't know about possible causes at this point, but it looks like KWin's equivalent to MUTTER_DEBUG_ENABLE_ATOMIC_KMS=0 is KWIN_DRM_NO_AMS=1 looking at the code. If you think this is worth trying, you could set it for KWin's systemd unit (`systemctl --user edit plasma-kwin_wayland.service`):

### Editing /home/kpetso/.config/systemd/user/plasma-kwin_wayland.service.d/override.conf
### Anything between here and the comment below will become the contents of the drop-in file

[Service]
Environment="KWIN_DRM_NO_AMS=1"

### Edits below this comment will be discarded
Comment 5 stevenmcfeely42 2024-05-02 23:08:19 UTC
(In reply to Jakob Petsovits from comment #4)
> For later convenience, the error portion of the log goes as follows.
> Apparently kscreenlocker_greet does not have a valid EGL surface to draw its
> contents on (preceded by a few potentially unrelated pipewire errors):
> 
> Mar 12 12:41:38 smcfeely-desktop wireplumber[2238]:
> <WpPortalPermissionStorePlugin:0x62c09124b2d0> Failed to call Lookup:
> GDBus.Error:org.freedesktop.portal.Error.NotFound: No entry for camera
> Mar 12 12:41:38 smcfeely-desktop pipewire[2229]: [0:34:16.149552308] [2229]
> ERROR IPAModule ipa_module.cpp:172 Symbol ipaModuleInfo not found
> Mar 12 12:41:38 smcfeely-desktop pipewire[2229]: [0:34:16.149561108] [2229]
> ERROR IPAModule ipa_module.cpp:292 v4l2-compat.so: IPA module has no valid
> info
> Mar 12 12:41:38 smcfeely-desktop pipewire[2229]: [0:34:16.149575598] [2229] 
> INFO Camera camera_manager.cpp:284 libcamera v0.2.0
> Mar 12 12:41:38 smcfeely-desktop wireplumber[2238]:
> <WpPortalPermissionStorePlugin:0x62c09124b2d0> Failed to call Lookup:
> GDBus.Error:org.freedesktop.portal.Error.NotFound: No entry for camera
> Mar 12 12:41:46 smcfeely-desktop kscreenlocker_greet[3770]:
> file:///usr/share/plasma/look-and-feel/org.kde.breeze.desktop/contents/
> lockscreen/NoPasswordUnlock.qml:26: ReferenceError: tryToSwitchUser is not
> defined
> Mar 12 12:41:48 smcfeely-desktop kscreenlocker_greet[3770]: qt.qpa.wayland:
> eglSwapBuffers failed with 0x300d, surface: 0x0
> Mar 12 12:41:48 smcfeely-desktop kscreenlocker_greet[3770]: qt.qpa.wayland:
> Could not create EGL surface (EGL error 0x3000)
> Mar 12 12:41:49 smcfeely-desktop kscreenlocker_greet[3770]: Failed to write
> to the pipe: Bad file descriptor.
> 
> Although the undefined tryToSwitchUser error may not be linked to the EGL
> stuff, potentially also worth investigating.
> 
> (In reply to Re Play from comment #2)
> > Same issue here. Googling around a bit, I found that Mutter had an issue
> > that was extremely similar to this. They never found the exact cause, but
> > had a Mutter specific workaround. Perhaps that could be useful for narrowing
> > this down? https://bugs.launchpad.net/ubuntu/+source/mutter/+bug/1968040
> 
> I don't know about possible causes at this point, but it looks like KWin's
> equivalent to MUTTER_DEBUG_ENABLE_ATOMIC_KMS=0 is KWIN_DRM_NO_AMS=1 looking
> at the code. If you think this is worth trying, you could set it for KWin's
> systemd unit (`systemctl --user edit plasma-kwin_wayland.service`):
> 
> ### Editing
> /home/kpetso/.config/systemd/user/plasma-kwin_wayland.service.d/override.conf
> ### Anything between here and the comment below will become the contents of
> the drop-in file
> 
> [Service]
> Environment="KWIN_DRM_NO_AMS=1"
> 
> ### Edits below this comment will be discarded

I have been testing this for the past 48 hours and it appears to work. Setting  Environment="KWIN_DRM_NO_AMS=1" allows my desktop's monitor to properly wake up.
Comment 6 Jakob Petsovits 2024-05-03 01:29:25 UTC
(In reply to stevenmcfeely42 from comment #5)
> I have been testing this for the past 48 hours and it appears to work.
> Setting  Environment="KWIN_DRM_NO_AMS=1" allows my desktop's monitor to
> properly wake up.

Thanks for testing. Let's reassign the bug report to KWin in that case.
Comment 7 Vlad Zahorodnii 2024-09-27 08:23:43 UTC
Can you check whether kwin prints something in the logs? `journalctl --boot --user-unit plasma-kwin_wayland`
Comment 8 Zamundaaa 2024-09-30 17:17:04 UTC
.
Comment 9 stevenmcfeely42 2024-10-13 09:28:05 UTC
Sorry for the late reply, but I just got back from a trip earlier this week. I deleted the drop-in file located at '/home/smcfeely/.config/systemd/user/plasma-kwin_wayland.service.d/override.conf' and then rebooted the machine. However, for the past five days the issue has not reoccurred. It appears as though it was fixed sometime between the last time I tested, either 6.1 or 6.1.1, and 6.1.5. I have also just tested the newly released 6.2 and the problem has not occurred with it either.

For reference, the contents of the drop file were:
### Editing /home/smcfeely/.config/systemd/user/plasma-kwin_wayland.service.d/override.conf
### Anything between here and the comment below will become the contents of the drop-in file

[Service]
Environment="KWIN_DRM_NO_AMS=1"

### Edits below this comment will be discarded
Comment 10 Jakob Petsovits 2024-10-13 16:28:20 UTC
Alright, then let's mark this as resolved for now. If you encounter the same issue again, please reopen the bug.