Created attachment 149291 [details] mpv commit defb02daa461200f4de972c57c4ac8dc108feb5f, with the border SUMMARY I was told this is not a bug with mpv but rather a but with KDE Plasma, and most likely with kwin, so here goes.. As of mpv commit defb02daa461200f4de972c57c4ac8dc108feb5f, which adds a vaapi-wayland driver, even when not using that a transparent border around the video is added. STEPS TO REPRODUCE 1. Compile mpv with commit defb02daa461200f4de972c57c4ac8dc108feb5f (or newer) 2. Start a video while in a KDE wayland session 3. Observe a transparent border around the video OBSERVED RESULT A transparent border shows up both when windowed and in fullscreen. EXPECTED RESULT No added border SOFTWARE/OS VERSIONS Operating System: Arch Linux KDE Plasma Version: 5.24.90 KDE Frameworks Version: 5.94.0 Qt Version: 5.15.4 Kernel Version: 5.18.0-zen1-1-zen (64-bit) Graphics Platform: Wayland Processors: 16 × AMD Ryzen 7 3700X 8-Core Processor Memory: 15.6 GiB of RAM Graphics Processor: AMD Radeon RX Vega Manufacturer: Gigabyte Technology Co., Ltd. Product Name: B450M DS3H ADDITIONAL INFORMATION mpv bug report: https://github.com/mpv-player/mpv/issues/10240
Can confirm the issue. It's quite annoying, as you have to hide the taskbar and background windows to make elements not appear in front of the player window in fullscreen etc.
A possibly relevant merge request was started @ https://invent.kde.org/plasma/kwin/-/merge_requests/2511
Git commit 00df0a7019d0f0bdea2c92079ac41c0d166e972d by Vlad Zahorodnii. Committed on 13/06/2022 at 09:25. Pushed by vladz into branch 'master'. wayland: Explicitly initialize surface size to 0 QSize() will construct an invalid size. An invalid size has width and height set to -1. In other words, QSize() != QSize(0, 0). This can create issues when computing the bounding rect of a surface that has invisible subsurfaces. For example, if the subsurface rect is QRect(0,0 -1x-1), the top-left corner of the bounding rect will be affected. In order to make computation of the bounding rect robust, initialize the surface size to 0 explicitly. M +1 -1 src/wayland/autotests/client/test_wayland_surface.cpp M +4 -3 src/wayland/surface_interface.cpp M +3 -3 src/wayland/surface_interface_p.h https://invent.kde.org/plasma/kwin/commit/00df0a7019d0f0bdea2c92079ac41c0d166e972d
Git commit 4adc1cae7edcfceb4f601cd9ea8689b2885375a5 by Vlad Zahorodnii. Committed on 13/06/2022 at 09:50. Pushed by vladz into branch 'Plasma/5.25'. wayland: Explicitly initialize surface size to 0 QSize() will construct an invalid size. An invalid size has width and height set to -1. In other words, QSize() != QSize(0, 0). This can create issues when computing the bounding rect of a surface that has invisible subsurfaces. For example, if the subsurface rect is QRect(0,0 -1x-1), the top-left corner of the bounding rect will be affected. In order to make computation of the bounding rect robust, initialize the surface size to 0 explicitly. (cherry picked from commit 00df0a7019d0f0bdea2c92079ac41c0d166e972d) M +1 -1 src/wayland/autotests/client/test_wayland_surface.cpp M +4 -3 src/wayland/surface_interface.cpp M +3 -3 src/wayland/surface_interface_p.h https://invent.kde.org/plasma/kwin/commit/4adc1cae7edcfceb4f601cd9ea8689b2885375a5
Tested the commit and it works perfectly, thanks!