Bug 524540 - [Wayland] KWin freezes with DRM "atomic commit failed" upon clicking the desktop (plasmashell) - NVIDIA 610.57.04
Summary: [Wayland] KWin freezes with DRM "atomic commit failed" upon clicking the desk...
Status: REPORTED
Alias: None
Product: kwin
Classification: Plasma
Component: wayland-generic (other bugs)
Version First Reported In: 6.7.4
Platform: Fedora RPMs Linux
: NOR crash
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2026-08-21 17:04 UTC by John
Modified: 2026-09-08 18:30 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed/Implemented In:
Sentry Crash Report:


Attachments
Journalctl logs: kwin_wayland_drm atomic commit failed (466.33 KB, text/plain)
2026-08-21 17:04 UTC, John
Details
drm info crash (197.71 KB, text/plain)
2026-08-21 19:06 UTC, John
Details
Kscreen Output (2.95 KB, text/plain)
2026-08-21 19:06 UTC, John
Details
DRM Info Working (195.37 KB, text/plain)
2026-08-24 19:39 UTC, John
Details

Note You need to log in before you can comment on or make changes to this bug.
Description John 2026-08-21 17:04:45 UTC
Created attachment 195338 [details]
Journalctl logs: kwin_wayland_drm atomic commit failed

Operating System & Software Stack:
OS: Fedora Linux 44 (x86_64)
Kernel: 7.1.8-200.fc44.x86_64
DE: KDE Plasma (Wayland session)
NVIDIA Driver: 610.57.04 (proprietary, installed via RPM Fusion akmod-nvidia)
Early KMS: Verified and active (nvidia, nvidia-drm, nvidia-modeset, nvidia-uvm present in initramfs)
Steps to Reproduce:
Boot the system and log into a KDE Plasma Wayland session.
The desktop environment loads correctly (panels and windows are functional).
Click anywhere on the empty desktop background (plasmashell surface).

Observed Behavior:
The compositor instantly freezes. Interaction with windows becomes impossible. The system logs register an immediate DRM rejection linked to Wayland atomic mode setting.

Expected Behavior:
Clicking the desktop background should not cause the compositor to crash or trigger a DRM atomic commit rejection.

Additional Information / Troubleshooting:

Navigating via the panel or Alt+Tab (without clicking the desktop surface) works normally.

The issue seems strictly tied to the driver's handling of the plasmashell surface under Wayland.

Downgrading to NVIDIA 595.x was not possible due to incompatibility with Kernel 7.1.8 (linux/of_gpio.h removal).
Comment 1 TraceyC 2026-08-21 18:19:16 UTC
Thanks for the bug report. To investigate, we need  the output of this command:
kscreen-doctor -o

Also, please get the output of drm_info when the bug happens. You can run it from ssh if you can't get to a TTY

This may be the same as bug 521568
Comment 2 John 2026-08-21 19:06:06 UTC
Created attachment 195343 [details]
drm info crash
Comment 3 John 2026-08-21 19:06:35 UTC
Created attachment 195344 [details]
Kscreen Output
Comment 4 John 2026-08-21 19:08:11 UTC
Hi TraceyC,
Thank you for looking into this.
As requested, I have attached both the output of 'kscreen-doctor -o' and the 'drm_info' capture taken exactly at the moment the freeze occurs (using a delayed background task right before clicking the desktop).
As a side note, looking at the drm_info output, it seems the nvidia-drm driver reports its version as "0.0.0" and fails the atomic commit while attempting to negotiate the NVIDIA_BLOCK_LINEAR_2D modifier with the ABGR2101010 format on Plane 0.
Let me know if you need any additional traces or dbus logs.
Comment 5 TraceyC 2026-08-21 23:15:04 UTC
Thanks for the details. The kwin developers will take it from here.
Comment 6 John 2026-08-24 19:37:29 UTC
Additional information regarding the issue:

I have found a reliable workaround. If I physically unplug and replug the DisplayPort cable (hot-plug) while the session is running, KWin fully recovers. The freezes stop entirely, and right-clicking on the desktop works perfectly.

Comparing the drm_info output between the frozen state and the working hot-plugged state reveals a specific difference in the hardware color management registers for the active CRTC (CRTC 0) and Plane (Plane 0):

