Broken window decorations after suspend

I can’t tell when this started to happen, but I’m sure the issue is older than month or two.

After wake up my suspended to RAM PC, window decorations became unresponseive. Hover effect over min/max/close buttons are not working and window titles are not updating. For example, when I switch tabs in Firefox, window title remains the same it was after waking up PC.

Restarting plasma does not fix the problem, but changing Window Decorations settings from current to some other theme does the work. I tried to set different window decorations theme before suspend (nordic, breeze, plastik), but the behaviour is the same.

Any suggestion or workaround? I’m using latest nvidia binary drivers.

Here’s my inxi:

eden@sunce:[~]: inxi -F
System:    Host: sunce Kernel: 5.9.16-1-MANJARO x86_64 bits: 64 Desktop: KDE Plasma 5.20.4 Distro: Manjaro Linux
Machine:   Type: Desktop System: ASUS product: N/A v: N/A serial: <superuser required>
           Mobo: ASUSTeK model: ROG STRIX B550-F GAMING (WI-FI) v: Rev X.0x serial: <superuser required>
           UEFI: American Megatrends v: 1401 date: 12/03/2020
CPU:       Info: 6-Core model: AMD Ryzen 5 3600X bits: 64 type: MT MCP L2 cache: 3 MiB
           Speed: 2377 MHz min/max: 2200/3800 MHz Core speeds (MHz): 1: 2377 2: 1929 3: 2196 4: 2392 5: 1961 6: 2197 7: 2196
           8: 2646 9: 2318 10: 2177 11: 2182 12: 2196
Graphics:  Device-1: NVIDIA GP106 [GeForce GTX 1060 3GB] driver: nvidia v: 455.45.01
           Display: x11 server: X.Org 1.20.10 driver: nvidia resolution: 1: 1920x1200~60Hz 2: 1920x1080~60Hz
           OpenGL: renderer: GeForce GTX 1060 3GB/PCIe/SSE2 v: 4.6.0 NVIDIA 455.45.01
Audio:     Device-1: NVIDIA GP106 High Definition Audio driver: snd_hda_intel
           Device-2: Advanced Micro Devices [AMD] Starship/Matisse HD Audio driver: snd_hda_intel
           Sound Server: ALSA v: k5.9.16-1-MANJARO
Network:   Device-1: Intel Wi-Fi 6 AX200 driver: iwlwifi
           IF: wlp4s0 state: down mac: 0a:07:e6:34:89:d7
           Device-2: Intel Ethernet I225-V driver: igc
           IF: enp5s0 state: up speed: 1000 Mbps duplex: full mac: 24:4b:fe:5d:61:4d
           IF-ID-1: br-4f3a04018cf8 state: down mac: 02:42:a9:4e:59:bb
           IF-ID-2: docker0 state: up speed: 10000 Mbps duplex: unknown mac: 02:42:f2:58:90:ad
           IF-ID-3: vethf1c195e state: up speed: 10000 Mbps duplex: full mac: ce:91:55:63:2a:e1
Drives:    Local Storage: total: 2.05 TiB used: 823.92 GiB (39.2%)
           ID-1: /dev/nvme0n1 vendor: Kingston model: SA2000M81000G size: 931.51 GiB
           ID-2: /dev/sda vendor: Samsung model: SSD 840 PRO Series size: 238.47 GiB
           ID-3: /dev/sdb vendor: Western Digital model: WD10EAVS-00M4B0 size: 931.51 GiB
Partition: ID-1: / size: 95.62 GiB used: 23.3 GiB (24.4%) fs: ext4 dev: /dev/nvme0n1p2
           ID-2: /boot/efi size: 299.4 MiB used: 312 KiB (0.1%) fs: vfat dev: /dev/nvme0n1p1
           ID-3: /home size: 714.69 GiB used: 323.83 GiB (45.3%) fs: ext4 dev: /dev/nvme0n1p5
           ID-4: /var size: 95.62 GiB used: 60.27 GiB (63.0%) fs: ext4 dev: /dev/nvme0n1p4
Swap:      ID-1: swap-1 type: partition size: 8.8 GiB used: 1.8 MiB (0.0%) dev: /dev/nvme0n1p3
Sensors:   System Temperatures: cpu: 42.1 C mobo: N/A gpu: nvidia temp: 37 C
           Fan Speeds (RPM): N/A gpu: nvidia fan: 35%
Info:      Processes: 370 Uptime: 1d 11h 34m Memory: 31.34 GiB used: 9.42 GiB (30.0%) Shell: Zsh inxi: 3.2.01

Add export KWIN_TRIPLE_BUFFER=1 to ~/.profile file.
And if didn’t work try with kwin_x11 --replace or killall kwin_x11 && kwin_x11 --replace.

Setting tripple buffer does nothing at all (yes, I relogged before trying).

Restarting kwin_x11 actually works, but it needs to be executed with nohup as background process, otherwise when I close terminal window, all window borders and titles disappear beyond usability. I had to switch to tty to reboot.

So, the solution would be running this after resume from suspend:

$ nohup kwin_x11 --replace &

Now I need to find a way how to automatically execute it after resume.

Thanks for the help.

I use krunner (alt+F2).