bismuth icon indicating copy to clipboard operation
bismuth copied to clipboard

[Bug]: windows not render or kill after waking from screen power saving

Open infra-monkey opened this issue 1 year ago • 4 comments

Summary

When waking up the screen from power saving, some windows or apps are not rendered or killed.

Steps to Reproduce

  1. in desktop 1: open 2 windows of firefox wayland
  2. in desktop 2: open 3 konsole
  3. wait for screen to be turned off for power saving
  4. wake up the screen

Expected behavior

After waking up the screen, all windows and applications should be up and active as they were before the screen was turned off.

Screenshots

Before screen off: desktop1-presleep desktop2-presleep After screen back up: desktop1-postsleep desktop2-postsleep

Bismuth version

3.1.4

KDE Plasma version

5.26.5

The platform KWin is running on

Wayland

Additional context

Distribution: Fedora 37

From my example steps, I have 2 behaviors:

  • one of the firefox windows is killed (it takes the whole layout and the desktop preview shows only one window
  • all but one konsole window fail to render (shown in the desktop preview, alive window doesn't take the whole layout), only the master window survives

When disabling tiling, I do not experience this behavior, which leads me to think it is a bismuth issue.

Note: This issue doesn't occure when using X11. So maybe a kwin_wayland issue in this context

infra-monkey avatar Jan 11 '23 13:01 infra-monkey

I am also having this issue.

TinfoilSubmarine avatar Jan 13 '23 14:01 TinfoilSubmarine

So enabling bismuth debug logs doesn't help.

Jan 15 13:08:23 monkey-desktop.dyn.empire.lan systemd[1]: systemd-suspend.service: Deactivated successfully.
Jan 15 13:08:23 monkey-desktop.dyn.empire.lan systemd[1]: Finished systemd-suspend.service - System Suspend.
Jan 15 13:08:23 monkey-desktop.dyn.empire.lan systemd[1]: Stopped target sleep.target - Sleep.
Jan 15 13:08:23 monkey-desktop.dyn.empire.lan systemd[1]: Reached target suspend.target - Suspend.
Jan 15 13:08:23 monkey-desktop.dyn.empire.lan systemd[1]: Stopped target suspend.target - Suspend.
Jan 15 13:08:23 monkey-desktop.dyn.empire.lan systemd-logind[1075]: Operation 'sleep' finished.
Jan 15 13:08:23 monkey-desktop.dyn.empire.lan NetworkManager[1120]: <info>  [1673784503.0239] manager: sleep: wake requested (sleeping: yes  enabled: yes)
Jan 15 13:08:23 monkey-desktop.dyn.empire.lan NetworkManager[1120]: <info>  [1673784503.0244] device (enp37s0): state change: unmanaged -> unavailable (reason 'managed', sys-iface-state: 'external')
Jan 15 13:08:23 monkey-desktop.dyn.empire.lan kernel: Generic FE-GE Realtek PHY r8169-0-2500:00: attached PHY driver (mii_bus:phy_addr=r8169-0-2500:00, irq=MAC)
Jan 15 13:08:23 monkey-desktop.dyn.empire.lan kernel: r8169 0000:25:00.0 enp37s0: Link is Down
Jan 15 13:08:23 monkey-desktop.dyn.empire.lan NetworkManager[1120]: <info>  [1673784503.2136] manager: NetworkManager state is now CONNECTED_LOCAL
Jan 15 13:08:23 monkey-desktop.dyn.empire.lan akonadi_davgroupware_resource[2086]: org.kde.pim.davresource: Unable to fetch collections 300 "There was a problem with the request.\nHTTP error (0)."
Jan 15 13:08:23 monkey-desktop.dyn.empire.lan akonadi_davgroupware_resource[2085]: org.kde.pim.davresource: Unable to fetch collections 300 "There was a problem with the request.\nHTTP error (0)."
Jan 15 13:08:23 monkey-desktop.dyn.empire.lan PackageKit[1955]: get-updates transaction /11344_aeaaaddb from uid 1678900673 finished with success after 212ms
Jan 15 13:08:23 monkey-desktop.dyn.empire.lan kwin_wayland[1487]: org.kde.bismuth: arrange
Jan 15 13:08:23 monkey-desktop.dyn.empire.lan kwin_wayland[1487]: org.kde.bismuth: arrangeScreen/finished,[object Object]
Jan 15 13:08:23 monkey-desktop.dyn.empire.lan kwin_wayland[1487]: org.kde.bismuth: arrange
Jan 15 13:08:23 monkey-desktop.dyn.empire.lan kwin_wayland[1487]: org.kde.bismuth: arrangeScreen/finished,[object Object]
Jan 15 13:08:23 monkey-desktop.dyn.empire.lan kwin_wayland[1487]: org.kde.bismuth: arrange
Jan 15 13:08:23 monkey-desktop.dyn.empire.lan kwin_wayland[1487]: org.kde.bismuth: arrangeScreen/finished,[object Object]
Jan 15 13:08:23 monkey-desktop.dyn.empire.lan kwalletd5[1447]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Jan 15 13:08:23 monkey-desktop.dyn.empire.lan polkit-kde-authentication-agent-1[1684]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Jan 15 13:08:23 monkey-desktop.dyn.empire.lan kalendarac[1881]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Jan 15 13:08:23 monkey-desktop.dyn.empire.lan akonadi_indexing_agent[2097]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Jan 15 13:08:23 monkey-desktop.dyn.empire.lan kactivitymanagerd[1669]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Jan 15 13:08:23 monkey-desktop.dyn.empire.lan akonadi_newmailnotifier_agent[2173]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Jan 15 13:08:23 monkey-desktop.dyn.empire.lan akonadi_imap_resource[2095]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Jan 15 13:08:23 monkey-desktop.dyn.empire.lan akonadi_mailmerge_agent[2130]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Jan 15 13:08:23 monkey-desktop.dyn.empire.lan krunner[2545]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Jan 15 13:08:23 monkey-desktop.dyn.empire.lan akonadi_mailfilter_agent[2121]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Jan 15 13:08:23 monkey-desktop.dyn.empire.lan xdg-desktop-portal-kde[1686]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Jan 15 13:08:23 monkey-desktop.dyn.empire.lan konsole[4736]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Jan 15 13:08:23 monkey-desktop.dyn.empire.lan akonadi_akonotes_resource[2081]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Jan 15 13:08:23 monkey-desktop.dyn.empire.lan kontact[3766]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Jan 15 13:08:23 monkey-desktop.dyn.empire.lan akonadi_contacts_resource[2084]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Jan 15 13:08:23 monkey-desktop.dyn.empire.lan akonadi_davgroupware_resource[2085]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Jan 15 13:08:23 monkey-desktop.dyn.empire.lan DiscoverNotifier[1880]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Jan 15 13:08:23 monkey-desktop.dyn.empire.lan akonadi_ical_resource[2091]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Jan 15 13:08:23 monkey-desktop.dyn.empire.lan akonadi_imap_resource[2096]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Jan 15 13:08:23 monkey-desktop.dyn.empire.lan akonadi_followupreminder_agent[2087]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Jan 15 13:08:23 monkey-desktop.dyn.empire.lan akonadi_imap_resource[2094]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Jan 15 13:08:23 monkey-desktop.dyn.empire.lan baloorunner[2715]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Jan 15 13:08:23 monkey-desktop.dyn.empire.lan akonadi_davgroupware_resource[2086]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Jan 15 13:08:23 monkey-desktop.dyn.empire.lan akonadi_imap_resource[2092]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Jan 15 13:08:23 monkey-desktop.dyn.empire.lan akonadi_birthdays_resource[2083]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Jan 15 13:08:23 monkey-desktop.dyn.empire.lan akonadi_google_resource[2088]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Jan 15 13:08:23 monkey-desktop.dyn.empire.lan akonadi_maildispatcher_agent[2106]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Jan 15 13:08:23 monkey-desktop.dyn.empire.lan konsole[3568]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Jan 15 13:08:23 monkey-desktop.dyn.empire.lan akonadi_unifiedmailbox_agent[2186]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Jan 15 13:08:23 monkey-desktop.dyn.empire.lan akonadi_maildir_resource[2099]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Jan 15 13:08:23 monkey-desktop.dyn.empire.lan akonadi_sendlater_agent[2179]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Jan 15 13:08:23 monkey-desktop.dyn.empire.lan akonadi_control[1982]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Jan 15 13:08:23 monkey-desktop.dyn.empire.lan akonadi_migration_agent[2136]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Jan 15 13:08:23 monkey-desktop.dyn.empire.lan kiod5[2417]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Jan 15 13:08:23 monkey-desktop.dyn.empire.lan akonadi_archivemail_agent[2082]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Jan 15 13:08:23 monkey-desktop.dyn.empire.lan org_kde_powerdevil[1685]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Jan 15 13:08:23 monkey-desktop.dyn.empire.lan kded5[1604]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Jan 15 13:08:24 monkey-desktop.dyn.empire.lan systemd[1429]: Starting plasma-kscreen-osd.service - KScreen OSD service...
Jan 15 13:08:24 monkey-desktop.dyn.empire.lan kcminit[5337]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Jan 15 13:08:24 monkey-desktop.dyn.empire.lan plasmashell[1638]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Jan 15 13:08:24 monkey-desktop.dyn.empire.lan kcminit[5341]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Jan 15 13:08:24 monkey-desktop.dyn.empire.lan kcminit[5339]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Jan 15 13:08:24 monkey-desktop.dyn.empire.lan systemd[1429]: Started plasma-kscreen-osd.service - KScreen OSD service.
Jan 15 13:08:24 monkey-desktop.dyn.empire.lan kcminit[5342]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Jan 15 13:08:24 monkey-desktop.dyn.empire.lan plasmashell[1638]: qt.qpa.wayland: Wayland does not support QWindow::requestActivate()
Jan 15 13:08:24 monkey-desktop.dyn.empire.lan kcminit[5348]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Jan 15 13:08:24 monkey-desktop.dyn.empire.lan kcminit[5361]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Jan 15 13:08:24 monkey-desktop.dyn.empire.lan plasmashell[1638]: qt.qpa.wayland: Wayland does not support QWindow::requestActivate()
Jan 15 13:08:24 monkey-desktop.dyn.empire.lan plasmashell[1638]: file:///usr/share/plasma/wallpapers/org.kde.image/contents/ui/main.qml:99: TypeError: Cannot read property 'pluginName' of null
Jan 15 13:08:24 monkey-desktop.dyn.empire.lan plasmashell[1638]: file:///usr/share/plasma/wallpapers/org.kde.image/contents/ui/main.qml:78: TypeError: Cannot read property 'configuration' of null
Jan 15 13:08:24 monkey-desktop.dyn.empire.lan plasmashell[1638]: file:///usr/share/plasma/wallpapers/org.kde.image/contents/ui/main.qml:81: TypeError: Cannot read property 'pluginName' of null
Jan 15 13:08:24 monkey-desktop.dyn.empire.lan plasmashell[1638]: file:///usr/share/plasma/wallpapers/org.kde.image/contents/ui/main.qml:83: TypeError: Cannot read property 'configuration' of null
Jan 15 13:08:24 monkey-desktop.dyn.empire.lan plasmashell[1638]: file:///usr/share/plasma/wallpapers/org.kde.image/contents/ui/main.qml:84: TypeError: Cannot read property 'configuration' of null
Jan 15 13:08:24 monkey-desktop.dyn.empire.lan plasmashell[1638]: file:///usr/share/plasma/wallpapers/org.kde.image/contents/ui/main.qml:85: TypeError: Cannot read property 'configuration' of null
Jan 15 13:08:24 monkey-desktop.dyn.empire.lan plasmashell[1638]: file:///usr/share/plasma/wallpapers/org.kde.image/contents/ui/main.qml:86: TypeError: Cannot read property 'configuration' of null
Jan 15 13:08:24 monkey-desktop.dyn.empire.lan plasmashell[1638]: file:///usr/share/plasma/wallpapers/org.kde.image/contents/ui/main.qml:87: TypeError: Cannot read property 'configuration' of null
Jan 15 13:08:24 monkey-desktop.dyn.empire.lan kcminit[5371]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Jan 15 13:08:24 monkey-desktop.dyn.empire.lan plasmashell[1638]: file:///usr/share/plasma/wallpapers/org.kde.image/contents/ui/main.qml:19: TypeError: Cannot read property 'configuration' of null
Jan 15 13:08:24 monkey-desktop.dyn.empire.lan plasmashell[1638]: file:///usr/share/plasma/wallpapers/org.kde.image/contents/ui/main.qml:20: TypeError: Cannot read property 'configuration' of null
Jan 15 13:08:24 monkey-desktop.dyn.empire.lan plasmashell[1638]: file:///usr/share/plasma/wallpapers/org.kde.image/contents/ui/main.qml:21: TypeError: Cannot read property 'configuration' of null
Jan 15 13:08:24 monkey-desktop.dyn.empire.lan kcminit[5381]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Jan 15 13:08:24 monkey-desktop.dyn.empire.lan kscreen_osd_service[5366]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Jan 15 13:08:24 monkey-desktop.dyn.empire.lan kcminit[5387]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Jan 15 13:08:24 monkey-desktop.dyn.empire.lan kded5[1604]: kscreen.kded: Config does not have at least one screen enabled, WILL NOT save this config, this is not what user wants.
Jan 15 13:08:24 monkey-desktop.dyn.empire.lan kwin_wayland[1487]: org.kde.bismuth: arrange
Jan 15 13:08:24 monkey-desktop.dyn.empire.lan kwin_wayland[1487]: org.kde.bismuth: arrangeScreen/finished,[object Object]
Jan 15 13:08:24 monkey-desktop.dyn.empire.lan kwin_wayland[1487]: org.kde.bismuth: arrange
Jan 15 13:08:24 monkey-desktop.dyn.empire.lan kwin_wayland[1487]: org.kde.bismuth: arrangeScreen/finished,[object Object]
Jan 15 13:08:24 monkey-desktop.dyn.empire.lan kwin_wayland[1487]: org.kde.bismuth: arrange
Jan 15 13:08:24 monkey-desktop.dyn.empire.lan kwin_wayland[1487]: org.kde.bismuth: arrangeScreen/finished,[object Object]
Jan 15 13:08:24 monkey-desktop.dyn.empire.lan kwin_wayland[1487]: org.kde.bismuth: arrange
Jan 15 13:08:24 monkey-desktop.dyn.empire.lan kwin_wayland[1487]: org.kde.bismuth: arrangeScreen/finished,[object Object]
Jan 15 13:08:24 monkey-desktop.dyn.empire.lan kwin_wayland[1487]: org.kde.bismuth: arrange
Jan 15 13:08:24 monkey-desktop.dyn.empire.lan kwin_wayland[1487]: org.kde.bismuth: arrangeScreen/finished,[object Object]
Jan 15 13:08:24 monkey-desktop.dyn.empire.lan kwin_wayland[1487]: org.kde.bismuth: onWindowGeometryChanged,[object Object]
Jan 15 13:08:24 monkey-desktop.dyn.empire.lan plasmashell[1638]: qt.qpa.wayland: Wayland does not support QWindow::requestActivate()
Jan 15 13:08:25 monkey-desktop.dyn.empire.lan kwin_wayland[1487]: org.kde.bismuth: Client added: KWin::XdgToplevelWindow(0x557163da2070)
Jan 15 13:08:25 monkey-desktop.dyn.empire.lan kwin_wayland[1487]: org.kde.bismuth: onWindowAdded,[object Object]
Jan 15 13:08:25 monkey-desktop.dyn.empire.lan kwin_wayland[1487]: org.kde.bismuth: arrange
Jan 15 13:08:25 monkey-desktop.dyn.empire.lan kwin_wayland[1487]: org.kde.bismuth: arrangeScreen/finished,[object Object]
Jan 15 13:08:25 monkey-desktop.dyn.empire.lan kwin_wayland[1487]: org.kde.bismuth: Window becomes unmanaged and gets removed :( The client was KWin::XdgToplevelWindow(0x557163da2070)
Jan 15 13:08:25 monkey-desktop.dyn.empire.lan plasmashell[1638]: qt.qpa.wayland: Wayland does not support QWindow::requestActivate()
Jan 15 13:08:25 monkey-desktop.dyn.empire.lan plasmashell[1638]: qt.qpa.wayland: Wayland does not support QWindow::requestActivate()
Jan 15 13:08:25 monkey-desktop.dyn.empire.lan plasmashell[1638]: qt.qpa.wayland: Wayland does not support QWindow::requestActivate()
Jan 15 13:08:25 monkey-desktop.dyn.empire.lan plasmashell[1638]: qt.qpa.wayland: Wayland does not support QWindow::requestActivate()
Jan 15 13:08:25 monkey-desktop.dyn.empire.lan kwin_wayland[1487]: org.kde.bismuth: onWindowGeometryChanged,[object Object]
Jan 15 13:08:25 monkey-desktop.dyn.empire.lan kwin_wayland[1487]: org.kde.bismuth: Client added: KWin::XdgToplevelWindow(0x557164167240)
Jan 15 13:08:25 monkey-desktop.dyn.empire.lan kwin_wayland[1487]: org.kde.bismuth: onWindowAdded,[object Object]
Jan 15 13:08:25 monkey-desktop.dyn.empire.lan kwin_wayland[1487]: org.kde.bismuth: arrange
Jan 15 13:08:25 monkey-desktop.dyn.empire.lan kwin_wayland[1487]: org.kde.bismuth: arrangeScreen/finished,[object Object]
Jan 15 13:08:25 monkey-desktop.dyn.empire.lan kwin_wayland[1487]: org.kde.bismuth: Window becomes unmanaged and gets removed :( The client was KWin::XdgToplevelWindow(0x557164167240)
Jan 15 13:08:25 monkey-desktop.dyn.empire.lan kwin_wayland[1487]: org.kde.bismuth: onWindowGeometryChanged,[object Object]

On the bright side, this issue doesn't appear when using X11 ..... But then you get some X11 unrelated issues.... You can consider using X11 being a workaround for this issue.

infra-monkey avatar Jan 15 '23 12:01 infra-monkey

I just tested bismuth on Kinoite beta (kde 5.27 beta) and it seems to be fixed. I suspect it is due to kwin bug https://bugs.kde.org/show_bug.cgi?id=464047

Can someone double check on 5.27 beta?

infra-monkey avatar Jan 28 '23 12:01 infra-monkey

In KDE Neon 2.27 with X11 Konsole windows get maximized on waking the screen up. They have to be unmaximized to restore layout.

max0x7ba avatar Nov 18 '23 00:11 max0x7ba