NVIDIA Open GPU Kernel Modules Version
615.71.09 (Arch Linux nvidia-open-dkms 615.71.09-1). Not present in 610.57.04.
Please confirm this issue does not happen with the proprietary driver (of the same version)
Operating System and Version
Arch Linux (Omarchy 4.0, rolling)
Kernel Release
Linux 7.2.4-arch1-2 #1 SMP PREEMPT_DYNAMIC Tue, 08 Sep 2026 10:22:31 +0000 x86_64 GNU/Linux (stock Arch kernel)
Please confirm you are running a stable release kernel
Hardware: GPU
GPU 0: NVIDIA GeForce RTX 3060 Laptop GPU (Dell G15 5515, Ryzen 7 5800H). Reproduced with the BIOS MUX in dGPU-only mode (all three outputs on the NVIDIA GPU: eDP-1, DP-1, HDMI-A-1), and also in hybrid mode (AMD primary, NVIDIA driving the two external outputs).
Describe the bug
Since 615.71.09, every blocking atomic commit issued while a Wayland compositor is going away waits the full 3 s flip timeout per head, and then warns about a NULL flip. Logging out of a Wayland session (Hyprland 0.56.2 / aquamarine 0.15.0, SDDM Wayland greeter) now takes ~9 s to leave the session and another ~9 s to leave the greeter; suspend entry gets the same delay.
20:02:25.168 kernel: Hyprland[2545]: segfault ... in libaquamarine.so.0.15.0 <- session compositor exits (see note below)
20:02:29.019 kernel: [nvidia-drm] [GPU ID 0x00000100] Flip event timeout on head 0
20:02:32.027 kernel: [nvidia-drm] [GPU ID 0x00000100] Flip event timeout on head 1
20:02:35.035 kernel: [nvidia-drm] [GPU ID 0x00000100] Flip event timeout on head 2
20:02:35.230 kernel: nv_flip == NULL
20:02:35.230 kernel: WARNING: nvidia-drm/nvidia-drm-crtc.h:368 at __nv_drm_handle_flip_event+0x1f8/0x210 [nvidia_drm] (x3)
20:02:35.237 systemd-logind: Session 1 logged out.
20:02:35.530 sddm: Greeter session started successfully
20:02:41.233 systemd-logind: New session '4' of user ... (login from the greeter)
20:02:44.763 kernel: [nvidia-drm] [GPU ID 0x00000100] Flip event timeout on head 0
20:02:47.771 kernel: [nvidia-drm] [GPU ID 0x00000100] Flip event timeout on head 1
20:02:50.779 kernel: [nvidia-drm] [GPU ID 0x00000100] Flip event timeout on head 2
20:02:50.985 kernel: WARNING: nvidia-drm/nvidia-drm-crtc.h:368 ... nv_flip == NULL (x3)
20:02:51.419 uwsm: Starting: /usr/bin/start-hyprland... <- user session only starts now
20:02:51.535 kernel: Hyprland[382271]: segfault ... in libaquamarine.so.0.15.0 <- greeter compositor
Note on the compositor segfault: aquamarine 0.15.0 crashes in CDRMBackend::flushAsyncCommitEvents during its static destructors at exit. That is a separate compositor bug and is not what triggers the timeouts: for the greeter the three timeouts happen before its compositor crashes, and the same exit segfault occurred on 610.57.04 without any timeout.
Regression window. From the systemd journal of this machine:
| Driver |
Wayland logouts |
Suspend entries |
"Flip event timeout" |
| 610.57.04 (last two boots before the update, docked with the same external monitors) |
2 |
33 |
none at all |
| 615.71.09 (every boot since) |
9 |
2 successful ones checked |
on all of them, one per active NVIDIA head |
Same kernel (7.2.4) and aquamarine (0.15.0) on both sides. The only other display-related package in that update was an Arch rebuild of Hyprland (0.56.2-2 → 0.56.2-3, same upstream version); the timeouts themselves are emitted by the kernel module.
Likely cause. Comparing kernel-open/nvidia-drm/nvidia-drm-modeset.c between the 610.57.04 and 615.71.09 tags, nv_drm_atomic_commit() changed how blocking commits wait:
- 610.57.04: before
drm_atomic_helper_swap_state(), a blocking commit waited (3 s max) for previously queued flips on each CRTC to drain.
- 615.71.09: the pre-wait now only applies to nonblocking commits (
-EBUSY); after nv_drm_atomic_apply_modeset_config(commit=true) a blocking commit waits for the CRTC's flip_list to become empty, which includes the flip enqueued by this very commit, and on timeout drains it with __nv_drm_handle_flip_event().
When the commit tears planes/CRTCs down (compositor exit, framebuffer removal on DRM file close, VT switch at suspend), no flip-complete event arrives for that flip, so each head sits out the full 3 * HZ, and the forced drain then hits WARN_ON(nv_flip == NULL) in nvidia-drm-crtc.h:368.
To Reproduce
- Wayland compositor on an NVIDIA GPU with N active outputs (here Hyprland 0.56.2, aquamarine 0.15.0; 3 outputs).
- Log out of the session (or suspend).
- Observe
Flip event timeout on head K for each active head, 3 s apart, followed by nv_flip == NULL warnings; the transition takes ~3 s × N longer than on 610.57.04.
Bug Incidence
Always
nvidia-bug-report.log.gz
Attached below (generated in the same boot, right after the logout shown above).
More Info
Expected: blocking commits that disable outputs complete promptly, as on 610.57.04, instead of waiting for a flip event that is never delivered.
NVIDIA Open GPU Kernel Modules Version
615.71.09 (Arch Linux
nvidia-open-dkms615.71.09-1). Not present in 610.57.04.Please confirm this issue does not happen with the proprietary driver (of the same version)
kernel-open/nvidia-drm/nvidia-drm-modeset.c) is nvidia-drm, which as far as I can tell is shared by both, so it may well affect the proprietary driver too.Operating System and Version
Arch Linux (Omarchy 4.0, rolling)
Kernel Release
Linux 7.2.4-arch1-2 #1 SMP PREEMPT_DYNAMIC Tue, 08 Sep 2026 10:22:31 +0000 x86_64 GNU/Linux(stock Arch kernel)Please confirm you are running a stable release kernel
Hardware: GPU
GPU 0: NVIDIA GeForce RTX 3060 Laptop GPU (Dell G15 5515, Ryzen 7 5800H). Reproduced with the BIOS MUX in dGPU-only mode (all three outputs on the NVIDIA GPU: eDP-1, DP-1, HDMI-A-1), and also in hybrid mode (AMD primary, NVIDIA driving the two external outputs).
Describe the bug
Since 615.71.09, every blocking atomic commit issued while a Wayland compositor is going away waits the full 3 s flip timeout per head, and then warns about a NULL flip. Logging out of a Wayland session (Hyprland 0.56.2 / aquamarine 0.15.0, SDDM Wayland greeter) now takes ~9 s to leave the session and another ~9 s to leave the greeter; suspend entry gets the same delay.
Note on the compositor segfault: aquamarine 0.15.0 crashes in
CDRMBackend::flushAsyncCommitEventsduring its static destructors at exit. That is a separate compositor bug and is not what triggers the timeouts: for the greeter the three timeouts happen before its compositor crashes, and the same exit segfault occurred on 610.57.04 without any timeout.Regression window. From the systemd journal of this machine:
Same kernel (7.2.4) and aquamarine (0.15.0) on both sides. The only other display-related package in that update was an Arch rebuild of Hyprland (0.56.2-2 → 0.56.2-3, same upstream version); the timeouts themselves are emitted by the kernel module.
Likely cause. Comparing
kernel-open/nvidia-drm/nvidia-drm-modeset.cbetween the 610.57.04 and 615.71.09 tags,nv_drm_atomic_commit()changed how blocking commits wait:drm_atomic_helper_swap_state(), a blocking commit waited (3 s max) for previously queued flips on each CRTC to drain.-EBUSY); afternv_drm_atomic_apply_modeset_config(commit=true)a blocking commit waits for the CRTC'sflip_listto become empty, which includes the flip enqueued by this very commit, and on timeout drains it with__nv_drm_handle_flip_event().When the commit tears planes/CRTCs down (compositor exit, framebuffer removal on DRM file close, VT switch at suspend), no flip-complete event arrives for that flip, so each head sits out the full
3 * HZ, and the forced drain then hitsWARN_ON(nv_flip == NULL)innvidia-drm-crtc.h:368.To Reproduce
Flip event timeout on head Kfor each active head, 3 s apart, followed bynv_flip == NULLwarnings; the transition takes ~3 s × N longer than on 610.57.04.Bug Incidence
Always
nvidia-bug-report.log.gz
Attached below (generated in the same boot, right after the logout shown above).
More Info
Expected: blocking commits that disable outputs complete promptly, as on 610.57.04, instead of waiting for a flip event that is never delivered.