https://bugs.kde.org/show_bug.cgi?id=525886

--- Comment #8 from Max Nomad <[email protected]> ---
Attached: drm_info output from my machine (drm_info 2.6.0, card0 = nvidia-drm
GA106M RTX 3060 Mobile, driver 580.178.04; card1 = amdgpu Cezanne iGPU).
Captured in a normal running session. It reflects the current setup, where KWin
renders on the AMD iGPU (see below).

On the packaging recommendations from comment 5: this machine is on the 580
branch, so the PreserveVideoMemoryAllocations path applies, and it already
matches.

* nvidia-drm modeset=1 (modprobe.d)
* NVreg_PreserveVideoMemoryAllocations=1 (confirmed in
/proc/driver/nvidia/params)
* NVreg_TemporaryFilePath=/var
* nvidia-suspend.service, nvidia-resume.service and nvidia-hibernate.service
are all enabled
* proprietary kernel module, GSP firmware off (NVreg_EnableGpuFirmware=0)

New data that I think settles the driver question. On 2026-10-06 I moved KWin
from the NVIDIA dGPU to the AMD iGPU (KWIN_DRM_DEVICES order). Wayland clients
follow the compositor, so plasmashell now renders on the AMD render node as
well. Nothing else changed: same Plasma 6.6.6, same Qt 6.10.2, same kernel
series, same NVIDIA 580.178.04 module loaded.

* 2026-09-19 to 2026-10-06, plasmashell on NVIDIA: context lost on 31 of 44
resumes, always 13 to 17 s after "PM: suspend exit".
* 2026-10-06 to today, plasmashell on AMD: 0 context losses in 63 resumes.

So the bug follows the GPU, not the Plasma/Qt version.

I also need to correct my comment 1. I argued there that this looked like a Qt
Quick recovery gap, because KWin survived on the same GPU. A later gdb capture
of a frozen (non-crashing) instance showed the plasmashell main thread blocked
ten frames deep inside libnvidia-eglcore.so.580.178.04, called from
QRhi::endFrame() in QSGGuiThreadRenderLoop::renderWindow. That fits a driver
fault, and I withdraw that argument. The capture and an nvidia-bug-report log
are in my NVIDIA forum report: https://forums.developer.nvidia.com/t/384806 (no
NVIDIA response yet).

The shutdown crash from comment 1 is now bug NNNNNN, as requested. One related
note for anyone on Qt 6.10: some of the crashes when plasmashell is stopped
after a context loss are a Qt use-after-free that is already fixed upstream.
QSGGuiThreadRenderLoop::handleDeviceLoss() destroyed the QRhi but left
QQuickWindowPrivate::rhi dangling, and QSGRenderLoop::postJob() later calls
makeThreadLocalNativeContextCurrent() on it. Fix: qtdeclarative 6a2e413a5a
"Scenegraph: Nullify QQuickWindowPrivate::rhi on RHI destruction", in Qt 6.11;
picked to the 6.10 branch as 6cb7ca6b3d, but not in any 6.10 release. Ubuntu
26.04 ships Qt 6.10.2, so it is affected.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to