Weird kwin freeze/repaint issue

Hi there,

I've been having a weird issue with my kwin compositor on KDE for quite a while now. What happens is that any single window (usually the one that's in focus) will randomly freeze/stop repainting. everything else still works fine. I can still hear sound, do inputs, move the window and so on. it's really just the graphics that stop refreshing/repainting. i can force a repaint by changing focus or modifying the window in any way. moving another window on top of a frozen one will also reveal the area the window gets dragged over to still be repainting just fine. it's as if a single freeze frame is stuck in place of new ones.
I'm pretty sure it's a kwin issue, because when i go into the compositor settings and change any setting (which i presume reloads the compositor) it temporarily fixes the issue. I've tried individually changing all the compositor settings in case one of them was the cause, but to no avail.
I'm at my wits end as i can't even seem to reproduce the freeze in any reliable way. I'm hope I'm not the only one with this issue, because I've looked far and wide for a solution, however no matter which combination of keywords I used and without having any kind of error message to search for, I was unable to find one.
I might also add that it happens relatively infrequently, but in some situations, like during a game, it becomes a huge problem, especially during online play.

System:
Kernel: 5.19.8-zen1-1-zen arch: x86_64 bits: 64 compiler: gcc v: 12.2.0
parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-zen
root=UUID=a1822dc1-b702-4704-b47e-ce7a40ceb879 rw rootflags=subvol=@
quiet splash rd.udev.log_priority=3 vt.global_cursor_default=0 loglevel=3
nvidia-drm.modeset=1 ibt=off
Desktop: KDE Plasma v: 5.25.5 tk: Qt v: 5.15.6 info: latte-dock
wm: kwin_x11 vt: 1 dm: SDDM Distro: Garuda Linux base: Arch Linux
Machine:
Type: Desktop Mobo: ASUSTeK model: MAXIMUS VIII HERO v: Rev 1.xx
serial: <superuser required> UEFI: American Megatrends v: 3802
date: 03/15/2018
Battery:
ID-1: hidpp_battery_7 charge: 93% condition: N/A volts: 4.1 min: N/A
model: Logitech Gaming Mouse G900 type: N/A serial: <filter> status: full
CPU:
Info: model: Intel Core i7-6700K bits: 64 type: MT MCP arch: Skylake-S
gen: core 6 level: v3 built: 2015 process: Intel 14nm family: 6
model-id: 0x5E (94) stepping: 3 microcode: 0xF0
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: 4200 min/max: 800/4200 scaling: driver: intel_pstate
governor: performance cores: 1: 4200 2: 4200 3: 4200 4: 4200 5: 4200
6: 4200 7: 4200 8: 4200 bogomips: 63999
Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
Vulnerabilities:
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: mmio_stale_data mitigation: Clear CPU buffers; SMT vulnerable
Type: retbleed mitigation: IBRS
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: IBRS, IBPB: conditional, RSB filling,
PBRSB-eIBRS: Not affected
Type: srbds mitigation: Microcode
Type: tsx_async_abort mitigation: TSX disabled
Graphics:
Device-1: NVIDIA GP104 [GeForce GTX 1080] vendor: ZOTAC driver: nvidia
v: 515.65.01 alternate: nouveau,nvidia_drm non-free: 515.xx+ status: current
(as of 2022-08) arch: Pascal code: GP10x process: TSMC 16nm
built: 2016-21 pcie: gen: 3 speed: 8 GT/s lanes: 16 ports: active: none
off: DP-1,DP-2,DP-3 empty: DVI-D-1,HDMI-A-1 bus-ID: 01:00.0
chip-ID: 10de:1b80 class-ID: 0300
Display: x11 server: X.Org v: 21.1.4 with: Xwayland v: 22.1.3
compositor: kwin_x11 driver: X: loaded: nvidia gpu: nvidia,nvidia-nvswitch
display-ID: :0 screens: 1
Screen-1: 0 s-res: 7680x1440 s-dpi: 107 s-size: 1824x342mm (71.81x13.46")
s-diag: 1856mm (73.06")
Monitor-1: DP-1 mapped: DP-0 note: disabled pos: right
model: ViewSonic VX2705-2KP serial: <filter> built: 2021 res: 2560x1440
dpi: 109 gamma: 1.2 size: 597x336mm (23.5x13.23") diag: 685mm (27")
ratio: 16:9 modes: max: 2560x1440 min: 640x480
Monitor-2: DP-2 note: disabled pos: primary,center model: Acer XB271HU
serial: <filter> built: 2016 res: 2560x1440 dpi: 109 gamma: 1.2
size: 598x336mm (23.54x13.23") diag: 686mm (27") ratio: 16:9 modes:
max: 2560x1440 min: 640x480
Monitor-3: DP-3 mapped: DP-4 note: disabled pos: primary,left
model: ViewSonic VX2705-2KP serial: <filter> built: 2021 res: 2560x1440
dpi: 109 gamma: 1.2 size: 597x336mm (23.5x13.23") diag: 685mm (27")
ratio: 16:9 modes: max: 2560x1440 min: 640x480
OpenGL: renderer: NVIDIA GeForce GTX 1080/PCIe/SSE2 v: 4.6.0 NVIDIA
515.65.01 direct render: Yes
Audio:
Device-1: Intel 100 Series/C230 Series Family HD Audio vendor: ASUSTeK
driver: snd_hda_intel v: kernel bus-ID: 1-9:4 chip-ID: 19f7:0003
bus-ID: 00:1f.3 chip-ID: 8086:a170 class-ID: 0300 class-ID: 0403
Device-2: NVIDIA GP104 High Definition Audio vendor: ZOTAC
driver: snd_hda_intel v: kernel pcie: gen: 3 speed: 8 GT/s lanes: 16
bus-ID: 01:00.1 chip-ID: 10de:10f0 class-ID: 0403
Device-3: RODE Microphones NT-USB type: USB
driver: hid-generic,snd-usb-audio,usbhid
Sound Server-1: ALSA v: k5.19.8-zen1-1-zen running: yes
Sound Server-2: PulseAudio v: 16.1 running: no
Sound Server-3: PipeWire v: 0.3.58 running: yes
Network:
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: down mac: <filter>
Device-2: Mellanox MT26448 [ConnectX EN 10GigE PCIe 2.0 5GT/s]
driver: mlx4_core v: 4.0-0 pcie: gen: 2 speed: 5 GT/s lanes: 4 link-max:
lanes: 8 port: N/A bus-ID: 05:00.0 chip-ID: 15b3:6750 class-ID: 0200
IF: enp5s0 state: up speed: 10000 Mbps duplex: full mac: <filter>
IF-ID-1: virbr0 state: down mac: <filter>
Bluetooth:
Device-1: TP-Link UB500 Adapter type: USB driver: btusb v: 0.8
bus-ID: 1-6.4.4:27 chip-ID: 2357:0604 class-ID: e001 serial: <filter>
Report: bt-adapter ID: hci0 rfk-id: 7 state: up address: <filter>
Drives:
Local Storage: total: 2.96 TiB used: 635.64 GiB (21.0%)
SMART Message: Unable to run smartctl. Root privileges required.
ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Samsung model: SSD 950 PRO
256GB size: 238.47 GiB block-size: physical: 512 B logical: 512 B
speed: 31.6 Gb/s lanes: 4 type: SSD serial: <filter> rev: 1B0QBXX7
temp: 36.9 C scheme: GPT
ID-2: /dev/sda maj-min: 8:0 vendor: Crucial model: CT2000BX500SSD1
size: 1.82 TiB block-size: physical: 512 B logical: 512 B speed: 6.0 Gb/s
type: SSD serial: <filter> rev: 030
ID-3: /dev/sdb maj-min: 8:16 vendor: Samsung model: SSD 850 EVO 500GB
size: 465.76 GiB block-size: physical: 512 B logical: 512 B speed: 6.0 Gb/s
type: SSD serial: <filter> rev: 2B6Q
ID-4: /dev/sdc maj-min: 8:32 vendor: Samsung model: SSD 860 EVO 500GB
size: 465.76 GiB block-size: physical: 512 B logical: 512 B speed: 6.0 Gb/s
type: SSD serial: <filter> rev: 1B6Q
Partition:
ID-1: / raw-size: 238.17 GiB size: 2.96 TiB (1273.32%) used: 635.64 GiB
(21.0%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
ID-2: /boot/efi raw-size: 300 MiB size: 299.4 MiB (99.80%) used: 596 KiB
(0.2%) fs: vfat dev: /dev/nvme0n1p1 maj-min: 259:1
ID-3: /home raw-size: 238.17 GiB size: 2.96 TiB (1273.32%) used: 635.64
GiB (21.0%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
ID-4: /var/log raw-size: 238.17 GiB size: 2.96 TiB (1273.32%) used: 635.64
GiB (21.0%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
ID-5: /var/tmp raw-size: 238.17 GiB size: 2.96 TiB (1273.32%) used: 635.64
GiB (21.0%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
Swap:
Kernel: swappiness: 133 (default 60) cache-pressure: 100 (default)
ID-1: swap-1 type: zram size: 62.74 GiB used: 6.26 GiB (10.0%)
priority: 100 dev: /dev/zram0
Sensors:
System Temperatures: cpu: 33.0 C mobo: N/A gpu: nvidia temp: 56 C
Fan Speeds (RPM): N/A gpu: nvidia fan: 0%
Info:
Processes: 399 Uptime: 6h 23m wakeups: 129 Memory: 62.74 GiB used: 21.67
GiB (34.5%) Init: systemd v: 251 default: graphical tool: systemctl
Compilers: gcc: 12.2.0 alt: 11 clang: 14.0.6 Packages: 1987 pm: pacman
pkgs: 1979 libs: 495 tools: octopi,paru pm: flatpak pkgs: 8 Shell: fish
v: 3.5.1 default: Zsh v: 5.9 running-in: yakuake inxi: 3.3.21
Garuda (2.6.7-1):
System install date:     2022-02-20
Last full system update: 2022-09-22 ↻
Is partially upgraded:   No
Relevant software:       NetworkManager
Windows dual boot:       No/Undetected
Snapshots:               Snapper
Failed units:            shadow.service

Welcome :slight_smile:

  1. reboot
Kernel: 5.19.10-zen1-1-zen
  1. BIOS update?

afaik i'm on the latest BIOS. Version 3802 according to ASUS support page.

# dmidecode 3.4
Getting SMBIOS data from sysfs.
SMBIOS 3.0.0 present.
Table at 0x8F9A7000.

Handle 0x0000, DMI type 0, 24 bytes
BIOS Information
Vendor: American Megatrends Inc.
Version: 3802
Release Date: 03/15/2018
Address: 0xF0000
Runtime Size: 64 kB
ROM Size: 16 MB

I've had this issue for multiple months now and none of the previous updates and subsequent restarts resolved the issue, if this one somehow magically does though, I'll be surprised.
Gonna do a restart now and report back if it happens again.

well, that didn't help. it's still happening.

Try switching to Wayland. I realize you have an Nvidia card, but lately I have seen more and more people successfully using Wayland with Nvidia hardware--it's at least worth a shot.

2 Likes

i've tried plasma-wayland-session a while ago, but too many things were broken. do you have any guide that i could follow to make a proper transition?

... what was broken?

i can't recall all of it and it probably doesn't even matter at this point, but for the most part many applications simply wouldn't run out of the box, not even with xwayland. it felt like starting over and re-configuring everything to get it running as well as it did in xorg, so i just didn't commit to transitioning back then. maybe the problems i ran into don't even exist anymore, so it's probably best not to worry about them.
it has been at least a year since then and instead of aimlessly installing the plasma-wayland session and trying to figure things out on my own, i would really appreciate if someone could recommend a guide or something i can follow to make sure i don't mess up miss anything.
i've been following the development of wayland somewhat and i've heard that a lot of progress has been made since i last played around with it. i'm pretty sure that what i did back then was just an incomplete setup, to say the least, but i just didn't know any better. i'm not an expert (yet).

I recommend this guide:

  • Install plasma-wayland-session
  • Reboot
  • Switch to Wayland on the login screen
  • Enjoy :slightly_smiling_face:
3 Likes

alright, guess i'll give it another try tomorrow then.