In the frozen state: NV_CRTC_REGAMMA_DIVISOR and NV_PLANE_DEGAMMA_MULTIPLIER are stuck at 0.

In the working state: NV_CRTC_REGAMMA_DIVISOR and NV_PLANE_DEGAMMA_MULTIPLIER are correctly set to 4294967296.

This suggests the atomic commit failure is triggered by uninitialized (zeroed) gamma/degamma divisor registers during the initial boot sequence with the NVIDIA DRM driver, which are properly flushed and reinitialized upon an HPD (Hot-Plug Detect) event.
Comment 7 John 2026-08-24 19:39:26 UTC
Created attachment 195444 [details]
DRM Info Working
Comment 8 John 2026-08-24 20:12:27 UTC
Further update on the workaround:

I have verified that a physical hot-plug is not strictly necessary. A software-triggered display reconfiguration achieves the exact same recovery.

Executing the following command to temporarily alter the scaling geometry unfreezes the desktop immediately:

kscreen-doctor output.DP-1.scale.1.25 && sleep 1 && kscreen-doctor output.DP-1.scale.1

This command toggle forces KWin and the NVIDIA driver to renegotiate the display state, which correctly initializes the NV_CRTC_REGAMMA_DIVISOR and NV_PLANE_DEGAMMA_MULTIPLIER registers to 4294967296 (instead of 0) and resolves the atomic commit failures.
Comment 9 Troy Latchman 2026-09-08 18:30:24 UTC
Possibly another manifestation of this same issue, on identical versions
(Fedora 44, Plasma 6.7.4, NVIDIA 610.57.04) but hitting the `plasmalogin`
greeter at boot instead of a running desktop session.

On my system the greeter's own KWin instance
(`plasma-login-kwin_wayland`) occasionally fails an atomic commit shortly
after starting, crashes, and is restarted by systemd. When that happens,
the already-rendered password field stays visible and still responds to
mouse input, but no longer accepts keyboard input — clicking any other UI
element (e.g. "Switch User") forces the greeter to rebuild the affected UI
and restores keyboard input. I don't get a full freeze like the desktop
case above; the greeter's automatic restart seems to recover the display
layer but not the password field's input wiring.

`atomic commit failed: Permission denied` shows up in the journal on
nearly every greeter start (found in ~15-20 occurrences across two weeks
of logs), but the user-visible dead-keyboard symptom is much rarer
(noticed twice) — consistent with this being a timing-dependent
consequence of the same underlying register/commit issue rather than a
separate bug: most of the time KWin's retry lands before the QML
password field finishes wiring up input, so the race is invisible in
practice.

Journal excerpt from one occurrence:

```
kwin_wayland[124026]: Failed to find a working output layer configuration! Enabled layers:
kwin_wayland[124026]: src KWin::RectF(0,0 1920x1200) -> dst KWin::Rect(0,0 1920x1200)
kwin_wayland[124026]: Applying output configuration failed!
plasma-login-wallpaper[124059]: The PlasmaWindowManagement protocol hasn't activated in time. The client possibly got denied by kwin? Check kwin output.
kwin_wayland[124026]: atomic commit failed: Permission denied
systemd[123921]: Stopping plasma-login-kwin_wayland.service - KDE Window Manager (Login Manager Version)...
systemd[123921]: Stopped plasma-login-kwin_wayland.service - KDE Window Manager (Login Manager Version).
plasmalogin-helper[124175]: [PAM] Asked to close the session but it wasn't previously open
plasmalogin[3323]: Auth: plasmalogin-helper exited with 255
```

System: Fedora Linux 44, kernel 7.1.13-200.fc44.x86_64, GPU NVIDIA GeForce
GTX 1660 Ti (TU116), driver 610.57.04, plasma-login-manager 6.7.4-1.fc44,
kwin 6.7.4-2.fc44, plasma-workspace 6.7.4-2.fc44, KF6 6.29.0, Qt 6.11.2.

Possibly also related: bug 521568 (same "atomic commit failed: Permission
denied" signature, also NVIDIA, during a different Wayland compositor
handoff point — SDDM greeter to user session).