mpv icon indicating copy to clipboard operation
mpv copied to clipboard

Fullscreen video playback corrupted with vo=gpu, gpu-api=vulkan, RADV on Mesa 25.0.2

Open DragoonAethis opened this issue 8 months ago • 18 comments

-> Upstream issue on drm/amd#4057 <-


mpv Information

mpv v0.40.0 Copyright © 2000-2025 mpv/MPlayer/mplayer2 projects
built on Mar 25 2025 17:58:20
libplacebo version: v7.349.0
FFmpeg version: n7.1
FFmpeg library versions:
libavcodec      61.19.100
libavdevice     61.3.100
libavfilter     10.4.100
libavformat     61.7.100
libavutil       59.39.100
libswresample   5.3.100
libswscale      8.3.100

Other Information

- Linux version: Arch Linux
- Kernel Version: 6.13.8-zen1-1-zen
- GPU Model: AMD Radeon RX 9070 XT [1002:7550]
- Mesa/GPU Driver Version: Mesa 25.0.2-arch1.2
- Window Manager and Version: kwin 6.3.3.1-1
- Source of mpv: [Arch repos](https://archive.archlinux.org/packages/m/mpv/mpv-1%3A0.40.0-1-x86_64.pkg.tar.zst)
- Latest known working version: None
- Issue started after the following happened: Upgraded mpv to 0.40.0-1
  - Note: Tested with 0.39.0-5, same thing :(

Reproduction Steps

Play any video with --no-config --gpu-api=vulkan, then enter fullscreen. (Setting --hwdec does not change the result.)

Expected Behavior

The video plays normally.

Actual Behavior

Video playback is corrupted, but can temporarily show the correct image if the mouse cursor moves around the focused mpv window (or an unfocused one if the movement triggers an OSD redraw).

Attempts to record the corruption with OBS Studio + PipeWire capture are not successful, so I tried to record what happens with a phone.

Setting --gpu-api=opengl resolves this issue, but something's very wrong with Vulkan. The same corruption occurs on 0.39.0.

Log File

  • vulkan.txt - corrupted output
  • opengl.txt - good output
  • vulkaninfo.txt - extra, extra
  • System fully up-to-date and rebooted before testing. Everything works normally, hardware acceleration in the browser and games works fine.

Sample Files

Any video file triggers this, but the demo was recorded with this YouTube video downloaded with yt-dlp. The video codec does not appear to matter.

I carefully read all instruction and confirm that I did the following:

  • [x] I tested with the latest mpv version to validate that the issue is not already fixed.
  • [x] I provided all required information including system and mpv version.
  • [x] I produced the log file with the exact same set of files, parameters, and conditions used in "Reproduction Steps", with the addition of --log-file=output.txt.
  • [x] I produced the log file while the behaviors described in "Actual Behavior" were actively observed.
  • [x] I attached the full, untruncated log file.
  • [x] I attached the backtrace in the case of a crash.

DragoonAethis avatar Mar 26 '25 14:03 DragoonAethis