Distorted graphics after wake from sleep mode

Whenever I use sleep mode, and then wake the computer, I get a system report, and the only way to correct is to either log out and back in, or restart the computer.

Steps to reproduce:

Click User Switcher icon in top right corner
Click Leave
Click Sleep
Wake computer

Expected Result: Computer wakes normally, user can resume operation with no issues
Actual Result: Screen becomes distorted, sometimes unusable

I am a new user, so I am unable to attach screenshots. The notification is from KWin Window Manager, stating, "Desktop effects were restarted due to a graphics reset".

Thanks in advance! Lets me know if there are any questions or additional info needed.

Below is my output from garuda-inxi:

Kernel: 5.16.3-zen1-1-zen x86_64 bits: 64 compiler: gcc v: 11.1.0
parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-zen
root=UUID=c99ea8d7-6cc0-4044-990f-7a14c0ba1451 rw [email protected]
quiet splash rd.udev.log_priority=3 vt.global_cursor_default=0 loglevel=3
Desktop: KDE Plasma 5.23.5 tk: Qt 5.15.2 info: latte-dock wm: kwin_x11
vt: 1 dm: SDDM Distro: Garuda Linux base: Arch Linux
Type: Desktop Mobo: ASUSTeK model: Z170 PRO GAMING/AURA v: Rev X.0x
serial: <superuser required> UEFI: American Megatrends v: 2003
date: 09/19/2016
Info: model: Intel Core i7-6700 bits: 64 type: MT MCP arch: Skylake-S
family: 6 model-id: 0x5E (94) stepping: 3 microcode: 0xEA
Topology: cpus: 1x cores: 4 tpc: 2 threads: 8 smt: enabled cache:
L1: 256 KiB desc: d-4x32 KiB; i-4x32 KiB L2: 1024 KiB desc: 4x256 KiB
L3: 8 MiB desc: 1x8 MiB
Speed (MHz): avg: 3949 high: 3991 min/max: 800/4000 scaling:
driver: intel_pstate governor: performance cores: 1: 3902 2: 3857 3: 3987
4: 3971 5: 3973 6: 3991 7: 3980 8: 3938 bogomips: 54398
Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
Type: itlb_multihit status: KVM: VMX disabled
Type: l1tf
mitigation: PTE Inversion; VMX: conditional cache flushes, SMT vulnerable
Type: mds mitigation: Clear CPU buffers; SMT vulnerable
Type: meltdown mitigation: PTI
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: Full generic retpoline, IBPB: conditional,
IBRS_FW, STIBP: conditional, RSB filling
Type: srbds mitigation: Microcode
Type: tsx_async_abort mitigation: TSX disabled
Device-1: NVIDIA GP106 [GeForce GTX 1060 3GB] vendor: eVga.com.
driver: nvidia v: 495.46 alternate: nouveau,nvidia_drm bus-ID: 01:00.0
chip-ID: 10de:1c02 class-ID: 0300
Display: x11 server: X.Org compositor: kwin_x11 driver:
loaded: nvidia unloaded: modesetting alternate: fbdev,nouveau,nv,vesa
display-ID: :0 screens: 1
Screen-1: 0 s-res: 1920x1080 s-dpi: 101 s-size: 483x272mm (19.0x10.7")
s-diag: 554mm (21.8")
Monitor-1: HDMI-0 res: 1920x1080 hz: 60 dpi: 102
size: 477x268mm (18.8x10.6") diag: 547mm (21.5")
OpenGL: renderer: NVIDIA GeForce GTX 1060 3GB/PCIe/SSE2
v: 4.6.0 NVIDIA 495.46 direct render: Yes
Device-1: Intel 100 Series/C230 Series Family HD Audio vendor: ASUSTeK
driver: snd_hda_intel v: kernel bus-ID: 00:1f.3 chip-ID: 8086:a170
class-ID: 0403
Device-2: NVIDIA GP106 High Definition Audio vendor: eVga.com.
driver: snd_hda_intel v: kernel bus-ID: 01:00.1 chip-ID: 10de:10f1
class-ID: 0403
Device-3: Corsair ST100 Headset Output type: USB
driver: hid-generic,snd-usb-audio,usbhid bus-ID: 1-6.1:5 chip-ID: 1b1c:0a32
class-ID: 0300 serial: <filter>
Sound Server-1: ALSA v: k5.16.3-zen1-1-zen running: yes
Sound Server-2: PulseAudio v: 15.0 running: no
Sound Server-3: PipeWire v: 0.3.44 running: yes
Device-1: Intel Ethernet I219-V vendor: ASUSTeK driver: e1000e v: kernel
port: N/A bus-ID: 00:1f.6 chip-ID: 8086:15b8 class-ID: 0200
IF: enp0s31f6 state: up speed: 1000 Mbps duplex: full mac: <filter>
Device-2: Microsoft Xbox 360 Wireless Adapter type: USB driver: xpad
bus-ID: 1-2:2 chip-ID: 045e:0719 class-ID: ff00 serial: <filter>
Local Storage: total: 1.38 TiB used: 27.64 GiB (2.0%)
SMART Message: Unable to run smartctl. Root privileges required.
ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Western Digital
model: WDS256G1X0C-00ENX0 size: 238.47 GiB block-size: physical: 512 B
logical: 512 B speed: 31.6 Gb/s lanes: 4 type: SSD serial: <filter>
rev: B35900WD temp: 54.9 C scheme: MBR
ID-2: /dev/sda maj-min: 8:0 vendor: Western Digital
model: WD10EZEX-08WN4A0 size: 931.51 GiB block-size: physical: 4096 B
logical: 512 B speed: 6.0 Gb/s type: HDD rpm: 7200 serial: <filter>
rev: 1A01 scheme: MBR
ID-3: /dev/sdb maj-min: 8:16 vendor: A-Data model: SU900 size: 238.47 GiB
block-size: physical: 512 B logical: 512 B speed: 6.0 Gb/s type: SSD
serial: <filter> rev: 6A scheme: GPT
ID-1: / raw-size: 238.17 GiB size: 238.17 GiB (100.00%)
used: 27.64 GiB (11.6%) fs: btrfs dev: /dev/sdb2 maj-min: 8:18
ID-2: /boot/efi raw-size: 300 MiB size: 299.4 MiB (99.80%)
used: 576 KiB (0.2%) fs: vfat dev: /dev/sdb1 maj-min: 8:17
ID-3: /home raw-size: 238.17 GiB size: 238.17 GiB (100.00%)
used: 27.64 GiB (11.6%) fs: btrfs dev: /dev/sdb2 maj-min: 8:18
ID-4: /var/log raw-size: 238.17 GiB size: 238.17 GiB (100.00%)
used: 27.64 GiB (11.6%) fs: btrfs dev: /dev/sdb2 maj-min: 8:18
ID-5: /var/tmp raw-size: 238.17 GiB size: 238.17 GiB (100.00%)
used: 27.64 GiB (11.6%) fs: btrfs dev: /dev/sdb2 maj-min: 8:18
Kernel: swappiness: 133 (default 60) cache-pressure: 100 (default)
ID-1: swap-1 type: zram size: 15.56 GiB used: 512 KiB (0.0%)
priority: 100 dev: /dev/zram0
System Temperatures: cpu: 29.8 C mobo: 27.8 C gpu: nvidia temp: 48 C
Fan Speeds (RPM): N/A gpu: nvidia fan: 0%
Processes: 277 Uptime: 1m wakeups: 0 Memory: 15.56 GiB
used: 3.13 GiB (20.1%) Init: systemd v: 250 tool: systemctl Compilers:
gcc: 11.1.0 Packages: pacman: 1812 lib: 506 Shell: fish v: 3.3.1
default: Zsh v: 5.8 running-in: konsole inxi: 3.3.12
System install date:     2022-01-28
Last full system update: 2022-01-30
Is partially upgraded:   No
Using TLP:               No
Windows dual boot:       No/Undetected
Snapshots:               Snapper

There has been a few bios updates since the version you are using, some of which have improved stability. I would try updating your bios to the latest version Z170 PRO GAMING/AURA - Support

If your issue persists, try the linux-lts kernel as an additional troubleshooting step.


Try disabling the kde compositor before suspending.

alt + shift + f12 (key to disable compositor)


This definitely worked, and thank you for your quick response.

But I have some questions. Is this a specific issue with KDE, or with Garuda's setup with KDE? Because while disabling the compositor certainly works, I would consider it a work around.

Thank you for your time and patience!

I believe it is a KDE issue, if you test the Xfce edition it will likely be working OK.

I have written services in the past to correct this issue. I had a service working correctly on Manjaro for a while where I also experienced this issue. Unfortunately, something changed with KDE or the Nvidia driver and the service stopped working a few years back.

I gave up on ever using Nvidia graphics cards a while back and haven't experienced this issue since. I believe this issue may be related to a bug in the Nvidia proprietary driver (as it mostly affects Nvidia users). However, I have seen a few users with AMD adapters experience this issue in the past as well.

I could take a whack at revising the suspend service I wrote to see if I could get it working again with you. However, be aware these services are very time consuming to troubleshoot. It would likely require a fair bit of effort on your part to work through this to find a method that works correctly.

Let me know if you're willing to expend the effort to try and correct your issue with a service and I'll give it a shot.


I would love to take some time to work on this with you.

1 Like

This is a very tough nut to crack. I'll give you a shout back when I have something worth testing. :+1:


I have been working on a service/script to correct this, but there is no easy fix for this. I have tried hundreds of variations, but this is extremely difficult to achieve without adverse side effects. I will keep you apprised if I make any progress.


The environment variables required to get this working correctly are really tough to get right. The frustrating part is I had this service working three years ago, then something changed. I have not made any progress so far, but I did find a script that may do the job for you: