Slowroll Miss-Behaving when waking from blanked screen

Hello all, first are some details:

Operating System: openSUSE Tumbleweed-Slowroll 20260901
KDE Plasma Version: 6.7.5
KDE Frameworks Version: 6.29.0
Qt Version: 6.11.2
Kernel Version: 7.2.6-1-default (64-bit)
Graphics Platform: Wayland
Processors: 4 × Intel® N200
Memory: 4 GiB of RAM (3.5 GiB usable)
Graphics Processor: Intel® Graphics
Manufacturer: Acer
Product Name: Aspire A314-36P
System Version: V1.20

The hardware is an Acer Aspire Laptop in case you didn’t know.
Attached by HDMI is a Samsung Monitor used a the primary screen.

When I first installed Slowroll, about 4 weeks ago, everything was great, no problems.
I do all the updates via Discover when I am notified.

I have 4 virtual desktops with different things open in each, or some.
I have Firefox open nearly 100% of the time.
When reactivating the computer from sleep / suspend or blanking screen
1 : laptop screen comes on OK but sometimes the monitor doesn’t. I open the Display settings resize the screen a few times, a pop-up appears to say that it has reloaded and the monitor come back to life
2: When the monitor comes back to life quite often I find that Firefox has not reappeared on the screen. However in the Virtual Desktop widget in the panel/task manager there is an image of the opened window which is greyed out. If you hover the pointer over that greyed out area then you get the same notification window open in the same way as you would if there was nothing wrong.

Firefox is still consuming RAM. I have been unable to close Firefox other than by rebooting, which then loads Firefox automatically. Also If I try to open a second instance of Firefox and close it then that does not affect the first one.

Any thoughts would be welcome

Welcome to openSUSE Forums!

This reads like the application problem is a symptom of the external display which disappears and is then re-added during resume under KWin.

Next time, (after the problem occurs), rather than rebooting, see whether Firefox can be terminated from a terminal with

pkill firefox

If it terminates, that would indicate it hasn’t actually hung, but its window is just no longer being displayed correctly.

After resume, check how the display configuration is reported via

kscreen-doctor -o

and the journal…

sudo journalctl -b --since "-5 min" | grep -Ei 'kwin|drm|i915|hdmi|display'

I assume suspend/resume works as expected when the external display is no connected? (=Single display situation.)

Also, please show inxi -Gaz

Ok Deano,

pkill firefox terminated firefox.

slowroll@localhost:~> kscreen-doctor -o
Output: 1 HDMI-A-1 f75cb468-149f-4451-b7ff-895a04dbab78
        enabled
        connected
        priority 1
        HDMI
        replication source:0
        Modes:  1:1920x1080@60.00!  2:1920x1080@100.00*  3:1920x1080@74.97  4:1920x1080@60.00  5:1920x1080@59.94  6:1920x1080@50.00  7:1680x1050@59.88  8:1600x900@60.00  9:1280x1024@60.02  10:1440x900@59.90  11:1280x800@59.91  12:1152x864@75.00  13:1280x720@60.00  14:1280x720@60.00  15:1280x720@59.94  16:1280x720@50.00  17:1280x720@50.00  18:1024x768@70.07  19:1024x768@60.00  20:800x600@72.19  21:800x600@60.32  22:800x600@56.25  23:720x576@50.00  24:720x576@50.00  25:720x480@60.00  26:720x480@60.00  27:720x480@59.94  28:720x480@59.94  29:640x480@72.81  30:640x480@66.67  31:640x480@60.00  32:640x480@59.94  33:720x400@70.08 
        Custom modes: None
        Geometry: 1366,0 1920x1080
        Scale: 1
        Rotation: 1
        Overscan: 0
        Vrr: incapable
        RgbRange: Automatic
        HDR: incapable
        Wide Color Gamut: incapable
        ICC profile: none
        Color profile source: sRGB
        Color power preference: prefer efficiency and performance
        Brightness control: unsupported
        DDC/CI: allowed
        Color resolution: automatic (10), range: [8; 12] bits per color
        Allow EDR: unsupported
        Sharpness control: unsupported
        Automatic brightness: unsupported
        Auto Rotate Policy: incapable
        Adaptive backlight modulation: unsupported
