Bug 486217 - 'QQuickPixmapRea' blocks Suspend to RAM/Sleep midway
Summary: 'QQuickPixmapRea' blocks Suspend to RAM/Sleep midway
Status: REPORTED
Alias: None
Product: kwin
Classification: Plasma
Component: general (show other bugs)
Version: 6.0.5
Platform: Fedora RPMs Linux
: NOR major
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-04-27 18:41 UTC by Roguefort
Modified: 2025-01-27 21:24 UTC (History)
3 users (show)

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


Attachments
Journalctl logs (10.46 KB, text/plain)
2024-04-27 18:41 UTC, Roguefort
Details
KDE Plasma 6.1.3 Jourtnalctl logs (92.43 KB, text/plain)
2024-07-31 19:57 UTC, Roguefort
Details
KDE Plasma 6.2.5 sleep/suspend journalctl logs (1.76 MB, text/plain)
2025-01-03 20:33 UTC, Roguefort
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Roguefort 2024-04-27 18:41:56 UTC
Created attachment 168956 [details]
Journalctl logs

SUMMARY:

Whenever I try to suspend, there's chance that the suspension fails.

It goes to SDDM and the screen becomes very dark, but the system doesn’t actually suspends. It stays on a “fake” suspend state. I don’t get video signal, nor any way of getting commands or TTY going.

The only option I have is to force restart the PC.

I've exported the journal ctl logs to see what caused the problem and I've traced to the user space failing to freeze processes due to a task called “QQuickPixmapRea”, of which there's no documentation on what it does (I looked everywhere and the closest was QtQuick).

STEPS TO REPRODUCE:
1. Suspend.

OBSERVED RESULT:

It goes to SDDM, the screen gets very dark and the system becomes very quiet. Clicking on the power button to resume suspend makes the system active, but I get no video signal. I'm unable to get anything or a TTY going. 

EXPECTED RESULT:

It goes to SDDM and the screen becomes black. The system suspends and the status light on the tower starts blinking.

SOFTWARE/OS VERSIONS:
Linux/KDE Plasma: Fedora 40 KDE
KDE Plasma Version: 6.0.4
KDE Frameworks Version: 6.1.0
Qt Version: 6.7.0

ADDITIONAL INFORMATION:

- This also occurs on OpenSUSE Tumbleweed and possibly any Linux distro that uses KDE Plasma.
- It also occurs on KDE Plasma 5.27.
- Secure boot is disabled.
- WiFi is off and so is Bluetooth.
- I can wait 30 minutes to suspend, but it never does.
- It happens regardless if I have a ton of apps or no apps launched.

- Result from `inxi -aFz`:

roguefort@fedora:~$ inxi -aFz
System:
  Kernel: 6.8.7-300.fc40.x86_64 arch: x86_64 bits: 64 compiler: gcc
    v: 2.41-34.fc40 clocksource: tsc avail: hpet,acpi_pm
    parameters: BOOT_IMAGE=(hd3,gpt2)/vmlinuz-6.8.7-300.fc40.x86_64
    root=UUID=076b99e9-ea8c-4e2b-9738-233b6df731e5 ro rootflags=subvol=root
    rhgb quiet
  Desktop: KDE Plasma v: 6.0.4 tk: Qt v: N/A info: frameworks v: 6.1.0
    wm: kwin_wayland vt: 2 dm: SDDM Distro: Fedora Linux 40 (KDE Plasma)
Machine:
  Type: Desktop Mobo: Micro-Star model: MAG B550 TOMAHAWK MAX WIFI (MS-7C91)
    v: 1.0 serial: <superuser required> uuid: <superuser required> UEFI: American
    Megatrends LLC. v: 2.60 date: 10/10/2023
