Bug 485712 - Mpv wayland (opengl) backend glitter in fullscreen video playing
Summary: Mpv wayland (opengl) backend glitter in fullscreen video playing
Status: RESOLVED FIXED
Alias: None
Product: kwin
Classification: Plasma
Component: wayland-generic (show other bugs)
Version: 6.0.4
Platform: Arch Linux Linux
: NOR normal
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-04-18 05:08 UTC by zylsjsp
Modified: 2024-04-21 15:12 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description zylsjsp 2024-04-18 05:08:52 UTC
System: Archlinux
KWin version: 6.0.4

Summary

When playing video in mpv fullscreen, the screen begins to shake after mouse cursor fades.

Steps to Reproduce:

1. Start mpv in wayland (opengl) backend. (--gpu-context=auto point to wayland on my setting)
2. Play any video in fullscreen.
3. Wait for cursor to fade out, and the screen begins to shake until cursor occurs or pause.

Bisect log:
```
# bad: [750fd5e8de7b2be8bd4a4b52df6fc08d2e3fb4cf] Fall back to breeze_cursors if neither configured nor default can be loaded
# good: [166988cef75e6142b72f9bc3f9d58a8cfce1e26e] plugins/screencast: Handle failing to import dmabuf
git bisect start 'HEAD' 'v6.0.3.1'
# bad: [9720ef2e23cf9e2747d493185163f0dfeb36de3e] backends/drm: signal dmabuf feedback if an unsupported modifier is used
git bisect bad 9720ef2e23cf9e2747d493185163f0dfeb36de3e
# good: [fcbeeb0581a0be10f1dbe9b9c6ce3d444f9b4dc4] Unset Window::tile() when the window is closed
git bisect good fcbeeb0581a0be10f1dbe9b9c6ce3d444f9b4dc4
# good: [24e4a9063705d9247967770168a759cdbd304303] backends/drm: don't do direct scanout with buffers that need cropping
git bisect good 24e4a9063705d9247967770168a759cdbd304303
# good: [8b2ddc447e34295fc569897270617a48f979e210] Fix inconsistent default keyboard delay value used in kwin.
git bisect good 8b2ddc447e34295fc569897270617a48f979e210
# bad: [19ffe2ac411b866cd646942d4e3cfb41d8ca89a1] scene/workspacescene: fix direct scanout checks with subsurfaces
git bisect bad 19ffe2ac411b866cd646942d4e3cfb41d8ca89a1
# good: [4919a8f0072a2228000d0e330801f175fb7eb4e3] backends/drm: actually prefer alpha formats again
git bisect good 4919a8f0072a2228000d0e330801f175fb7eb4e3
# first bad commit: [19ffe2ac411b866cd646942d4e3cfb41d8ca89a1] scene/workspacescene: fix direct scanout checks with subsurfaces
```
Comment 1 Bug Janitor Service 2024-04-19 21:18:32 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/kwin/-/merge_requests/5626
Comment 2 zylsjsp 2024-04-20 05:04:08 UTC
(In reply to Bug Janitor Service from comment #1)
> A possibly relevant merge request was started @
> https://invent.kde.org/plasma/kwin/-/merge_requests/5626

Fixed the issue.
Comment 3 Zamundaaa 2024-04-21 14:55:08 UTC
Git commit fba948b39f6e3b2e70caa1880903f8fb17faf6d9 by Xaver Hugl.
Committed on 19/04/2024 at 21:06.
Pushed by zamundaaa into branch 'master'.

scene/workspacescene: don't check direct scanout candidates for a pixmap

We don't need a pixmap for direct scanout, and the drm backend destroys the pixmap
when direct scanout is successful... so this check created a loop of direct scanout
working and not working, and worse, the client reallocating its buffers each time.
Related: bug 485639, bug 485730, bug 477016

M  +1    -11   src/scene/workspacescene.cpp

https://invent.kde.org/plasma/kwin/-/commit/fba948b39f6e3b2e70caa1880903f8fb17faf6d9
Comment 4 Zamundaaa 2024-04-21 15:12:26 UTC
Git commit fbd780186c76764617dba0365b9ca3de7cfe2f86 by Xaver Hugl.
Committed on 21/04/2024 at 14:55.
Pushed by zamundaaa into branch 'Plasma/6.0'.

scene/workspacescene: don't check direct scanout candidates for a pixmap

We don't need a pixmap for direct scanout, and the drm backend destroys the pixmap
when direct scanout is successful... so this check created a loop of direct scanout
working and not working, and worse, the client reallocating its buffers each time.
Related: bug 485639, bug 485730, bug 477016


(cherry picked from commit fba948b39f6e3b2e70caa1880903f8fb17faf6d9)

M  +1    -11   src/scene/workspacescene.cpp

https://invent.kde.org/plasma/kwin/-/commit/fbd780186c76764617dba0365b9ca3de7cfe2f86