Output: 2 eDP-1 6c3d8eac-5642-4199-a07a-14a77e6bd244
        enabled
        connected
        priority 2
        Panel
        replication source:0
        Modes:  34:1366x768@60.06*!  35:1024x768@59.92  36:1024x768@59.92  37:1280x720@59.85  38:1280x720@59.85 
        Custom modes: None
        Geometry: 0,0 1366x768
        Scale: 1
        Rotation: 1
        Overscan: 0
        Vrr: incapable
        RgbRange: Automatic
        HDR: incapable
        Wide Color Gamut: incapable
        ICC profile: none
        Color profile source: sRGB
        Color power preference: prefer efficiency and performance
        Brightness control: supported, set to 70% and dimming to 100%
        Color resolution: automatic (10), range: [6; 12] bits per color
        Allow EDR: always
        Sharpness control: unsupported
        Automatic brightness: unsupported
        Auto Rotate Policy: incapable
        Adaptive backlight modulation: unsupported

slowroll@localhost:~> sudo journalctl -b --since "-5 min" | grep -Ei 'kwin|drm|i915|hdmi|display'
[sudo] password for root: 
Sep 24 14:56:29 localhost.localdomain kernel: i915 0000:00:02.0: [drm] GT0: GuC firmware i915/tgl_guc_70.bin version 70.49.4
Sep 24 14:56:29 localhost.localdomain kernel: i915 0000:00:02.0: [drm] GT0: HuC firmware i915/tgl_huc.bin version 7.9.3
Sep 24 14:56:29 localhost.localdomain kernel: i915 0000:00:02.0: [drm] GT0: HuC: authenticated for all workloads
Sep 24 14:56:29 localhost.localdomain kernel: i915 0000:00:02.0: [drm] GT0: GUC: submission enabled
Sep 24 14:56:29 localhost.localdomain kernel: i915 0000:00:02.0: [drm] GT0: GUC: SLPC enabled
Sep 24 14:56:29 localhost.localdomain kernel: i915 0000:00:02.0: [drm] GT0: GUC: RC enabled
Sep 24 14:56:29 localhost.localdomain kernel: i915 0000:00:02.0: vgaarb: VGA decodes changed: olddecodes=io,decodes=io:owns=io+mem
Sep 24 14:56:29 localhost.localdomain kernel: mei_hdcp 0000:00:16.0-b638ab7e-94e2-4ea2-a552-d1c54b627f04: bound 0000:00:02.0 (ops i915_hdcp_ops [i915])
Sep 24 14:56:29 localhost.localdomain kernel: mei_pxp 0000:00:16.0-fbf6fcf1-96cf-4e2e-a6a6-1bab8cbe36b1: bound 0000:00:02.0 (ops i915_pxp_tee_component_ops [i915])
Sep 24 14:56:31 localhost.localdomain org_kde_powerdevil[1402]: [  6618][21492.421580]    prop_subsystem:  drm
Sep 24 14:56:31 localhost.localdomain org_kde_powerdevil[1402]: [  6618][21492.421580]    syspath:         /sys/devices/pci0000:00/0000:00:02.0/drm/card1
Sep 24 14:56:31 localhost.localdomain org_kde_powerdevil[1402]: [  6618][21492.421580] prop_connector = 399 -> card1-HDMI-A-1
Sep 24 14:56:31 localhost.localdomain org_kde_powerdevil[1402]: [  6618][21492.421621] (dw_watch_display_connections) Time since last return from sleep = 1895610634 ns = 1896 ms
Sep 24 14:56:32 localhost.localdomain org_kde_powerdevil[1402]: [  6618] Removing connected display on bus 2
Sep 24 14:56:32 localhost.localdomain org_kde_powerdevil[1402]: [  6618][21494.089940] Emitting DDCA_Display_Status_Event[21494.089:  DDCA_EVENT_DISPLAY_DISCONNECTED, card1-HDMI-A-1, dref: DDCA_Display_Ref[4], io_path:/dev/i2c-2, ddc working: false]
Sep 24 14:56:32 localhost.localdomain org_kde_powerdevil[1402]: [  6618][21494.099228]    prop_subsystem:  drm
Sep 24 14:56:32 localhost.localdomain org_kde_powerdevil[1402]: [  6618][21494.099228]    syspath:         /sys/devices/pci0000:00/0000:00:02.0/drm/card1
Sep 24 14:56:32 localhost.localdomain org_kde_powerdevil[1402]: [  6618][21494.099228] prop_connector = 399 -> card1-HDMI-A-1
Sep 24 14:56:32 localhost.localdomain org_kde_powerdevil[1402]: [  6618][21494.099325] (dw_watch_display_connections) Time since last return from sleep = 3573312814 ns = 3573 ms
Sep 24 14:56:32 localhost.localdomain org_kde_powerdevil[1402]: [  6618][21494.099343] (dw_watch_display_connections) Recently resumed from sleep detected
Sep 24 14:56:32 localhost.localdomain org_kde_powerdevil[1402]: [  6618][21494.099351] (dw_watch_display_connections) Pausing for 1000 millisec
Sep 24 14:56:32 localhost.localdomain org_kde_powerdevil[1402]: [  9627][21494.099464] Invoking callback function 0x7f437b506b90 for event DDCA_Display_Status_Event[21494.089:  DDCA_EVENT_DISPLAY_DISCONNECTED, card1-HDMI-A-1, dref: DDCA_Display_Ref[4], io_path:/dev/i2c-2, ddc working: false] in this thread [  9627]
Sep 24 14:56:32 localhost.localdomain org_kde_powerdevil[1402]: [  9627][21494.099567] Callback function 0x7f437b506b90 for event DDCA_Display_Status_Event[21494.089:  DDCA_EVENT_DISPLAY_DISCONNECTED, card1-HDMI-A-1, dref: DDCA_Display_Ref[4], io_path:/dev/i2c-2, ddc working: false] complete
Sep 24 14:56:35 localhost.localdomain org_kde_powerdevil[1402]: [  6618] Adding connected display with bus 2
Sep 24 14:56:35 localhost.localdomain org_kde_powerdevil[1402]: [  6618][21497.023912] Emitting DDCA_Display_Status_Event[21497.023:  DDCA_EVENT_DISPLAY_CONNECTED, card1-HDMI-A-1, dref: DDCA_Display_Ref[6], io_path:/dev/i2c-2, ddc working: true]
Sep 24 14:56:35 localhost.localdomain org_kde_powerdevil[1402]: [  9712][21497.024198] Invoking callback function 0x7f437b506b90 for event DDCA_Display_Status_Event[21497.023:  DDCA_EVENT_DISPLAY_CONNECTED, card1-HDMI-A-1, dref: DDCA_Display_Ref[6], io_path:/dev/i2c-2, ddc working: true] in this thread [  9712]
Sep 24 14:56:35 localhost.localdomain org_kde_powerdevil[1402]: [  9712][21497.024291] Callback function 0x7f437b506b90 for event DDCA_Display_Status_Event[21497.023:  DDCA_EVENT_DISPLAY_CONNECTED, card1-HDMI-A-1, dref: DDCA_Display_Ref[6], io_path:/dev/i2c-2, ddc working: true] complete
Sep 24 14:56:35 localhost.localdomain org_kde_powerdevil[1402]: [  1402] Display redetection starting.
Sep 24 14:56:37 localhost.localdomain org_kde_powerdevil[1402]: [  1402][21498.631276] Extra delay starting dw_start_watch_displays: 0 millisec
Sep 24 14:56:37 localhost.localdomain org_kde_powerdevil[1402]: [  1402] Watching for display connection changes, resolved watch mode = Watch_Mode_Udev, poll loop interval = 500 millisec
Sep 24 14:56:37 localhost.localdomain org_kde_powerdevil[1402]: [  1402] Display redetection finished.
Sep 24 14:56:37 localhost.localdomain org_kde_powerdevil[1402]: [  1402][21498.645673] (ddca_get_display_refs) Returned DDCA_Display_Ref list:
Sep 24 14:56:37 localhost.localdomain org_kde_powerdevil[1402]: [  1402][21498.645681]    DDCA_Display_Ref Display_Ref[7:bus /dev/i2c-2 @0x557dd7303130]
Sep 24 14:56:38 localhost.localdomain org_kde_powerdevil[1402]: [DDCutilDisplay]: ddca_set_non_table_vcp_value -3023
Sep 24 14:56:38 localhost.localdomain org_kde_powerdevil[1402]: [DDCutilDisplay]: "LS24D300G" retrying to set DDC/CI brightness in 1000 milliseconds - attempt no. 1
Sep 24 14:56:40 localhost.localdomain org_kde_powerdevil[1402]: [DDCutilDisplay]: ddca_set_non_table_vcp_value -3023
Sep 24 14:56:40 localhost.localdomain org_kde_powerdevil[1402]: [DDCutilDisplay]: "LS24D300G" retrying to set DDC/CI brightness in 2000 milliseconds - attempt no. 2
Sep 24 14:56:42 localhost.localdomain org_kde_powerdevil[1402]: [DDCutilDisplay]: ddca_set_non_table_vcp_value -3023
Sep 24 14:56:42 localhost.localdomain org_kde_powerdevil[1402]: [DDCutilDisplay]: "LS24D300G" retrying to set DDC/CI brightness in 3000 milliseconds - attempt no. 3
Sep 24 14:56:45 localhost.localdomain org_kde_powerdevil[1402]: [DDCutilDisplay]: ddca_set_non_table_vcp_value -3023
Sep 24 14:56:45 localhost.localdomain org_kde_powerdevil[1402]: [DDCutilDisplay]: "LS24D300G" failed to set DDC/CI brightness