CPU:
  Info: model: AMD Ryzen 7 5700X bits: 64 type: MT MCP arch: Zen 3+ gen: 4
    level: v3 note: check built: 2022 process: TSMC n6 (7nm) family: 0x19 (25)
    model-id: 0x21 (33) stepping: 2 microcode: 0xA20120E
  Topology: cpus: 1x cores: 8 tpc: 2 threads: 16 smt: enabled cache:
    L1: 512 KiB desc: d-8x32 KiB; i-8x32 KiB L2: 4 MiB desc: 8x512 KiB
    L3: 32 MiB desc: 1x32 MiB
  Speed (MHz): avg: 2200 min/max: 2200/4662 boost: enabled scaling:
    driver: acpi-cpufreq governor: schedutil cores: 1: 2200 2: 2200 3: 2200
    4: 2200 5: 2200 6: 2200 7: 2200 8: 2200 9: 2200 10: 2200 11: 2200 12: 2200
    13: 2200 14: 2200 15: 2200 16: 2200 bogomips: 108802
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm
  Vulnerabilities:
  Type: gather_data_sampling status: Not affected
  Type: itlb_multihit status: Not affected
  Type: l1tf status: Not affected
  Type: mds status: Not affected
  Type: meltdown status: Not affected
  Type: mmio_stale_data status: Not affected
  Type: reg_file_data_sampling status: Not affected
  Type: retbleed status: Not affected
  Type: spec_rstack_overflow mitigation: Safe RET
  Type: spec_store_bypass mitigation: Speculative Store Bypass disabled via
    prctl
  Type: spectre_v1 mitigation: usercopy/swapgs barriers and __user pointer
    sanitization
  Type: spectre_v2 mitigation: Retpolines; IBPB: conditional; IBRS_FW;
    STIBP: always-on; RSB filling; PBRSB-eIBRS: Not affected; BHI: Not
    affected
  Type: srbds status: Not affected
  Type: tsx_async_abort status: Not affected
Graphics:
  Device-1: AMD Navi 22 [Radeon RX 6700/6700 XT/6750 XT / 6800M/6850M XT]
    vendor: Sapphire 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-1 empty: DP-1, DP-2, DP-3, Writeback-1
    bus-ID: 2d:00.0 chip-ID: 1002:73df class-ID: 0300
  Display: wayland server: X.org v: 1.20.14 with: Xwayland v: 23.2.6
    compositor: kwin_wayland driver: X: loaded: amdgpu
    unloaded: fbdev,modesetting,radeon,vesa dri: radeonsi gpu: amdgpu
    display-ID: 0
  Monitor-1: HDMI-A-1 res: 1920x1080 size: N/A modes: N/A
  API: EGL v: 1.5 hw: drv: amd radeonsi platforms: device: 0 drv: radeonsi
    device: 1 drv: swrast surfaceless: drv: radeonsi wayland: drv: radeonsi x11:
    drv: radeonsi inactive: gbm
  API: OpenGL v: 4.6 compat-v: 4.5 vendor: amd mesa v: 24.0.5 glx-v: 1.4
    direct-render: yes renderer: AMD Radeon RX 6700 XT (radeonsi navi22 LLVM
    18.1.1 DRM 3.57 6.8.7-300.fc40.x86_64) device-ID: 1002:73df
    memory: 11.72 GiB unified: no display-ID: :0.0
  API: Vulkan v: 1.3.280 layers: 10 device: 0 type: discrete-gpu name: AMD
    Radeon RX 6700 XT (RADV NAVI22) driver: N/A device-ID: 1002:73df
    surfaces: xcb,xlib,wayland device: 1 type: cpu name: llvmpipe (LLVM
    18.1.1 256 bits) driver: N/A device-ID: 10005:0000
    surfaces: xcb,xlib,wayland
Audio:
  Device-1: AMD Navi 21/23 HDMI/DP Audio driver: snd_hda_intel v: kernel pcie:
    gen: 4 speed: 16 GT/s lanes: 16 bus-ID: 2d:00.1 chip-ID: 1002:ab28
    class-ID: 0403
  Device-2: AMD Starship/Matisse HD Audio vendor: Micro-Star MSI
    driver: snd_hda_intel v: kernel pcie: gen: 4 speed: 16 GT/s lanes: 16
    bus-ID: 2f:00.4 chip-ID: 1022:1487 class-ID: 0403
  API: ALSA v: k6.8.7-300.fc40.x86_64 status: kernel-api
    tools: alsactl,alsamixer,amixer
  Server-1: PipeWire v: 1.0.5 status: active with: 1: pipewire-pulse
    status: active 2: wireplumber status: active 3: pipewire-alsa type: plugin
    4: pw-jack type: plugin tools: pw-cat,pw-cli,wpctl
Network:
  Device-1: MEDIATEK MT7921K Wi-Fi 6E 80MHz driver: mt7921e v: kernel pcie:
    gen: 2 speed: 5 GT/s lanes: 1 bus-ID: 29:00.0 chip-ID: 14c3:0608
    class-ID: 0280
  IF: wlo1 state: down mac: <filter>
  Device-2: Realtek RTL8125 2.5GbE vendor: Micro-Star MSI driver: r8169
    v: kernel pcie: gen: 2 speed: 5 GT/s lanes: 1 port: f000 bus-ID: 2a:00.0
    chip-ID: 10ec:8125 class-ID: 0200
  IF: enp42s0 state: up speed: 1000 Mbps duplex: full mac: <filter>
  Info: services: NetworkManager
