mpv-player / mpv

🎥 Command line video player
https://mpv.io
Other
26.76k stars 2.84k forks source link

MPV dragging/resizing window lag on MacOS (Apple SIlicon) #14173

Closed rgaufman closed 1 month ago

rgaufman commented 1 month ago

mpv Information

UPDATE: I fixed the problem with: brew install molten-vk

$ mpv --version
mpv v0.37.0-1071-g0125d35954 Copyright © 2000-2024 mpv/MPlayer/mplayer2 projects
 built on May 18 2024 21:22:18
libplacebo version: v6.338.2
FFmpeg version: N-114837-g257bc2a82a
FFmpeg library versions:
   libavutil       59.15.100
   libavcodec      61.5.103
   libavformat     61.3.100
   libswscale      8.2.100
   libavfilter     10.2.101
   libswresample   5.2.100

Other Information

Reproduction Steps

Opening a video, you cannot grab and drag the window or resize it, it appears stuck, after a few seconds it glitches and allows resizing or moving the window.

Expected Behavior

It should allow grabbing and moving and/or resizing the window without lagging / glitching.

Actual Behavior

You grab the window title and drag the window and nothing happens for a few seconds until it snaps to where the mouse pointer is after a substantial delay.

Log File

Full log: output.txt

This happens with any video, but here's an example:

$  mpv -v --no-config 20180721\ -\ books\ by\ leynes\ -\ I\ Write\ In\ My\ Books\ |\ How\ I\ Annotate\ \&\ Highlight\ -\ SBJ7N2e9_p8.mp4
[cplayer] Command line options: '-v' '--no-config' '20180721 - books by leynes - I Write In My Books | How I Annotate & Highlight - SBJ7N2e9_p8.mp4'
[cplayer] mpv v0.37.0-1071-g0125d35954 Copyright © 2000-2024 mpv/MPlayer/mplayer2 projects
[cplayer]  built on May 18 2024 21:22:18
[cplayer] libplacebo version: v6.338.2
[cplayer] FFmpeg version: N-114837-g257bc2a82a
[cplayer] FFmpeg library versions:
[cplayer]    libavutil       59.15.100
[cplayer]    libavcodec      61.5.103
[cplayer]    libavformat     61.3.100
[cplayer]    libswscale      8.2.100
[cplayer]    libavfilter     10.2.101
[cplayer]    libswresample   5.2.100
[cplayer]
[cplayer] Configuration: -Dhtml-build=enabled -Djavascript=enabled -Dlibmpv=true -Dlua=luajit -Dlibarchive=enabled -Duchardet=enabled -Dprefix=/opt/homebrew/Cellar/mpv/HEAD-0125d35 -Ddatadir=/opt/homebrew/Cellar/mpv/HEAD-0125d35/share/mpv -Dlibdir=/opt/homebrew/Cellar/mpv/HEAD-0125d35/lib -Dmandir=/opt/homebrew/Cellar/mpv/HEAD-0125d35/share/man -Dsysconfdir=/opt/homebrew/etc/mpv -Dbuildtype=release -Dwrap_mode=nofallback
[cplayer] List of enabled features: av-channel-layout avfoundation avif-muxer bsd-fstatfs build-date cocoa coreaudio cplugins darwin ffmpeg gl gl-cocoa glob glob-posix gpl iconv javascript jpeg jpegxl lavu-uuid lcms2 libarchive libass libavdevice libbluray libdl libplacebo luajit mac-thread-name macos-11-features macos-12-features macos-cocoa-cb macos-media-player macos-touchbar posix posix-shm rubberband rubberband-3 swift uchardet vapoursynth vector videotoolbox-gl videotoolbox-pl vk-khr-display vulkan vulkan-interop zimg zimg-st428 zlib
[cplayer] Setting option 'v' = '' (flags = 8)
[cplayer] Setting option 'config' = 'no' (flags = 8)
[mac/app] AppHub functionality initialised
[cplayer] Waiting for scripts...
[cplayer] Set property: user-data/osc/visibility="auto" -> 1
[cplayer] Set property: user-data/osc/margins={"t":0,"b":0,"r":0,"l":0} -> 1
[cplayer] Set property: user-data/osc/margins={"t":0,"b":0,"r":0,"l":0} -> 1
[cplayer] Set property: user-data/osc/margins={"t":0,"b":0,"r":0,"l":0} -> 1
[osd/libass] libass API version: 0x1701000
[osd/libass] libass source: tarball: 0.17.1
[osd/libass] Shaper: FriBidi 1.0.13 (SIMPLE) HarfBuzz-ng 8.4.0 (COMPLEX)
[osd/libass] Setting up fonts...
[osd/libass] Using font provider coretext
[osd/libass] Done.
[cplayer] Done loading scripts.
[cplayer] Running hook: auto_profiles/on_before_start_file
[cplayer] Running hook: ytdl_hook/on_load
[ytdl_hook] ytdl:// hook
[ytdl_hook] not a ytdl:// url
[cplayer] Running hook: ytdl_hook/on_load
[ytdl_hook] playlist hook
[cplayer] Running hook: auto_profiles/on_load
[bdmv/bluray] Opening 20180721 - books by leynes - I Write In My Books | How I Annotate & Highlight - SBJ7N2e9_p8.mp4
[file] Opening 20180721 - books by leynes - I Write In My Books | How I Annotate & Highlight - SBJ7N2e9_p8.mp4
[demux] Trying demuxers for level=normal.
[lavf] Found 'mov,mp4,m4a,3gp,3g2,mj2' at score=100 size=2048.
[ffmpeg/demuxer] mov,mp4,m4a,3gp,3g2,mj2: stream 0, timescale not set
[lavf] Assuming this is an image format.
[demux] Detected file format: mov,mp4,m4a,3gp,3g2,mj2 (libavformat)
[cplayer] Opening done: 20180721 - books by leynes - I Write In My Books | How I Annotate & Highlight - SBJ7N2e9_p8.mp4
[find_files] Loading external files in .
[cplayer] Running hook: ytdl_hook/on_preloaded
[cplayer] Running hook: auto_profiles/on_preloaded
[lavf] select track 0
[lavf] select track 1
[cplayer]  (+) Video --vid=1 (*) (h264 1920x1080 30.000fps)
[cplayer]      Video --vid=2 [P] (png 1.000fps)
[cplayer]  (+) Audio --aid=1 (*) (aac 2ch 44100Hz)
[display-tags] File tags:
[display-tags]  Artist: books by leynes
[display-tags]  Comment: https://www.youtube.com/watch?v=SBJ7N2e9_p8
[display-tags]  Date: 20180721
[display-tags]  Description: This video is almost one and a half years in the making... I know I usually don't apologise for things like this but people have been asking for this video repeatedly over the last year and I feel a little bad for letting them wait so long, anyways, the video is finally finished: here's HOW I annotate and highlight my books.
[display-tags]
[display-tags] If you're interested in knowing WHY I started to write in my books, watch the video I made last year: https://www.youtube.com/watch?v=YajFNCYsGPY&t=59s
[display-tags]
[display-tags] If, for some weird reason, you are now interested in ALEXANDER HAMILTON, check out my HAMILTON DIARIES: https://www.youtube.com/watch?v=xTrZflyllv4&list=PL5Hz09c5II3lPJiLsvBHqyrVHAslbUaie
[display-tags]
[display-tags] Goodreads: https://www.goodreads.com/user/show/45198798-leynes
[display-tags]  Title: I Write In My Books | How I Annotate & Highlight
[vo/gpu] Probing for best GPU context.
[vo/gpu/auto] Initializing GPU context 'auto'
[vo/gpu/vulkan] Initializing GPU context 'displayvk'
[vo/gpu/libplacebo] Initialized libplacebo v6.338.2 (API v338)
[vo/gpu/libplacebo] Creating vulkan instance with extensions:
[vo/gpu/libplacebo]     VK_KHR_get_physical_device_properties2
[vo/gpu/libplacebo]     VK_KHR_portability_enumeration
[vo/gpu/libplacebo]     VK_KHR_surface
[vo/gpu/libplacebo]     VK_KHR_display
[vo/gpu/libplacebo] Failed creating instance: VK_ERROR_INCOMPATIBLE_DRIVER
[vo/gpu/libplacebo] Failed initializing vulkan instance
[vo/gpu/vulkan] Initializing GPU context 'macvk'
[vo/gpu/libplacebo] Initialized libplacebo v6.338.2 (API v338)
[vo/gpu/libplacebo] Creating vulkan instance with extensions:
[vo/gpu/libplacebo]     VK_KHR_get_physical_device_properties2
[vo/gpu/libplacebo]     VK_KHR_portability_enumeration
[vo/gpu/libplacebo]     VK_KHR_surface
[vo/gpu/libplacebo]     VK_EXT_metal_surface
[vo/gpu/libplacebo] Failed creating instance: VK_ERROR_INCOMPATIBLE_DRIVER
[vo/gpu/libplacebo] Failed initializing vulkan instance
[vo/gpu-next] Probing for best GPU context.
[vo/gpu-next/auto] Initializing GPU context 'auto'
[vo/gpu-next/vulkan] Initializing GPU context 'displayvk'
[vo/gpu-next/libplacebo] Initialized libplacebo v6.338.2 (API v338)
[vo/gpu-next/libplacebo] Creating vulkan instance with extensions:
[vo/gpu-next/libplacebo]     VK_KHR_get_physical_device_properties2
[vo/gpu-next/libplacebo]     VK_KHR_portability_enumeration
[vo/gpu-next/libplacebo]     VK_KHR_surface
[vo/gpu-next/libplacebo]     VK_KHR_display
[vo/gpu-next/libplacebo] Failed creating instance: VK_ERROR_INCOMPATIBLE_DRIVER
[vo/gpu-next/libplacebo] Failed initializing vulkan instance
[vo/gpu-next/vulkan] Initializing GPU context 'macvk'
[vo/gpu-next/libplacebo] Initialized libplacebo v6.338.2 (API v338)
[vo/gpu-next/libplacebo] Creating vulkan instance with extensions:
[vo/gpu-next/libplacebo]     VK_KHR_get_physical_device_properties2
[vo/gpu-next/libplacebo]     VK_KHR_portability_enumeration
[vo/gpu-next/libplacebo]     VK_KHR_surface
[vo/gpu-next/libplacebo]     VK_EXT_metal_surface
[vo/gpu-next/libplacebo] Failed creating instance: VK_ERROR_INCOMPATIBLE_DRIVER
[vo/gpu-next/libplacebo] Failed initializing vulkan instance
[mac/app] Initialising CocoaCB
[cocoacb/cocoacb] Created CGL pixel format with attributes: kCGLPFAOpenGLProfile, kCGLOGLPVersion_3_2_Core, kCGLPFAAccelerated, kCGLPFADoubleBuffer, kCGLPFAColorSize, 64, kCGLPFAColorFloat, kCGLPFABackingStore, kCGLPFAAllowOfflineRenderers, kCGLPFASupportsAutomaticGraphicsSwitching, 0
[libmpv_render] GL_VERSION='4.1 Metal - 88'
[libmpv_render] Detected desktop OpenGL 4.1.
[libmpv_render] GL_VENDOR='Apple'
[libmpv_render] GL_RENDERER='Apple M3 Max'
[libmpv_render] GL_SHADING_LANGUAGE_VERSION='4.10'
[libmpv_render] Loaded extension GL_APPLE_rgb_422.
[libmpv_render] GL_*_swap_control extension missing.
[libmpv_render] Testing FBO format rgba16f
[libmpv_render] Using FBO format rgba16f.
[libmpv_render] Disabling HDR peak computation (one or more of the following is not supported: compute shaders=0, SSBO=0).
[libmpv_render] Loading hwdec driver 'videotoolbox'
[libmpv_render] Loading hwdec driver 'vulkan'
[libmpv_render/vulkan] This is not a libplacebo vulkan gpu api context.
[cocoacb/cocoacb] Can't find an ambient light sensor
[vo/libmpv] Assuming 120.000600 FPS for display sync.
[vd] Container reported FPS: 30.000000
[vd] Codec list:
[vd]     h264 - H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
[vd] Opening decoder h264
[vd] No hardware decoding requested.
[vd] Using software decoding.
[vd] Detected 14 logical cores.
[vd] Requesting 15 threads for decoding.
[vd] Selected decoder: h264 - H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
[vf] User filter list:
[vf]   (empty)
[ad] Codec list:
[ad]     aac - AAC (Advanced Audio Coding)
[ad]     aac_fixed (aac) - AAC (Advanced Audio Coding)
[ad]     aac_at (aac) - aac (AudioToolbox)
[ad] Opening decoder aac
[ad] Requesting 1 threads for decoding.
[ad] Selected decoder: aac - AAC (Advanced Audio Coding)
[af] User filter list:
[af]   (empty)
[cplayer] Starting playback...
[osd/libass] libass API version: 0x1701000
[osd/libass] libass source: tarball: 0.17.1
[osd/libass] Shaper: FriBidi 1.0.13 (SIMPLE) HarfBuzz-ng 8.4.0 (COMPLEX)
[osd/libass] Setting up fonts...
[osd/libass] Using font provider coretext
[osd/libass] Done.
[af] [in] 44100Hz stereo 2ch floatp
[af] [userspeed] 44100Hz stereo 2ch floatp
[af] [userspeed] (disabled)
[af] [convert] 44100Hz stereo 2ch floatp
[libmpv_render] DR path suspected slow/uncached, disabling.
[vd] DR failed - disabling.
[vd] Using software decoding.
[vd] Decoder format: 1920x1080 yuv420p bt.709/bt.709/bt.1886/limited/auto CL=mpeg2/4/h264 crop=1920x1080+0+0
[vd] Using container aspect ratio.
[vf] [in] 1920x1080 yuv420p bt.709/bt.709/bt.1886/limited/display CL=mpeg2/4/h264 crop=1920x1080+0+0
[vf] [userdeint] 1920x1080 yuv420p bt.709/bt.709/bt.1886/limited/display CL=mpeg2/4/h264 crop=1920x1080+0+0
[vf] [userdeint] (disabled)
[vf] [autorotate] 1920x1080 yuv420p bt.709/bt.709/bt.1886/limited/display CL=mpeg2/4/h264 crop=1920x1080+0+0
[vf] [autorotate] (disabled)
[vf] [convert] 1920x1080 yuv420p bt.709/bt.709/bt.1886/limited/display CL=mpeg2/4/h264 crop=1920x1080+0+0
[vf] [convert] (disabled)
[vf] [out] 1920x1080 yuv420p bt.709/bt.709/bt.1886/limited/display CL=mpeg2/4/h264 crop=1920x1080+0+0
[ao] Trying audio driver 'coreaudio'
[ao/coreaudio] requested format: 44100 Hz, stereo channels, floatp
[ao/coreaudio] selected audio output device: MacBook Pro Speakers (95)
[ao/coreaudio] input channel layout:
[ao/coreaudio] audio channel layout: tag: <0>, descriptions <2>
[ao/coreaudio]  - description 0: label <4294967295, 64>,  flags: <0>
[ao/coreaudio]  - description 1: label <4294967295, 64>,  flags: <0>
[ao/coreaudio] mp chmap: unknown2
[ao/coreaudio] input channel layout:
[ao/coreaudio] audio channel layout: tag: <0>, descriptions <2>
[ao/coreaudio]  - description 0: label <1, 0>,  flags: <0>
[ao/coreaudio]  - description 1: label <2, 1>,  flags: <0>
[ao/coreaudio] mp chmap: stereo
[ao/coreaudio] Channel layouts:
[ao/coreaudio]  - stereo
[ao/coreaudio]  - mono
[ao/coreaudio] result: stereo
[ao/coreaudio] Latency property cntl: 70 frames
[ao/coreaudio] Latency property zisf: 512 frames
[ao/coreaudio] Latency property tfas: 74 frames
[ao/coreaudio] Device sample rate: 48000.000000
[ao/coreaudio] audiounit latency [ns]: 362811
[ao/coreaudio] device latency [ns]: 13666666
[ao/coreaudio] using soft-buffer of 8820 samples.
[cplayer] AO: [coreaudio] 44100Hz stereo 2ch floatp
[cplayer] AO: Description: CoreAudio AudioUnit
[af] [convert] (disabled)
[af] [out] 44100Hz stereo 2ch floatp
[cplayer] VO: [libmpv] 1920x1080 yuv420p
[cplayer] VO: Description: render API for libmpv
[vo/libmpv] reconfig to 1920x1080 yuv420p bt.709/bt.709/bt.1886/limited/display CL=mpeg2/4/h264 crop=1920x1080+0+0
[libmpv_render] Window size: 1920x1082 (Borders: l=0 t=0 r=0 b=0)
[libmpv_render] Video source: 1920x1080 (1:1)
[libmpv_render] Video display: (0, 0) 1920x1080 -> (0, 1) 1920x1080
[libmpv_render] Video scale: 1.000000/1.000000
[libmpv_render] OSD borders: l=0 t=1 r=0 b=1
[libmpv_render] Video borders: l=0 t=1 r=0 b=1
[libmpv_render] Texture for plane 0: 1920x1080
[libmpv_render] Texture for plane 1: 960x540
[libmpv_render] Texture for plane 2: 960x540
[libmpv_render] Testing FBO format rgba16f
[libmpv_render] Using FBO format rgba16f.
[cplayer] first video frame after restart shown
[cplayer] audio ready
[cplayer] starting audio playback
[libmpv_render] Dither to 16.
[cplayer] playback restart complete @ 0.000000, audio=playing, video=playing
[cplayer] Set property: user-data/osc/margins={"t":0,"b":0,"r":0,"l":0} -> 1
[cplayer] Set property: user-data/osc/margins={"t":0,"b":0,"r":0,"l":0} -> 1
[cplayer] Set property: user-data/osc/margins={"t":0,"b":0,"r":0,"l":0} -> 1
[osd/libass] fontselect: (sans-serif, 400, 0) -> /System/Library/Fonts/Helvetica.ttc, -1, Helvetica
[osd/libass] fontselect: (mpv-osd-symbols, 400, 0) -> mpv-osd-symbols-Regular, 0, mpv-osd-symbols-Regular
[libmpv_render] Reallocating OSD texture to 2048x256.
[cplayer] Set property: user-data/osc/margins={"t":0,"b":0,"r":0,"l":0} -> 1
[cplayer] EOF code: 5
[statusline] AV: 00:00:05 / 00:05:19 (2%) A-V:  0.000 Dropped: 1
[cplayer] finished playback, success (reason 3)
[cplayer] Exiting... (Quit)
[cplayer] Set property: user-data/osc/margins={"t":0,"b":0,"r":0,"l":0} -> 1
[mac/app] Initialising Input
[mac/app] Stoping RemoteCommandCenter