lowroll@localhost:~> inxi -Gaz
Graphics:
  Device-1: Intel Alder Lake-N [UHD Graphics] vendor: Acer Incorporated ALI
    driver: i915 v: kernel alternate: xe arch: Xe process: Intel 10nm
    built: 2020-21 ports: active: HDMI-A-1,eDP-1 empty: DP-1, DP-2, DP-3,
    DP-4, HDMI-A-2 bus-ID: 00:02.0 chip-ID: 8086:46d0 class-ID: 0300
  Device-2: Quanta ACER HD User Facing driver: uvcvideo type: USB rev: 2.0
    speed: 480 Mb/s lanes: 1 mode: 2.0 bus-ID: 3-6:5 chip-ID: 0408:403a
    class-ID: fe01 serial: <filter>
  Display: wayland server: X.org v: 1.21.1.24 with: Xwayland v: 24.1.13
    compositor: kwin_wayland driver: X: loaded: modesetting unloaded: vesa
    alternate: fbdev,intel dri: iris gpu: i915 d-rect: 3286x1080 display-ID: 0
  Monitor-1: HDMI-A-1 pos: right model: Samsung LS24D300G serial: <filter>
    built: 2024 res: mode: 1920x1080 hz: 100 scale: 100% (1) dpi: 92 gamma: 1.2
    size: 528x297mm (20.79x11.69") diag: 606mm (23.9") ratio: 16:9 modes:
    max: 1920x1080 min: 720x400
  Monitor-2: eDP-1 pos: primary,left model: AU Optronics 0x1499 built: 2020
    res: mode: 1366x768 hz: 60 scale: 100% (1) dpi: 112 gamma: 1.2
    size: 309x173mm (12.17x6.81") diag: 354mm (13.9") ratio: 16:9
    modes: 1366x768
  API: EGL v: 1.5 hw: drv: intel iris platforms: device: 0 drv: iris
    device: 1 drv: swrast gbm: drv: iris surfaceless: drv: iris wayland:
    drv: iris x11: drv: iris
  API: OpenGL v: 4.6 vendor: intel mesa v: 26.2.2 glx-v: 1.4
    direct-render: yes renderer: Mesa Intel Graphics (ADL-N)
    device-ID: 8086:46d0 memory: 3.42 GiB unified: yes display-ID: :0.0
  API: Vulkan v: 1.4.357 layers: 1 device: 0 type: integrated-gpu
    name: Intel Graphics (ADL-N) driver: mesa intel v: 26.2.2
    device-ID: 8086:46d0 surfaces: N/A device: 1 type: cpu name: llvmpipe
    (LLVM 22.1.8 256 bits) driver: mesa llvmpipe v: 26.2.2 (LLVM 22.1.8)
    device-ID: 10005:0000 surfaces: N/A
  Info: Tools: api: eglinfo, glxinfo, vulkaninfo
    de: kscreen-console,kscreen-doctor wl: wayland-info
    x11: xdpyinfo, xprop, xrandr



