mpv-player / mpv-player/mpv

`--hwdec=auto --gpu-context=wayland` keeps my dGPU awake.

Open
#15,237 7 comments 1 reaction 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.39.0 Copyright © 2000-2024 mpv/MPlayer/mplayer2 projects
 built on Sep 23 2024 17:46:22
libplacebo version: v7.349.0
FFmpeg version: n7.0.2
FFmpeg library versions:
   libavcodec      61.3.100
   libavdevice     61.1.100
   libavfilter     10.1.100
   libavformat     61.1.100
   libavutil       59.8.100
   libswresample   5.1.100
   libswscale      8.1.100
Other Information
- Linux version: "Arch Linux"
- Kernel Version: Linux Korialo-Arch 6.11.5-274-tkg-eevdf #1 SMP PREEMPT_DYNAMIC TKG Wed, 30 Oct 2024 21:58:24 +0000 x86_64 GNU/Linux
- GPU Model: 00:02.0 VGA compatible controller [0300]: Intel Corporation CometLake-H GT2 [UHD Graphics] [8086:9bc4] (rev 05)
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GA104M [GeForce RTX 3080 Mobile / Max-Q 8GB/16GB] [10de:249c] (rev a1)
- Mesa/GPU Driver Version: OpenGL version string: 4.6 (Compatibility Profile) Mesa 24.2.6-arch1.1
- Window Manager and Version: Hyprland, built from branch  at commit 4520b30d498daca8079365bdb909a8dea38e8d55  (version: bump to 0.44.1).
- Source mpv: pacman
- Introduced in version: na
Reproduction Steps

Just run:

  ~                                                                                                                                                                            took  23s at  20:40:04
❯ mpv --no-config --vo=gpu-next --hwdec=auto --gpu-context=wayland filename.mkv

in my case vaapi was shown as the decoder.
But when I check the dGPU status through:

  ~                                                                                                                                                                            took  20s at  20:48:34
❯ watch cat /sys/bus/pci/devices/0000:01:00.0/power/runtime_suspended_time

the counter stops indicating that my dGPU is currently running.
Now if I directly switch to --hwdec=vaapi, and ran the above command the dGPU is suspended.

Expected Behavior

If --hwdec=auto and vaapi is the decoding method, you expect the iGPU to be utilized, and dGPU is free to suspend/sleep.

Actual Behavior

Actually I don't fully understand how --hwdec=auto works, so I don't know if this an expected behavior or not, but the dGPU should not be running if not used.

Log File

output.txt

Sample Files

No response

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

Reproduce the command using --hwdec=auto, --hwdec=vaapi, --vo=gpu-next, and --gpu-context=wayland while watching /sys/bus/pci/devices/0000:01:00.0/power/runtime_suspended_time. Compare the behavior with output.txt and determine whether mpv's hardware-decoder or Wayland GPU selection keeps the dGPU active; done means the behavior is explained and the reported mismatch is corrected if it is a bug.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
cli, desktop, operating-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
32/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.