Sample Files

Happens on any video file, tried mkv/h264, mp4/h265, wmv, etc.

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

Akemi commented 1 month ago

on a side note, your version v0.37.0-1071-g0125d35954 seems kinda weird. it should say 0.38. did you build it yourself, or where is this build from?

anyway your vulkan driver/moltenvk seems to be broken and it can't initialise a vulkan context. it's falling back to libmpv/cocoa-cb and that is running in a opengl emulation layer (from Apple) via metal. this is not recommended on ARM macs, and probably not recommended at all anymore since the introduction of that emulation layer by Apple and various things that Apple changes with opengl.

the source of the problem is most likely this commit. reverting this will fix that problem, but will introduce others problems again. like mentioned above, nothing we can do about and you should get vulkan/moltenvk working on your system.

[   0.034][v][vo/gpu/vulkan] Initializing GPU context 'macvk'
[   0.034][v][vo/gpu/libplacebo] Initialized libplacebo v6.338.2 (API v338)
[   0.034][d][vo/gpu/libplacebo] Available instance version: 1.3.280
[   0.034][d][vo/gpu/libplacebo] Spent 0.111 ms enumerating instance layers
[   0.034][d][vo/gpu/libplacebo] Available layers:
[   0.034][d][vo/gpu/libplacebo] Spent 0.104 ms enumerating instance extensions
[   0.034][d][vo/gpu/libplacebo] Available instance extensions:
[   0.034][d][vo/gpu/libplacebo]     VK_EXT_debug_report
[   0.034][d][vo/gpu/libplacebo]     VK_EXT_debug_utils
[   0.034][d][vo/gpu/libplacebo]     VK_KHR_portability_enumeration
[   0.034][d][vo/gpu/libplacebo]     VK_LUNARG_direct_driver_loading
[   0.034][v][vo/gpu/libplacebo] Creating vulkan instance with extensions:
[   0.034][v][vo/gpu/libplacebo]     VK_KHR_get_physical_device_properties2
[   0.034][v][vo/gpu/libplacebo]     VK_KHR_portability_enumeration
[   0.034][v][vo/gpu/libplacebo]     VK_KHR_surface
[   0.034][v][vo/gpu/libplacebo]     VK_EXT_metal_surface
[   0.034][d][vo/gpu/libplacebo] Spent 0.052 ms creating vulkan instance
[   0.034][v][vo/gpu/libplacebo] Failed creating instance: VK_ERROR_INCOMPATIBLE_DRIVER
[   0.034][v][vo/gpu/libplacebo] Failed initializing vulkan instance
...
[   0.035][v][vo/gpu-next/vulkan] Initializing GPU context 'macvk'
[   0.035][v][vo/gpu-next/libplacebo] Initialized libplacebo v6.338.2 (API v338)
[   0.035][d][vo/gpu-next/libplacebo] Available instance version: 1.3.280
[   0.035][d][vo/gpu-next/libplacebo] Spent 0.098 ms enumerating instance layers
[   0.035][d][vo/gpu-next/libplacebo] Available layers:
[   0.035][d][vo/gpu-next/libplacebo] Spent 0.098 ms enumerating instance extensions
[   0.035][d][vo/gpu-next/libplacebo] Available instance extensions:
[   0.035][d][vo/gpu-next/libplacebo]     VK_EXT_debug_report
[   0.035][d][vo/gpu-next/libplacebo]     VK_EXT_debug_utils
[   0.035][d][vo/gpu-next/libplacebo]     VK_KHR_portability_enumeration
[   0.035][d][vo/gpu-next/libplacebo]     VK_LUNARG_direct_driver_loading
[   0.035][v][vo/gpu-next/libplacebo] Creating vulkan instance with extensions:
[   0.035][v][vo/gpu-next/libplacebo]     VK_KHR_get_physical_device_properties2
[   0.035][v][vo/gpu-next/libplacebo]     VK_KHR_portability_enumeration
[   0.035][v][vo/gpu-next/libplacebo]     VK_KHR_surface
[   0.035][v][vo/gpu-next/libplacebo]     VK_EXT_metal_surface
[   0.035][d][vo/gpu-next/libplacebo] Spent 0.049 ms creating vulkan instance
[   0.035][v][vo/gpu-next/libplacebo] Failed creating instance: VK_ERROR_INCOMPATIBLE_DRIVER
[   0.035][v][vo/gpu-next/libplacebo] Failed initializing vulkan instance
rgaufman commented 1 month ago

