mpv-player / mpv-player/mpv

hwdec d3d11va disables VRR

Open
#13,304 11 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

down-upstream:nvidia os:win
Dominant language
C
Stars
37k
Forks
3.5k
Avg merge
1d 10h
Merged PRs (30d)
22

Description

  • mpv 0.37.0 1c9c2f5 (shinchiro Windows build)
  • Windows 11 23H2 22631.3007
  • NVidia RTX 3080 Ti driver 546.65 (latest)
Reproduction steps

Can be reproduced with:

  • mpv --no-config --fs --hwdec=d3d11va
  • mpv --no-config --fs --hwdec=auto-safe (which resolves to d3d11va on my system)
  • mpv --no-config --fs --hwdec=d3d11va --vo=gpu-next

Can NOT be reproduced with:

  • mpv --no-config --fs --hwdec=no
  • mpv --no-config --fs --hwdec=d3d11va-copy
  • mpv --no-config --fs --hwdec=dxva2
  • mpv --no-config --fs --hwdec=vulkan --gpu-context=winvk
  • mpv --no-config --fs --hwdec=nvdec --gpu-context=winvk

So clearly this is specific to d3d11va in direct mode.

Expected behavior

Video plays with display VRR, i.e. the display refresh rate locks to the video frame rate.

Actual behavior

Display refresh rate stays at the Windows-configured default.

I have hard proof of this because I use the hidden VRR info menu on my LG G1 TV which shows instantaneous refresh rate in real time.

Log file

output.txt

Sample files

I can reproduce this with pretty much any input. Here's a short synthetic test video with a silly 92.907 FPS framerate as an example.

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 with the provided output.txt and reproduce using the listed mpv commands, comparing direct d3d11va with d3d11va-copy, dxva2, and Vulkan. No source file or test is named; use the synthetic video and LG G1 VRR readout to verify that direct d3d11va preserves display refresh-rate matching.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.