Kwin_wayland_drm: Pageflip timed out! This is a bug in the nvidia-drm kernel driver

Small Update.
After working around it for a while my 4090 has now decided to no longer work in windows at all.
The only way I got it to work in CachyOs was to use a power limit
sudo nvidia-smi -pl 200
sudo nvidia-smi -lgc 210,500
sudo nvidia-smi -pm 1
I maintained this through using a system service to keep it applied at startup
Unfortunately If I remove the power limits at all the GPU will crash immediately and I can then only access through SSH.
nvidia-smi will not respond at this point.

I had very similar issues with a 5090 (random black screens during load, no load, clocks locking helping, etc)

In my case it was a combination of a broken motherboard and GPU. Replaced both, no more issues.

As for why it could be motherboard - I had a 3080 before, which was pulling half the power and stressing the system less. No issues, with a 9070xt I mostly had luck with very occasional issues (black screen, etc), so.

Hello Again,
After completely removing all the cables, inspecting them etc.
Firing up my old TitanXP and tested each of the 4 8pin cables with it at 100% GPU.

Then in windows I did a DDU wipe to nuke all the graphics drivers.

Reinstalled the 4090 with all the cables etc.

The 4090 was detected by windows (basic display adapter), windows update installed the drivers it provides for nvidia and then I installed the latest drivers.

The GPU now works again. However im now limiting it to 180hz and keeping HDR off.
Until the forums start saying the Nvidia situation in Linux is now good (not so buggy) then I think that’ll be a safer option.

Just happy I dont have an expensive brick.

**[Aggregated Report][RTX 5090 / Blackwell] — New hardware confirmation + tiled display CRTC format mismatch finding
**
@amrits

Adding to this thread with a structured aggregation from the newest hardware yet reported here, plus a previously unreported finding that may explain why tiled display users hit this bug more easily.


System

GPU RTX 5090 (GB202 / Blackwell)
Driver 595.58.03 — open kernel modules, built 2026-03-25
Kernel 6.17.7 (Fedora 43)
OS Bazzite bazzite-nvidia-open:stable, image 43.20260406
DE KDE Plasma 6 / KWin Wayland
Display Dell UP3214Q (tiled 4K — two 1920×2160 panels on DP-4 + DP-5)
Secondary GPU AMD iGPU (Ryzen 9 9950X3D) — idle, not driving displays

The bug persists on driver 595.58.03 with open kernel modules on Blackwell (GB202). This is the newest driver/hardware combination yet confirmed in this thread.


Canonical error chain (for search indexing)

nvidia-modeset: ERROR: GPU:0: Failed to query display engine channel state: 0x0000XXXX:Y:Z:0x0000000f
nv_drm_atomic_commit [nvidia_drm]: *ERROR* [nvidia-drm] [GPU ID 0x00000100] Flip event timeout on head N
kwin_wayland: kwin_wayland_drm: Pageflip timed out! This is a bug in the nvidia-drm kernel driver

Driver version history (aggregated from all reports in this thread)