I installed it with:

brew install mpv --HEAD

Here are the details for vulkan:

brew info vulkan-loader
==> vulkan-loader: stable 1.3.280 (bottled), HEAD
Vulkan ICD Loader
https://github.com/KhronosGroup/Vulkan-Loader
Installed
/opt/homebrew/Cellar/vulkan-loader/1.3.280 (15 files, 1MB) *
  Poured from bottle using the formulae.brew.sh API on 2024-03-12 at 22:04:46
From: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/v/vulkan-loader.rb
License: Apache-2.0
==> Dependencies
Build: cmake ✘, pkg-config ✔, python@3.12 ✔
Required: vulkan-headers ✔
==> Options
--HEAD
    Install HEAD version
==> Analytics
install: 1,908 (30 days), 9,888 (90 days), 26,296 (365 days)
install-on-request: 356 (30 days), 1,469 (90 days), 5,588 (365 days)
build-error: 0 (30 days)

brew info vulkan-headers
==> vulkan-headers: stable 1.3.280 (bottled), HEAD
Vulkan Header files and API registry
https://github.com/KhronosGroup/Vulkan-Headers
Installed
/opt/homebrew/Cellar/vulkan-headers/1.3.280 (63 files, 25.9MB) *
  Poured from bottle using the formulae.brew.sh API on 2024-03-12 at 22:04:45
