Dear maintainers,
On trixie, gnome-shell leaks GPU buffers while the session is locked and
the external monitor is in power saving. GTT fills to its ceiling,
overflows into unmapped shmem and swap, and the kernel OOM killer then
kills small unrelated processes, which frees nothing. Four episodes
here in six days. This matches upstream issue 4101. Please consider
backporting the fix to trixie.
System: ThinkPad P14s Gen 2a, Ryzen 7 PRO 5850U (integrated Radeon),
32 GiB, kernel 6.12.86+deb13-amd64, mesa 25.0.7-2+deb13u1, gnome-shell
48.7-0+deb13u2, mutter 48.7-0+deb13u1, Wayland. Internal panel plus
ASUS PA278QV connected via USB-C dock, DisplayPort.
Evidence (mem_info_gtt_used, /proc/meminfo, fdinfo drm-memory-gtt):
2026-09-20 22:10: gtt_used 16183771136 of 16208060416, gnome-shell
alone 15362 MiB, Shmem 12.2 GiB with /dev/shm and memfds empty,
MemAvailable 64 MB. OOM kills 21:59 to 22:37. At about 22:37 all of
it was released at once, same gnome-shell PID.
Reproduction, 2026-09-21: Super+L, monitor sleeps, 15 minutes.
gtt_used 240 MiB before, 5299834880 while locked, 1611337728 five
minutes after unlock.
Control: monitor switched off at its power button, then the same
lock. gtt_used flat at about 530 MB. No leak.
Fix: https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/5285
("renderer/native: Don't keep around detached onscreens in power
saving"), merged 2026-09-03, in gnome-50 via !5325, released in 50.5.
Launchpad bug 2167374 says the backport needs two companion commits
(83c465ff, c145106d) and should not be taken without them. I have not
verified those hashes.
Workaround: switch the external monitor off before locking.
Thanks,
Philippe Baret