https://bugs.kde.org/show_bug.cgi?id=523812
Bug ID: 523812
Summary: kwin_wayland leaks screen-sized DRM buffers during
rendering: ~1.4 GB/hour of active use, zero when idle
Classification: Plasma
Product: kwin
Version First 6.7.3
Reported In:
Platform: CachyOS
OS: Linux
Status: REPORTED
Severity: major
Priority: NOR
Component: platform-drm
Assignee: [email protected]
Reporter: [email protected]
CC: [email protected]
Target Milestone: ---
Created attachment 194819
--> https://bugs.kde.org/attachment.cgi?id=194819&action=edit
vmwgfx GEM object dump at peak (kwin_wayland holding 1846 objects / 13.1 GB,
all pin_count=0) plus the 15-minute measurement series covering an active
session, 7.3 h idle, and resumed activity
Environment: Plasma 6.7.3 / KWin 6.7.3, Qt 6.11.1, Mesa 26.1.6, kernel 7.1.5
(CachyOS), Wayland session, 3x 1920x1080. Guest on VMware Workstation using the
vmwgfx driver with software rendering (LIBGL_ALWAYS_SOFTWARE=1). 31 GiB RAM.
kwin_wayland allocates screen-sized DRM buffers and never releases them. After
9 hours of use it held 1846 GEM objects totalling 13.1 GB, of which 1553 were
exactly 8355840 bytes (1920x1088x4). All of them had pin_count = 0, so the
driver is not holding them - only a reference from kwin_wayland keeps them
alive. At the same moment every other DRM client (Chromium, Chrome, Electron,
Xwayland) held zero objects, which is why closing applications frees nothing.
Growth follows rendering activity, not uptime. Sampled every 15 minutes:
active use: 4.73 -> 14.92 GB, 753 -> 2149 objects in 7.6 h (~1.4 GB/h)
idle: 1.16 GB / 224 objects, unchanged over 7.3 h
resumed use: 224 -> 255 objects in 15 minutes
Growth stops only when ttm.pages_limit (~15.65 GiB, half of RAM) is reached.
>From that point the machine swaps continuously and the OOM killer eventually
terminates my editor mid-session. Only a reboot releases the memory.
Opening and closing 32 windows produced no growth at all, while a single
browser window running a looping CSS animation moved the pool from 114 MB to
222 MB, which never came back down.
The attachment contains the per-process breakdown, the object size histogram,
the pin_count distribution and the full measurement log.
Possibly related: bug 502259, bug 498627, bug 496898.
--
You are receiving this mail because:
You are watching all bug changes.