From: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/v/vulkan-headers.rb
License: Apache-2.0
==> Dependencies
Build: cmake ✘
==> Options
--HEAD
    Install HEAD version
==> Analytics
install: 1,973 (30 days), 10,947 (90 days), 36,332 (365 days)
install-on-request: 339 (30 days), 1,466 (90 days), 7,852 (365 days)
build-error: 0 (30 days)

I tried uninstalling vulkan-headers and vulkan-loader and re-installing with --HEAD:

brew install mpv --HEAD
==> Downloading https://formulae.brew.sh/api/formula.jws.json
######################################################################################################################################################################################################################################################### 100.0%
==> Downloading https://formulae.brew.sh/api/cask.jws.json
######################################################################################################################################################################################################################################################### 100.0%
Warning: Treating mpv as a formula. For the cask, use homebrew/cask/stolendata-mpv or specify the `--cask` flag.
==> Fetching dependencies for mpv: shaderc, vulkan-headers, vulkan-loader, libplacebo, luajit, mujs, uchardet, vapoursynth, yt-dlp, docutils, ninja and meson
==> Fetching shaderc
==> Downloading https://ghcr.io/v2/homebrew/core/shaderc/manifests/2024.0
Already downloaded: /Users/hackeron/Library/Caches/Homebrew/downloads/d62525a094d3a1aebd9db31302bfd6d85e7c270ebb5418e1776e4d3aaa9c68b9--shaderc-2024.0.bottle_manifest.json
==> Downloading https://ghcr.io/v2/homebrew/core/shaderc/blobs/sha256:9e91b9ca535fd4f4251290a9f05aab1d3714ddcff8a64e7f1fad846cf668ad03
Already downloaded: /Users/hackeron/Library/Caches/Homebrew/downloads/e1261c698e4f69a3b09c57fac9b8f38e0e67b69224c98ae7117eb8a7190fbe8f--shaderc--2024.0.arm64_sonoma.bottle.tar.gz
==> Fetching vulkan-headers
==> Downloading https://ghcr.io/v2/homebrew/core/vulkan-headers/manifests/1.3.280
Already downloaded: /Users/hackeron/Library/Caches/Homebrew/downloads/72e46ffcd892f0c1d4c2bada08ac8938fda6d458f7622524134bb2f7a03850d3--vulkan-headers-1.3.280.bottle_manifest.json
==> Downloading https://ghcr.io/v2/homebrew/core/vulkan-headers/blobs/sha256:0e90b55383ace69c137e93ab2a05a739aabcd47747c2a5746db3639c7c4a1749
Already downloaded: /Users/hackeron/Library/Caches/Homebrew/downloads/98ae9c60caf5f1b77d9017e3753b68cd2bb4f03d31a92c3d6d3fea210b37e165--vulkan-headers--1.3.280.all.bottle.tar.gz
==> Fetching vulkan-loader
==> Downloading https://ghcr.io/v2/homebrew/core/vulkan-loader/manifests/1.3.280
Already downloaded: /Users/hackeron/Library/Caches/Homebrew/downloads/1ec55c66c6b8031884732a882da62d8deabd16ff93a19f9b571b4b227d31d14a--vulkan-loader-1.3.280.bottle_manifest.json
==> Downloading https://ghcr.io/v2/homebrew/core/vulkan-loader/blobs/sha256:90735da41b552351e5f41710602c9c38237f87aeaa29b28973ff5e1b86924492
Already downloaded: /Users/hackeron/Library/Caches/Homebrew/downloads/d082eb1157f3ae46499d29fcdc906cff68799263e7ae4faf14af4057df0287f9--vulkan-loader--1.3.280.arm64_sonoma.bottle.tar.gz
==> Fetching libplacebo
==> Downloading https://ghcr.io/v2/homebrew/core/libplacebo/manifests/6.338.2-1
######################################################################################################################################################################################################################################################### 100.0%
==> Downloading https://ghcr.io/v2/homebrew/core/libplacebo/blobs/sha256:736ebf400cf64ccb3b911b8bce2aae416138ee0ad5aebe5ac8d9612c7667d514
######################################################################################################################################################################################################################################################### 100.0%
==> Fetching luajit
==> Downloading https://ghcr.io/v2/homebrew/core/luajit/manifests/2.1.1713773202
Already downloaded: /Users/hackeron/Library/Caches/Homebrew/downloads/5a32e9674496656c7a6eed31520bbcae4c9d63f1d3a13e7b690d7f799fe768f4--luajit-2.1.1713773202.bottle_manifest.json
==> Downloading https://ghcr.io/v2/homebrew/core/luajit/blobs/sha256:ea5b2ffdde0f892de9a43e56474d29d372c623a65c9d6ffc119d620edaebc311
Already downloaded: /Users/hackeron/Library/Caches/Homebrew/downloads/5d8a8d5fac2e8b5492ecab7c777fa7da669f7eab6c8995ebedd85fec73e79a88--luajit--2.1.1713773202.arm64_sonoma.bottle.tar.gz
==> Fetching mujs
==> Downloading https://ghcr.io/v2/homebrew/core/mujs/manifests/1.3.4
######################################################################################################################################################################################################################################################### 100.0%
==> Downloading https://ghcr.io/v2/homebrew/core/mujs/blobs/sha256:f5ada5602ebe7d4ac89f135c4d98ae8e838fb05a887d88520082e73df320c4a8
######################################################################################################################################################################################################################################################### 100.0%
==> Fetching uchardet
==> Downloading https://ghcr.io/v2/homebrew/core/uchardet/manifests/0.0.8
######################################################################################################################################################################################################################################################### 100.0%
==> Downloading https://ghcr.io/v2/homebrew/core/uchardet/blobs/sha256:70b2c779c315b71c067c8f4a743a90688dfa329c9d5e1c174345d0071fdf09d8
######################################################################################################################################################################################################################################################### 100.0%
==> Fetching vapoursynth
==> Downloading https://ghcr.io/v2/homebrew/core/vapoursynth/manifests/68
Already downloaded: /Users/hackeron/Library/Caches/Homebrew/downloads/fef71497e41260a2950b66b2eff65e3edebf74fd2c74fe2aa056dd9579fa94ba--vapoursynth-68.bottle_manifest.json
==> Downloading https://ghcr.io/v2/homebrew/core/vapoursynth/blobs/sha256:6af7f3246a37d2f88c11c498b7e93fab25066d1bfd4f131d3a5b779f57b06cdd
Already downloaded: /Users/hackeron/Library/Caches/Homebrew/downloads/7c2eb6cec112c010c7396b1d75b3ca859f2bcf788897dc13eb2177047eada433--vapoursynth--68.arm64_sonoma.bottle.tar.gz
==> Fetching yt-dlp
==> Downloading https://ghcr.io/v2/homebrew/core/yt-dlp/manifests/2024.4.9_1
Already downloaded: /Users/hackeron/Library/Caches/Homebrew/downloads/0b5a7dac477a839cb7e2bf78418814326aa600903a351c6581038a024c09ea2e--yt-dlp-2024.4.9_1.bottle_manifest.json
==> Downloading https://ghcr.io/v2/homebrew/core/yt-dlp/blobs/sha256:6a62c50f8b025430a3d24c3e71f578fe0f1621e36e9a3453ef0d8c20a8d38642
Already downloaded: /Users/hackeron/Library/Caches/Homebrew/downloads/acccb1859f5556ba0a6ed01cf6a92cdb2866a9080a69decb5d84abb4fd29c7a7--yt-dlp--2024.4.9_1.arm64_sonoma.bottle.tar.gz
==> Fetching docutils
==> Downloading https://ghcr.io/v2/homebrew/core/docutils/manifests/0.21.2
Already downloaded: /Users/hackeron/Library/Caches/Homebrew/downloads/b54bfd536f5a7cdad7af9d20228402fcad3e8034d9c4a6844eed1fac1920826c--docutils-0.21.2.bottle_manifest.json
==> Downloading https://ghcr.io/v2/homebrew/core/docutils/blobs/sha256:1be754c074ea2ae9b0d8ed3d21b8b6265064c260a49dbcf6dcb3adc967d4d287
Already downloaded: /Users/hackeron/Library/Caches/Homebrew/downloads/008fbc3731da9f3f18ab0b9a5b17bddd0725a263729a133fd38f8b2fe4cbce90--docutils--0.21.2.arm64_sonoma.bottle.tar.gz
==> Fetching ninja
==> Downloading https://ghcr.io/v2/homebrew/core/ninja/manifests/1.12.1
Already downloaded: /Users/hackeron/Library/Caches/Homebrew/downloads/5df23a5c77b5d94f4b3df4cee2a886d86de68dfef3eec5552ffb192d4944ed3f--ninja-1.12.1.bottle_manifest.json
==> Downloading https://ghcr.io/v2/homebrew/core/ninja/blobs/sha256:e0137a7ca41103118431134051e264a38dfcfd90a1d23354527dec7ecd4098d0
Already downloaded: /Users/hackeron/Library/Caches/Homebrew/downloads/a5172e3c095b207852f0885bb7b859e208c094af57cc508b8f70a54abe8818a3--ninja--1.12.1.arm64_sonoma.bottle.tar.gz
==> Fetching meson
==> Downloading https://ghcr.io/v2/homebrew/core/meson/manifests/1.4.0
Already downloaded: /Users/hackeron/Library/Caches/Homebrew/downloads/57b6f14cf4921ae4b59488d13bfbedbc28dbeba1b71d1b83e33e4385a67b6d44--meson-1.4.0.bottle_manifest.json
==> Downloading https://ghcr.io/v2/homebrew/core/meson/blobs/sha256:0754ab41a963c010173f20f5d8a13bb39078d3a26544aba20eb4071cc9914722
Already downloaded: /Users/hackeron/Library/Caches/Homebrew/downloads/992d55514fc375c13e249e8fed1ba939a350146e5b1917aaf617f2dde35c2e08--meson--1.4.0.all.bottle.tar.gz
==> Fetching mpv
==> Downloading https://raw.githubusercontent.com/Homebrew/homebrew-core/278b464edf91350d48ee537d672ede0457c9b784/Formula/m/mpv.rb
######################################################################################################################################################################################################################################################### 100.0%
==> Cloning https://github.com/mpv-player/mpv.git
Updating /Users/hackeron/Library/Caches/Homebrew/mpv--git
From https://github.com/mpv-player/mpv
   0125d35954..2c68e6cb1f  master     -> origin/master
