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

            Bug ID: 527605
           Summary: Monitors on the NVIDIA GPU show stale frames: EGL
                    multi-GPU copy fallback presents before the copy
                    finishes (6.8.1)
    Classification: Plasma
           Product: kwin
      Version First 6.8.1
       Reported In:
          Platform: Arch Linux
                OS: Linux
            Status: REPORTED
          Severity: normal
          Priority: NOR
         Component: compositing
          Assignee: [email protected]
          Reporter: [email protected]
  Target Milestone: ---

DESCRIPTION

On this machine the internal panel is driven by the Intel iGPU while the
external monitor is connected to the NVIDIA dGPU, so KWin composes on Intel and
that output goes through the multi-GPU swapchain (scanout buffer living on the
NVIDIA card).

After upgrading 6.8.0 -> 6.8.1 that output keeps re-displaying parts of
previous frames: a few rectangular blocks or bands oscillate between the
current and a slightly older frame. Full-screen screenshots taken while it
happens are clean, so the composed scene itself is correct and the problem sits
between composition and scanout.

STEPS TO REPRODUCE

1. Hybrid Intel + NVIDIA laptop on Plasma Wayland, external monitor connected
to the NVIDIA GPU, internal panel on the Intel GPU.
2. Use the desktop normally and watch the NVIDIA-connected output.
3. The output shows stale rectangular regions replaying older frames.

OBSERVED RESULT

Parts of the NVIDIA-connected output show content from previous frames,
flickering continuously. The Intel-connected internal panel is clean.
Screenshots are clean.

EXPECTED RESULT

No stale frames on any output.

SOFTWARE/OS VERSIONS

Operating System: Arch Linux, kernel 7.2.11-arch1-1
KDE Plasma Version: 6.8.1
KDE Frameworks Version: 6.31.0
Qt Version: 6.12.0
Compositor GPU: Intel UHD Graphics 770 (ADL-S GT1), Mesa 26.2.5, OpenGL ES 3.2
Second GPU / output GPU: NVIDIA RTX 4070 Max-Q (AD106M), nvidia-open 615.78.08
with GSP
Outputs: DP-1 2560x1440@200Hz on NVIDIA, eDP-1 2560x1600@165Hz on Intel, VRR
off, HDR on both

ADDITIONAL INFORMATION

- Independent of refresh rate and HDR: 60Hz + HDR, 200Hz + SDR and 60Hz + SDR
all show it, so it is not a bandwidth, link-training or colour-pipeline
problem.
- Power-cycling the monitor, reseating the DisplayPort cable and rebooting do
not help. The same monitor and cable are clean under Windows on the same
machine.
- dmesg shows no Xid, no FIFO underrun and no flip timeout.
- The problem appeared immediately after the 6.8.0 -> 6.8.1 upgrade.
- Setting KWIN_ALLOW_VULKAN_MGPU_COPIES=1 makes it disappear completely, which
points at 54288bdf ("multigpuswapchain: enforce the host memory workaround for
Nvidia GPUs"). That commit sends the NVIDIA side of the copy to EglMultiGpuCopy
on this configuration, and the result looks like the scanout buffer is
presented before the copy has finished. The comment added in the same commit
says the Vulkan NVIDIA -> system memory dmabuf path glitches because of a
driver bug, so on this setup both copy paths seem to break, in different ways.
- Happy to test patches or provide more logs.

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

Reply via email to