Bluetooth:
  Device-1: MediaTek Wireless_Device driver: btusb v: 0.8 type: USB rev: 2.1
    speed: 480 Mb/s lanes: 1 mode: 2.0 bus-ID: 1-9:6 chip-ID: 0e8d:0608
    class-ID: e001 serial: <filter>
  Report: btmgmt ID: hci0 rfk-id: 0 state: down bt-service: enabled,running
    rfk-block: hardware: no software: yes address: <filter> bt-v: 5.2 lmp-v: 11
    status: discoverable: yes pairing: yes
Drives:
  Local Storage: total: 5.46 TiB used: 850.92 GiB (15.2%)
  SMART Message: Unable to run smartctl. Root privileges required.
  ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Western Digital
    model: WD Blue SN570 1TB size: 931.51 GiB block-size: physical: 512 B
    logical: 512 B speed: 31.6 Gb/s lanes: 4 tech: SSD serial: <filter>
    fw-rev: 234110WD temp: 33.9 C scheme: GPT
  ID-2: /dev/nvme1n1 maj-min: 259:1 vendor: Samsung model: SSD 980 PRO 1TB
    size: 931.51 GiB block-size: physical: 512 B logical: 512 B speed: 63.2 Gb/s
    lanes: 4 tech: SSD serial: <filter> fw-rev: 5B2QGXA7 temp: 38.9 C
    scheme: GPT
  ID-3: /dev/sda maj-min: 8:0 vendor: Seagate model: ST2000DM008-2UB102
    size: 1.82 TiB block-size: physical: 4096 B logical: 512 B speed: 6.0 Gb/s
    tech: HDD rpm: 7200 serial: <filter> fw-rev: 0001 scheme: GPT
  ID-4: /dev/sdb maj-min: 8:16 vendor: Crucial model: CT2000MX500SSD1
    size: 1.82 TiB block-size: physical: 4096 B logical: 512 B speed: 6.0 Gb/s
    tech: SSD serial: <filter> fw-rev: 046 scheme: MBR
Partition:
  ID-1: / raw-size: 929.93 GiB size: 929.93 GiB (100.00%)
    used: 140.43 GiB (15.1%) fs: btrfs dev: /dev/nvme1n1p3 maj-min: 259:8
  ID-2: /boot raw-size: 1024 MiB size: 973.4 MiB (95.06%)
    used: 433.1 MiB (44.5%) fs: ext4 dev: /dev/nvme1n1p2 maj-min: 259:7
  ID-3: /boot/efi raw-size: 600 MiB size: 598.8 MiB (99.80%)
    used: 19 MiB (3.2%) fs: vfat dev: /dev/nvme1n1p1 maj-min: 259:6
  ID-4: /home raw-size: 929.93 GiB size: 929.93 GiB (100.00%)
    used: 140.43 GiB (15.1%) fs: btrfs dev: /dev/nvme1n1p3 maj-min: 259:8
Swap:
  Kernel: swappiness: 60 (default) cache-pressure: 100 (default) zswap: no
  ID-1: swap-1 type: zram size: 7.67 GiB used: 447 MiB (5.7%) priority: 100
    comp: lzo-rle avail: lzo,lz4,lz4hc,842,zstd max-streams: 16 dev: /dev/zram0
Sensors:
  System Temperatures: cpu: 42.2 C mobo: 36.0 C gpu: amdgpu temp: 42.0 C
    mem: 40.0 C
  Fan Speeds (rpm): N/A gpu: amdgpu fan: 0
Info:
  Memory: total: 8 GiB available: 7.67 GiB used: 4.44 GiB (57.9%)
  Processes: 588 Power: uptime: 31m states: freeze,mem,disk suspend: deep
    avail: s2idle wakeups: 0 hibernate: platform avail: shutdown, reboot,
    suspend, test_resume image: 3.04 GiB services: org_kde_powerdevil,
    power-profiles-daemon, upowerd Init: systemd v: 255 target: graphical (5)
    default: graphical tool: systemctl
  Packages: pm: appimage pkgs: 0 pm: flatpak pkgs: 30 Compilers: gcc: 14.0.1
    Shell: Bash v: 5.2.26 running-in: konsole inxi: 3.3.34

- Result from cat /usr/lib/systemd/sleep.conf:

roguefort@fedora:~$ cat /usr/lib/systemd/sleep.conf
#  This file is part of systemd.
#
#  systemd is free software; you can redistribute it and/or modify it under the
#  terms of the GNU Lesser General Public License as published by the Free
#  Software Foundation; either version 2.1 of the License, or (at your option)
#  any later version.
#
# Entries in this file show the compile time defaults. Local configuration
# should be created by either modifying this file (or a copy of it placed in
# /etc/ if the original file is shipped in /usr/), or by creating "drop-ins" in
# the /etc/systemd/sleep.conf.d/ directory. The latter is generally
# recommended. Defaults can be restored by simply deleting the main
# configuration file and all drop-ins located in /etc/.
#
# Use 'systemd-analyze cat-config systemd/sleep.conf' to display the full config.
#
# See systemd-sleep.conf(5) for details.