==> Checking out branch master
Already on 'master'
Your branch is behind 'origin/master' by 2 commits, and can be fast-forwarded.
  (use "git pull" to update your local branch)
HEAD is now at 2c68e6cb1f wayland: also log version numbers with protocol interface names
==> Installing dependencies for mpv: docutils, ninja, meson, shaderc, vulkan-headers, vulkan-loader, libplacebo, luajit, mujs, uchardet, vapoursynth and yt-dlp
==> Installing mpv dependency: docutils
==> Downloading https://ghcr.io/v2/homebrew/core/docutils/manifests/0.21.2
Already downloaded: /Users/hackeron/Library/Caches/Homebrew/downloads/b54bfd536f5a7cdad7af9d20228402fcad3e8034d9c4a6844eed1fac1920826c--docutils-0.21.2.bottle_manifest.json
==> Pouring docutils--0.21.2.arm64_sonoma.bottle.tar.gz
🍺  /opt/homebrew/Cellar/docutils/0.21.2: 240 files, 2.1MB
==> Installing mpv dependency: ninja
==> Downloading https://ghcr.io/v2/homebrew/core/ninja/manifests/1.12.1
Already downloaded: /Users/hackeron/Library/Caches/Homebrew/downloads/5df23a5c77b5d94f4b3df4cee2a886d86de68dfef3eec5552ffb192d4944ed3f--ninja-1.12.1.bottle_manifest.json
==> Pouring ninja--1.12.1.arm64_sonoma.bottle.tar.gz
🍺  /opt/homebrew/Cellar/ninja/1.12.1: 11 files, 397.7KB
==> Installing mpv dependency: meson
==> Downloading https://ghcr.io/v2/homebrew/core/meson/manifests/1.4.0
Already downloaded: /Users/hackeron/Library/Caches/Homebrew/downloads/57b6f14cf4921ae4b59488d13bfbedbc28dbeba1b71d1b83e33e4385a67b6d44--meson-1.4.0.bottle_manifest.json
==> Pouring meson--1.4.0.all.bottle.tar.gz
🍺  /opt/homebrew/Cellar/meson/1.4.0: 251 files, 3.7MB
==> Installing mpv dependency: shaderc
==> Downloading https://ghcr.io/v2/homebrew/core/shaderc/manifests/2024.0
Already downloaded: /Users/hackeron/Library/Caches/Homebrew/downloads/d62525a094d3a1aebd9db31302bfd6d85e7c270ebb5418e1776e4d3aaa9c68b9--shaderc-2024.0.bottle_manifest.json
==> Pouring shaderc--2024.0.arm64_sonoma.bottle.tar.gz
🍺  /opt/homebrew/Cellar/shaderc/2024.0: 21 files, 28.8MB
==> Installing mpv dependency: vulkan-headers
==> Downloading https://ghcr.io/v2/homebrew/core/vulkan-headers/manifests/1.3.280
Already downloaded: /Users/hackeron/Library/Caches/Homebrew/downloads/72e46ffcd892f0c1d4c2bada08ac8938fda6d458f7622524134bb2f7a03850d3--vulkan-headers-1.3.280.bottle_manifest.json
==> Pouring vulkan-headers--1.3.280.all.bottle.tar.gz
🍺  /opt/homebrew/Cellar/vulkan-headers/1.3.280: 64 files, 25.9MB
==> Installing mpv dependency: vulkan-loader
==> Downloading https://ghcr.io/v2/homebrew/core/vulkan-loader/manifests/1.3.280
Already downloaded: /Users/hackeron/Library/Caches/Homebrew/downloads/1ec55c66c6b8031884732a882da62d8deabd16ff93a19f9b571b4b227d31d14a--vulkan-loader-1.3.280.bottle_manifest.json
==> Pouring vulkan-loader--1.3.280.arm64_sonoma.bottle.tar.gz
🍺  /opt/homebrew/Cellar/vulkan-loader/1.3.280: 16 files, 1MB
==> Installing mpv dependency: libplacebo
==> Downloading https://ghcr.io/v2/homebrew/core/libplacebo/manifests/6.338.2-1
Already downloaded: /Users/hackeron/Library/Caches/Homebrew/downloads/ce0f52acabcffeb3ca73586887ea9abeb41829c1f532d798366fdc9fbc981dfc--libplacebo-6.338.2-1.bottle_manifest.json
==> Pouring libplacebo--6.338.2.arm64_sonoma.bottle.1.tar.gz
🍺  /opt/homebrew/Cellar/libplacebo/6.338.2: 42 files, 1.4MB
==> Installing mpv dependency: luajit
==> Downloading https://ghcr.io/v2/homebrew/core/luajit/manifests/2.1.1713773202
Already downloaded: /Users/hackeron/Library/Caches/Homebrew/downloads/5a32e9674496656c7a6eed31520bbcae4c9d63f1d3a13e7b690d7f799fe768f4--luajit-2.1.1713773202.bottle_manifest.json
==> Pouring luajit--2.1.1713773202.arm64_sonoma.bottle.tar.gz
🍺  /opt/homebrew/Cellar/luajit/2.1.1713773202: 56 files, 2.1MB
==> Installing mpv dependency: mujs
==> Downloading https://ghcr.io/v2/homebrew/core/mujs/manifests/1.3.4
Already downloaded: /Users/hackeron/Library/Caches/Homebrew/downloads/53c01dd0e69ff356f118698f630dc1f94cfb0a81444e5d8fa81240cac29d36e4--mujs-1.3.4.bottle_manifest.json
==> Pouring mujs--1.3.4.arm64_sonoma.bottle.tar.gz
🍺  /opt/homebrew/Cellar/mujs/1.3.4: 12 files, 1.2MB
==> Installing mpv dependency: uchardet
==> Downloading https://ghcr.io/v2/homebrew/core/uchardet/manifests/0.0.8
Already downloaded: /Users/hackeron/Library/Caches/Homebrew/downloads/37b3de4d13c09c3d82538e234ab5da0b279d7c244141bce073d16baa75b483a5--uchardet-0.0.8.bottle_manifest.json
==> Pouring uchardet--0.0.8.arm64_sonoma.bottle.tar.gz
🍺  /opt/homebrew/Cellar/uchardet/0.0.8: 18 files, 657KB
==> Installing mpv dependency: vapoursynth
==> Downloading https://ghcr.io/v2/homebrew/core/vapoursynth/manifests/68
Already downloaded: /Users/hackeron/Library/Caches/Homebrew/downloads/fef71497e41260a2950b66b2eff65e3edebf74fd2c74fe2aa056dd9579fa94ba--vapoursynth-68.bottle_manifest.json
==> Pouring vapoursynth--68.arm64_sonoma.bottle.tar.gz
🍺  /opt/homebrew/Cellar/vapoursynth/68: 22 files, 3.6MB
==> Installing mpv dependency: yt-dlp
==> Downloading https://ghcr.io/v2/homebrew/core/yt-dlp/manifests/2024.4.9_1
Already downloaded: /Users/hackeron/Library/Caches/Homebrew/downloads/0b5a7dac477a839cb7e2bf78418814326aa600903a351c6581038a024c09ea2e--yt-dlp-2024.4.9_1.bottle_manifest.json
==> Pouring yt-dlp--2024.4.9_1.arm64_sonoma.bottle.tar.gz
🍺  /opt/homebrew/Cellar/yt-dlp/2024.4.9_1: 1,665 files, 18.0MB
==> Installing mpv --HEAD
==> meson setup build -Dhtml-build=enabled -Djavascript=enabled -Dlibmpv=true -Dlua=luajit -Dlibarchive=enabled -Duchardet=enabled --sysconfdir=/opt/homebrew/etc/mpv --datadir=/opt/homebrew/Cellar/mpv/HEAD-2c68e6c/share/mpv --mandir=/opt/homebrew/Cellar/mpv
==> meson compile -C build --verbose
==> meson install -C build
==> Caveats
zsh completions have been installed to:
  /opt/homebrew/share/zsh/site-functions