Driver Status
545.x First widespread reports (KDE bug #493277)
555.x Explicit sync landed — fixed flickering/tearing, did not fix pageflip timeout
575.51.02 @amrits noted partial fix — regression persisted
580–590.x Still reported
595.58.03 Still present — confirmed RTX 5090 (this report)

The bug predates and survives explicit sync integration. It is a distinct issue from the pre-555 flickering regression.


New finding: CRTC framebuffer format mismatch on tiled displays

On our UP3214Q (4K tiled display — two identical physical panels), we found KWin allocating different pixel formats for the two display tiles:

crtc-0 (DP-4):  format=AB30  (ABGR2101010, 10-bit)         modifier=0x300000000606014
crtc-1 (DP-5):  format=AB4H  (ABGR16161616F, 16-bit float)  modifier=0x300000000606014

Both panels have identical EDID (10-bit, RGB 4:4:4). The mismatch was caused by divergent Color power preference KWin settings persisting across sessions on what should be treated as one physical panel:

  • DP-4: prefer efficiency and performance → 10-bit AB30
  • DP-5: prefer accuracy → 16-bit half-float AB4H

When Night Light applies a Gamma LUT update, it must commit to both CRTCs atomically. With mismatched format pipelines, the atomic commit is considerably more complex — we believe this is an aggravating factor for the display engine channel state failure.

After equalising both panels to prefer accuracy (both AB4H), the Night Light trigger became harder to reproduce in our session — consistent with this mismatch raising the fault threshold. We ran 20+ Night Light toggle cycles during 4K video playback and Arma Reforger (Steam/Proton) launch without triggering the pageflip timeout in the equalised session.

Secondary finding: KWin does not enforce consistent Color power preference across tiles of the same physical tiled panel. Tiles with identical EDID should not be permitted to diverge — this is a KWin-side issue being filed separately at bugs.kde.org.

Tertiary finding: The UP3214Q presents as two independent outputs in KWin Wayland with no TILE property unification (replication source:0 on both). This is the same TILE DRM property gap documented by @michael_stapelberg for wlroots (report linked above), now confirmed on KWin/KDE as well.


Historical Xid errors from nvidia-bug-report.log.gz

The attached bug report captures the previous day’s logs. It contains Xid errors from the prior session that indicate GPU-level instability on this Blackwell hardware with 595.58.03:

Xid 51  BAD_TSG on runlist:0 error:5   (process: Xorg)
Xid 69  Class Error class=0000902d     (process: glxgears via Xwayland)  — 6 occurrences
Xid 51  BAD_TSG on runlist:0 error:4   
Xid 51  BAD_TSG on runlist:0 error:5   (process: Xwayland)
Xid 51  BAD_TSG on runlist:0 error:5

The Xid 51 attributed to Xwayland is notable — Xwayland runs inside the Wayland compositor session, placing this GPU-level error within a Wayland compositor context.


Questions for NVIDIA engineers

  1. Is the display engine channel state query failure (0x0000XXXX:Y:Z:0x0000000f) architecturally different on Blackwell (GB202) vs Ampere/Ada? Multiple P-state transitions during atomic commits with Gamma LUT updates appear to be the common trigger pattern.

  2. Does a multi-CRTC atomic commit involving two framebuffers with mismatched pixel formats (AB30 vs AB4H) increase the likelihood of the display engine channel entering the unrecoverable state?

  3. Is there an expected recovery path once the display engine channel state query begins failing? KWin currently has no recovery mechanism and the session requires a full logout or hard reboot.


Attachments

  • nvidia-bug-report.log.gz — captured 2026-04-07, contains Xid history from prior session
  • kwin-103737-sanitized.log — KWin Wayland journal (clean session, no pageflip errors)
  • dmesg-103737-sanitized.log — kernel log (clean session)

Hostname and username redacted from text logs. nvidia-bug-report submitted under NVIDIA’s standard privacy terms.

nvidia-bug-report.log.gz (257.2 KB)

dmesg-103737-sanitized.log (259.1 KB)

kwin-103737-sanitized.log (9.5 KB)

Update — wayland-spectre automated diagnostic (Session 3)

System: Bazzite 43.20260406 · Kernel 6.17.7-ba29.fc43.x86_64 · NVIDIA 595.58.03 open modules · KDE Plasma / KWin 6.6.3 · Dell UP3214Q tiled 4K (DP-4 + DP-5)

Root cause confirmed: KWin screencast plugin initialises successfully (appears in supportInformation) but does not advertise zkde_screencast_unstable_v1 or ext_image_capture_source_v1 as Wayland globals. All other layers pass — L0 (NVIDIA driver), L4 (PipeWire), L6 (environment) are clean. The failure is exclusively at the compositor’s protocol advertisement stage.

Corroborating evidence:

  • 2 wl_output globals (DP-4 + DP-5 tiled split)

  • wp_linux_drm_syncobj_manager_v1 is advertised (explicit sync present)

  • zwp_linux_dmabuf_v1 is advertised at v5

  • Plugin loaded, EGL/GBM backend confirmed — init succeeds, global registration does not

Full diagnostic bundle attached (diagnostics.json + KWin supportInformation + journal logs).

Cross-ref: KDE bugs 493277, 503870

wayland-spectre-bugreport-sanitized.tar.gz (35.9 KB)

Session 4/5 update — precise failure point identified

System: unchanged — Ryzen 9 9950X3D, RTX 5090, Bazzite 43.20260406,
kernel 6.17.7-ba29.fc43.x86_64, NVIDIA driver 595.58.03 open modules,
KDE Plasma Wayland, KWin 6.6.3, Dell UP3214Q tiled 4K (DP-4 + DP-5).

New finding: kwin_screencast effect-not-activating failure mode

I’ve added a diagnostic that reads the Loaded Plugins and Loaded Effects
sections of KWin’s supportInformation separately.

Result: kwin_screencast appears in Loaded Plugins (the plugin was loaded)
but is absent from Loaded Effects (the effect never activated). This is the
precise failure point explaining why zkde_screencast_unstable_v1 is never
advertised on the Wayland bus. The failure is silent — no error in the
journal, just the absence of a “registered” line.

This persists on KWin 6.6.3 — confirmed not a version regression.

Connection to the CRTC mismatch

The timing is consistent with the AB30 vs AB4H mismatch reported in the
original bug. The Xid 51/69 in the filed nvidia-bug-report.log coincide
with the KWin boot window. KWin’s screencast effect registration depends
on compositor state that relies on all displays being correctly initialised
at startup — which they are not when the tiled CRTC formats mismatch.

What does and doesn’t help:

  • systemctl --user restart plasma-kwin_wayland — does NOT fix it.
    KWin restarts but the CRTC mismatch persists; effect fails to register again.
  • Display power cycle (DP-4 + DP-5 off then on, no reboot) — sometimes
    fixes it transiently by forcing CRTC re-enumeration.
  • Reboot — fixes it for the session, until cold boot triggers the mismatch again.

Cross-filed KDE bugs:

Both KDE bugs have been updated with the effect-not-activating finding.

wayland-spectre now has automated checks for all of the above:

Happy to run any additional diagnostics if that would help the driver team.

Update — 2026-04-08: KDE bug 518698 filed for the downstream effect registration failure: kwin_screencast initialises in “Loaded Plugins” but the screencast effect never registers in “Loaded Effects”, silently breaking all screensharing. Confirmed a secondary-monitor dependency — with only the tiled Dell UP3214Q (DP-4 + DP-5) connected the effect fails to activate; connecting any HDMI secondary monitor resolves it on next boot.

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

Having same pageflip issue.
Linux fedora 7.0.11-200.fc44.x86_64, Astral RTX 5090, Ryzen 7900X
Driver Version: 595.80
nvidia-bug-report.log.gz (447.0 KB)

This happens to me on CachyOS with Nvidia 4090. maybe every 1 out of 5 times I wake the system from sleep, my displays go black and I have to hard reset. When I check the journal it says kwin_wayland: Pageflip timed out! This is a bug in the nvidia-drm kernel driver