I assume suspend/resume works as expected when the external display is no connected? (=Single display situation.)

Yes it does.
Tried it with the external display only, laptop shut, and it didn’t fault either.
Hope this all helps.

Thanks for sharing the requested output. The journal shows the display coming back online after a few seconds following a resume…

Sep 24 14:56:31 ... card1-HDMI-A-1
Sep 24 14:56:32 ... DDCA_EVENT_DISPLAY_DISCONNECTED, card1-HDMI-A-1
Sep 24 14:56:32 ... Recently resumed from sleep detected
Sep 24 14:56:35 ... DDCA_EVENT_DISPLAY_CONNECTED, card1-HDMI-A-1
Sep 24 14:56:35 ... Display redetection starting.
Sep 24 14:56:37 ... Display redetection finished.

It seems like KWin may not be handling this transient event correctly. However, for comparison, I am using a Dell laptop running Slowroll with an Intel GPU and an external HDMI-connected monitor. Upon resume I get the lock screen presented on both displays fairly quickly.

It might also be worth checking the Samsung monitor’s own power-saving/standby settings (assuming they can be adjusted?). The journal shows the HDMI display being disconnected and then reconnected during resume, followed shortly afterwards by DDC/CI communication failures with the monitor. (I don’t get that happen with the Dell monitor I’m using.)