==> Summary
🍺  /opt/homebrew/Cellar/mpv/HEAD-2c68e6c: 33 files, 9.4MB, built in 27 seconds
==> Running `brew cleanup mpv`...
Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP.
Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`).
==> Caveats
==> mpv
zsh completions have been installed to:
  /opt/homebrew/share/zsh/site-functions

But there is no difference.

Any advice how to make the vulkan driver work or what else I should try?

rgaufman commented 1 month ago

I fixed the problem by installing molten-vk with:

brew install molten-vk

Thank you for the heads up!

Akemi commented 1 month ago

you are welcome, and nice that it worked for you.

yeah the vulkan loaders are only the means to load possible drivers, the drivers itself to load have to be installed separately. tbh this should be included in the homebrew formular as dependency. otherwise you won't get a properly working and recommended 'build'.

rgaufman commented 1 month ago

I agree, I created an issue here: https://github.com/Homebrew/homebrew-core/issues/172104

Akemi commented 1 month ago

on a side note, currently vo=gpu is still the default vo, though i recommend using vo=gpu-next. we are still in the process to make vo=gpu-next the default one. best to set it in your config for now.

rgaufman commented 1 month ago

Thank you, that's good to know! - Also, is the molten-vk dependency recommended for intel too, or just apple silicon? - or just with external GPU + Apple Silicon?

Akemi commented 1 month ago

i would recommend it for everything on modern macOS versions, and would use vo=libmpv only if you have specific problems that can be work around with it (eg only for testing). especially when you have something in the log like this, since it will only use the Apple compatibility layer for opengl.

[libmpv_render] GL_VERSION='4.1 Metal - 88'