[Sleep]
#AllowSuspend=yes
#AllowHibernation=yes
#AllowSuspendThenHibernate=yes
#AllowHybridSleep=yes
#SuspendState=mem standby freeze
#HibernateMode=platform shutdown
#HibernateDelaySec=
#SuspendEstimationSec=60min

- Result from systemd-inhibit --list --mode=block:

roguefort@fedora:~$ systemd-inhibit --list --mode=block
WHO        UID  USER      PID  COMM            WHAT                                                                   >
PowerDevil 1000 roguefort 2407 org_kde_powerde handle-power-key:handle-suspend-key:handle-hibernate-key:handle-lid-swi>

1 inhibitors listed.

- Result from cat /sys/power/mem_sleep:

roguefort@fedora:~$ cat /sys/power/mem_sleep
s2idle [deep]
Comment 1 Nate Graham 2024-07-27 04:41:26 UTC
Is this still reproducible in Plasma 6.1.3?
Comment 2 Roguefort 2024-07-29 18:18:45 UTC
(In reply to Nate Graham from comment #1)
> Is this still reproducible in Plasma 6.1.3?

I've installed Fedora 40 KDE to test if it's still reproducible, but I'll need a week to check, as the bug occurs randomly.

By the way, I've noticed that you changed the component to 'wayland-generic'. This bug also occurs on X11 as well.
Comment 3 Roguefort 2024-07-31 19:57:52 UTC
Created attachment 172158 [details]
KDE Plasma 6.1.3 Jourtnalctl logs
Comment 4 Roguefort 2024-07-31 20:04:52 UTC
(In reply to Nate Graham from comment #1)
> Is this still reproducible in Plasma 6.1.3?

Ok, guess I only needed a few days.

When I suspend now, the screen goes black, but the backlight is still on. The cursor remains, but I can't move it nor can I go to a TTY. After 30 seconds or so, I get back to the lock screen and if I click "sleep", it suspends correctly.

It's a lot better than having to restart the computer, however 'QQuickPixmapRea' is still blocking the suspend.

So, yes: it is still reproducible in Plasma 6.1.3.

I've attached the journalctl logs to prove it. Please disregard the second failed suspend in the logs, that was steam blocking for some reason.
Comment 5 Roguefort 2024-09-12 18:36:19 UTC
So far, I am able to successfully suspend from SDDM. If I try from the plasma session, the bug occurs. Therefore, the only 2 things that could possibly relate to 'QQuickPixmapRea' are Kwin or Plasma-shell. It happens even with no program opened, so it has to be those two.
Comment 6 Roguefort 2025-01-03 20:32:08 UTC
Still reproducible in Plasma 6.2.5.

Now SDDM no longer shows up and I get the usual no signal from my monitor, forcing me to hard reset the desktop.

I can only suspend/sleep successfully by first locking my session and hitting the "sleep" button on SDDM's lock screen.
Comment 7 Roguefort 2025-01-03 20:33:06 UTC
Created attachment 177080 [details]
KDE Plasma 6.2.5 sleep/suspend journalctl logs
Comment 8 Vlad Zahorodnii 2025-01-08 08:39:29 UTC
If you run `systemctl --user stop plasma-powerdevil`, can the computer be suspended then?
Comment 9 Roguefort 2025-01-27 21:24:17 UTC
(In reply to Vlad Zahorodnii from comment #8)
> If you run `systemctl --user stop plasma-powerdevil`, can the computer be suspended then?

Unfortunately the same thing keeps happening, even after issuing the command. The only thing worth of noting is that the "sleep" button disappears from SDDM after the command.

Also I would like to clarify a few things:

1. The way that I'm attempting to suspend is by clicking "sleep" on Plasma's kick-off menu.
2. This is not a laptop. This is a desktop computer with 1 monitor.
3. Now whenever I try to suspend using Plasma's kick-off menu, there's a chance of either:
     3.1 - Going to SDDM's lock screen
     3.2 - The AMDGPU crashing and constantly failing to reset, forcing me to hard reset the computer.

I mean, it was worth the shot, but I'm unsure as to why plasma-powerdevil has anything to do with this mysterious QQuickPixmapRea. I reckon it relates to something graphical, either Plasma or SDDM. The latter being the most likely as it's the last thing I see before the screen goes black.