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

            Bug ID: 527704
           Summary: Regression in 6.8: one output (4K@120 HDMI TV) stops
                    being repainted for 5 s to several minutes on NVIDIA;
                    other output keeps working, nothing logged
    Classification: Plasma
           Product: kwin
      Version First 6.8.1
       Reported In:
          Platform: Arch Linux
                OS: Linux
            Status: REPORTED
          Severity: normal
          Priority: NOR
         Component: platform-drm
          Assignee: [email protected]
          Reporter: [email protected]
                CC: [email protected]
  Target Milestone: ---

Created attachment 197576
  --> https://bugs.kde.org/attachment.cgi?id=197576&action=edit
KWin perf log, TV output, around the freeze

SUMMARY
Since upgrading from Plasma 6.7.5 to 6.8.0 (and still on 6.8.1), my main output
(an LG TV over HDMI, [email protected], scale 1.25) freezes several times per
hour. The image stays on screen (no black frame or signal loss), and the cursor
disappears from it. The second output (DP, 1080p60) keeps updating normally,
and I can move the cursor onto it and see it there. Input keeps working. Most
freezes last 5-10 s. One today lasted about 4 minutes (16:54-16:58) and the one
captured below lasted 73 s.

KWin's per-frame performance log (KWIN_LOG_PERFORMANCE_DATA=1) shows that
during the freeze KWin simply stops producing frames for HDMI-A-1 while DP-1
continues. Every frame that is produced is flipped on time, so this does not
look like a delayed pageflip from the driver. Nothing is logged by kwin_wayland
during the freeze, even with kwin_wayland_drm.debug=true.


STEPS TO REPRODUCE
1. NVIDIA proprietary driver (open kernel modules), two outputs: HDMI TV at
4K@120 with 125% scaling, plus a DP monitor at 1080p60.
2. Use the desktop normally on the TV. It happens during ordinary desktop use,
such as interacting with application windows (Firefox, Anki, Dolphin, etc.),
and also while mpv is playing video. It is not specific to video playback.
3. Wait. It happens roughly once per hour actively using the computer

The freeze captured below happened while mpv was playing a 24 fps video on the
TV (visible as the ~41.7 ms frame cadence in the log). Other freezes today
happened with no video playing.

OBSERVED RESULT
The TV output's image freezes and the cursor disappears from it, for seconds up
to minutes. The other output and input keep working. KWin produces no frames
for the frozen output during that time.

EXPECTED RESULT
Both outputs keep repainting.


EVIDENCE: KWIN_LOG_PERFORMANCE_DATA, freeze at ~23:41 local time
(attached: perf-HDMI-A-1-23.41-freeze.csv and perf-DP-1-23.41-freeze.csv. I
added a local wall-clock column for render start. The other columns are KWin's
raw CLOCK_MONOTONIC ns values.)

HDMI-A-1 (the TV). Frames were coming every ~41.7 ms (mpv playing a 24 fps
video), then stop:
  23:41:37.125  target 46927071919700  flip 46927080262000  render
46927070552015-46927070938557
  23:41:37.166  target 46927113628700  flip 46927113628000  render
46927111559911-46927111945147
  -- no frames for 73.0 s --
  23:42:50.183  target 47000136650950  flip 47000145768000  render
47000128352013-47000144608378

- When idle, this output repaints once a minute at hh:mm:00 (a clock). Over ~2
hours of logging, the longest gap between frames is exactly 60.0 s, except this
one: 23:41:37 -> 23:42:50, which skips the 23:42:00 repaint. So this is a real
stall, not idle.
- In the same window DP-1 produced 180 frames.
- No HDMI-A-1 frame in the excerpt has flip - target more than ~17 ms, so the
frames that are submitted are presented promptly.
- No "Pageflip timed out" message this time. No hotplug: a `udevadm monitor
--kernel --subsystem-match=drm` session ran for 3 hours through an earlier
freeze (13:29) and recorded zero DRM uevents.
- journalctl for kwin_wayland during the freeze: empty (with
kwin_wayland_drm.debug=true set via qtlogging.ini).

Possibly related, from 6.8.0 on the first day the problem appeared
(2026-10-17), the only time KWin logged anything:
  kwin_wayland: Pageflip timed out! This is a bug in the nvidia-drm kernel
driver
  kwin_wayland: Pageflip arrived after all, 7270ms after the commit
(attached: journal-2026-10-17-pageflip-timeout.txt. An mpv process aborted at
the same moment.)

Also seen a few times on 6.8.1, not at the same time as a freeze:
  kwin_wayland: Failed to allocate a graphics buffer for a swapchain
(VRAM usage is ~2.4 GB of 24 GB.)


REGRESSION RANGE
- KWin 6.7.5 and earlier: never any freezes. I also rolled back to 6.7.5 after
6.8.0 and the freezes stopped.
- KWin 6.8.0 (kernel 7.2.9) and 6.8.1 (kernel 7.3.0): freezes.
- The NVIDIA driver was 615.78.08 throughout, including the period on 6.7.5, so
the driver version did not change between working and broken.


SOFTWARE/OS VERSIONS
Linux/KDE Plasma: CachyOS (rolling), kernel 7.3.0-3-cachyos
KDE Plasma Version: 6.8.1
KDE Frameworks Version: 6.31.0
Qt Version: 6.12.0
Graphics Platform: Wayland


ADDITIONAL INFORMATION
- GPU: NVIDIA GeForce RTX 3090 Ti, driver 615.78.08 (open kernel modules),
nvidia-drm modeset=1 fbdev=1. Single GPU (no iGPU in use).
- Compositing: OpenGL ES 3.2 via EGL.
- HDMI-A-1: LG TV (EDID name "LG TV SSCR2"), [email protected], scale 1.25, VRR
never, HDR off.
- DP-1: LG 32" FHD, 1920x1080@60, scale 1, VRR incapable.
- Options: allowTearing true. Active effect at capture time: blur.
- Full `qdbus6 org.kde.KWin /KWin supportInformation` attached
(kwin-support-information.txt).
- Possibly related but different: bug 519461 (LG TV on HDMI 2.1 + NVIDIA,
periodic stutter caused by hotplug events). In my case there are no hotplug
events and only one output stalls.

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

Reply via email to