NVIDIA / NVIDIA/open-gpu-kernel-modules
Intermittent Framebuffer Corruption and Window Stalls on NVIDIA GBM Stack
Nobody has claimed this yet.
- Dominant language
- C
- Stars
- 17.4k
- Forks
- 1.9k
- PR merge metrics
- No merged PRs in 30d
Description
NVIDIA Open GPU Kernel Modules Version
570.144
Please confirm this issue does not happen with the proprietary driver (of the same version). This issue tracker is only for bugs specific to the open kernel driver.
- I confirm that this does not happen with the proprietary driver package.
Operating System and Version
Garuda Linux Broadwing
Kernel Release
6.14.3-zen1-1.1-zen
Please confirm you are running a stable release kernel (e.g. not a -rc). We do not accept bug reports for unreleased kernels.
- I am running on a stable kernel release.
Hardware: GPU
GeoForce GTX 2060 Mobile
Describe the bug
Running on Wayland with the proprietary NVIDIA drivers, I experience occasional graphical glitches that affect window rendering and responsiveness. It causes momentary partial freezes or graphical corruption (screen tearing, flickering regions, UI elements not redrawing), and soon after, full system freeze.
These symptoms do not occur on X11, or present differently (e.g. HDMI issues instead), suggesting driver instability specific to Wayland compositing.
To Reproduce
Boot into Wayland session with proprietary NVIDIA drivers.
Use a multi-window setup or compositing-heavy applications (browser + video playback + IDE, etc.)
Use for a few hours, sometimes sooner
Observe sudden visual glitches:
- Frozen windows
- Artifacts in title bars
- Areas of desktop not redrawing
- Partial responsiveness, followed by recovery
- Full system freeze
Bug Incidence
Sometimes
nvidia-bug-report.log.gz
This report is shortly after visual glitches; but before a full system freeze.
nvidia-bug-report.log.gz
More Info
Suspected Root Cause / Theory
- Likely buffer flip or damage event mishandling, possibly in NVIDIA’s GBM buffer management
- Compositor (KWin) attempts redraw → NVIDIA driver fails to update part of the scanout plane
- Wayland surface commit cycle broken or delayed
- Session enters a semi-stalled state with cursor updated by hardware plane, but window buffers stale or unflushed
- May relate to power-state transitions, VRR, or OpenGL context leakage
Suggested Areas to Investigate
- GBM/Wayland buffer lifecycle mismatch (flush/fence delay?)
- nvidia-drm scanout path vs KWin’s presentation stack
- HDMI signal management under dynamic buffer transitions
- Resource leak in DRM plane allocator
- Timing misalignment between compositor + hardware event queue
More actions
- Audit the GBM buffer lifecycle, especially during power-state or frequency transitions
- Add runtime validation that a surface flip actually commits visibly, not just "logically"
- Implement fallbacks for redraw triggers when damage events aren’t properly detected (e.g., force frame rebuild if last damage = identical)
False assumption: “If the app/compositor calls eglSwapBuffers() or commits a frame, the sync fence has completed, and the frame is visible.”
Wrong.
Here’s what actually happens:
The Wayland Reality (with GBM):
- The compositor (e.g., KWin) relies on explicit sync fences from the GPU via GBM
- When the app or shell finishes drawing, it:
- Allocates a GBM buffer
- Attaches it to a Wayland surface
- Passes a sync fence (timeline or DMA fence) to the compositor
- Compositor waits for fence to signal “ready” before scanout
BUT:
- If the NVIDIA driver signals the fence prematurely, or
- If the driver skips signaling entirely, or
- If the fence signals but the actual GPU work hasn’t flushed properly, or
- If the flip fails silently under the hood
→ the compositor commits a stale or corrupted buffer
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the attached nvidia-bug-report.log.gz alongside the Wayland, GBM, nvidia-drm, and KWin presentation paths named in the report. Reproduce the intermittent corruption and stalls under the stated Wayland workload, then use the logs and behavior to identify a specific driver failure before proposing a fix.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c, linux
- Domain
- computer-graphics, operating-systems
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100