mpv-player / mpv-player/mpv

Both gpu-next and hwdec=vulkan causes unstable refresh rate on a monitor in adaptive-sync mode.

Open
#14,697 9 comments 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

os:linux
Dominant language
C
Stars
37k
Forks
3.5k
Avg merge
1d 10h
Merged PRs (30d)
22

Description

mpv Information
mpv v0.38.0-711-g67e087dcae Copyright © 2000-2024 mpv/MPlayer/mplayer2 projects
libplacebo version: v7.349.0 (v7.349.0-5-g82bf46ae)
FFmpeg version: N-116730-g7e5410eadb
FFmpeg library versions:
   libavcodec      61.11.100
   libavdevice     61.2.100
   libavfilter     10.2.102
   libavformat     61.5.101
   libavutil       59.34.100
   libswresample   5.2.100
   libswscale      8.2.100
Other Information
- Linux version: Arch Linux
- Kernel Version: 6.10.5-zen1-1-zen
- GPU Model: [AMD/ATI] Navi 22 [Radeon RX 6700/6700 XT/6750 XT / 6800M/6850M XT] [1002:73df] (rev c0)
- Mesa/GPU Driver Version:Mesa 24.1.6-arch1.1
- Window Manager and Version: KWin 6.1.4-1
- Source mpv: AUR mpv-build-git
- Introduced in version:
Reproduction Steps

It causes unstable refresh rate in adaptive sync mode. There are 5 situations that I have tested.

  1. vo=gpu + no hwdec + target-colorspace-hint=yes = stable.
  2. vo=gpu-next + no hwdec + target-colorspace-hint=yes = unstable.
  3. vo=gpu-next + hwdec=vaapi + target-colorspace-hint=yes = stable.
  4. vo=gpu-next + hwdec=vulkan + gpu-context=waylandvk + target-colorspace-hint=yes = unstable
  5. vo=gpu-next + no hwdec + gpu-context=waylandvk + target-colorspace-hint=yes = stable
Expected Behavior

No matter gpu-next or hwdec=vulkan, the refresh rate should be as stable as default.

Actual Behavior

They causes issue in adaptive sync mode.

Log File
  1. vo=gpu.log
  2. vo=gpu-next.log
  3. vo=gpu-next_hwdec=vaapi.log
  4. vo=gpu-next_hwdec=vulkan.log
  5. vo=gpu-next_no-hwdec_waylandvk.log
Sample Files

Any videos, but you can search P81_GlassBlowing2_3840x2160@59.94fps_15200kbps_fmp4

I carefully read all instruction and confirm that I did the following:
  • I tested with the latest mpv version to validate that the issue is not already fixed.
  • I provided all required information including system and mpv version.
  • 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.
  • I produced the log file while the behaviors described in "Actual Behavior" were actively observed.
  • I attached the full, untruncated log file.
  • I attached the backtrace in the case of a crash.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the five listed configurations on the reported Linux, AMD, Mesa, and KWin setup, then compare the attached logs for vo=gpu, gpu-next, VAAPI, Vulkan, and Wayland Vulkan. Done means adaptive-sync refresh remains stable with gpu-next and hwdec=vulkan while preserving the stable cases.

Written by the indexing model from the issue text.

Assessment

Tech stack
linux
Domain
desktop, performance
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
28/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.