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

--- Comment #2 from [email protected] ---
Created attachment 197455
  --> https://bugs.kde.org/attachment.cgi?id=197455&action=edit
WAYLAND_DEBUG=1 trace of mpv, one 232 s freeze after a pause (timestamps UTC)

Here is the WAYLAND_DEBUG=1 output of mpv for one freeze (attached:
wayland-debug-freeze-2026-10-21.txt.gz).
Timestamps in the file are UTC. KWin 6.8.0, NVIDIA 615.78.08, mpv 0.41
(vo=gpu-next, gpu-api=vulkan, FIFO).

The video was paused for about 4 minutes and resumed at 12:59:58. The picture
then froze for 232 s and
came back by itself at 13:03:50 without me touching anything.

The relevant commits right after resuming (presentation clock is
CLOCK_MONOTONIC, the surface was last
presented at 18763.835):

[12:59:59.108867]  -> wp_commit_timer_v1#66.set_timestamp(0, 18763, 885116998) 
 <- now + 50 ms, fine
[12:59:59.133917]  -> wp_commit_timer_v1#66.set_timestamp(0, 18995, 685107726) 
 <- now + 231.85 s
[13:03:50.925694] wp_presentation_feedback#83.presented(0, 18763, 902278000,
...)  <- next event, 231.8 s later

So the second commit after the resume asks for a target time 231.85 s in the
future, and that is exactly
how long the freeze lasted. The jump equals the gap between the previous two
targets: the last commit
before the pause targeted ~18531.5 (a short redraw 25 s into the pause), the
first one after it 18763.885,
and 18763.885 + (18763.885 - 18531.5) is about 18995.7. In earlier freezes
without that redraw, the
freeze was always as long as the whole pause.

It looks like the NVIDIA Vulkan WSI extrapolates the next target from the last
interval, and KWin holds
the commit until that time, so mpv's FIFO barrier never clears. Would it make
sense for KWin to clamp a
commit-timing target that is this far in the future, or should I take this to
NVIDIA?

With KWin 6.7.5 and the same NVIDIA driver (615.78.08), this long freeze after
a pause did not happen.
As far as I can tell, 6.7.5 did not offer wp_commit_timing_manager_v1 at all,
so the driver never sent
these timestamps. That is why I think it could be handled on the KWin side too.

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

Reply via email to