Thanks for the reply,

I’ve checked the monitor settings - there are power/standby settings, nothing seems out of the ordinary ie: not set to standby in 5 mins or anything. It had a Diagnostic self check which I ran too - all good.

On the occasions when it stays as a blank screen it displays the word HDMI for a couple of seconds in one of the top corners so something must be getting through to it!

No biggie Deano, I don’t think that the inconvenience to me of its actions justifies too much time spending on it , unless you have a brainwave.
I certainly do appreciate your efforts and won’t be abandoning Slowroll because of it!
Peter

Out of interest - Do you have the Plasma lock screen enabled when resuming from suspend? I’m wondering whether having the lock screen in place gives the display/workspace a little more time to settle before the desktop becomes visible?

No I don’t.
The screen locking is set to Never and the Lock When Waking From Sleep box is not checked.

Try enabling it as a test. It would be interesting to know if it helps with the desktop behaviour in any way (following a suspend/resume).

I set the Screen Locking to 30 min and ticked the Lock When Waking From Sleep.
Have tried this twice and everything works fine.

Thanks for the update. If it keeps behaveing consistently, I’d leave the workaround as is if you can live with it. Otherwise a bug report may be required to for this corner case perhaps.

Yeah, I’ll leave it as it is as it isn’t a problem.
I’ll keep an eye on it and report back if things go wrong again.
Thanks for yoyr help.