Download raw body.
Enable VA-API in multimedia/mpv
Tested by many, OK to enable VA-API support in mpv?
diff --git a/multimedia/mpv/Makefile b/multimedia/mpv/Makefile
index 4840a6a7199..f7d0845ef7d 100644
--- a/multimedia/mpv/Makefile
+++ b/multimedia/mpv/Makefile
@@ -4,6 +4,7 @@ GH_ACCOUNT = mpv-player
GH_PROJECT = mpv
GH_TAGNAME = v0.38.0
USE_NOBTCFI = Yes
+REVISION = 0
SHARED_LIBS += mpv 2.0
@@ -14,11 +15,11 @@ HOMEPAGE = https://mpv.io/
# GPLv2+
PERMIT_PACKAGE = Yes
-WANTLIB += ${MODLUA_WANTLIB}
-WANTLIB += EGL SDL2 X11 Xext Xpresent Xrandr Xss Xv archive
-WANTLIB += ass avcodec avdevice avfilter avformat avutil bluray
-WANTLIB += c cdio cdio_cdda cdio_paranoia dvdnav iconv jpeg lcms2
-WANTLIB += m placebo pthread sndio swresample swscale vulkan z zimg
+WANTLIB += ${MODLUA_WANTLIB} EGL SDL2 X11 Xext Xpresent Xrandr
+WANTLIB += Xss Xv archive ass avcodec avdevice avfilter avformat
+WANTLIB += avutil bluray c cdio cdio_cdda cdio_paranoia drm dvdnav
+WANTLIB += iconv jpeg lcms2 m placebo pthread sndio swresample
+WANTLIB += swscale va va-drm va-x11 vulkan z zimg
MODULES = devel/meson \
lang/lua \
@@ -37,7 +38,7 @@ LIB_DEPENDS = archivers/libarchive \
audio/libcdio-paranoia \
converters/libiconv \
devel/sdl2 \
- graphics/ffmpeg \
+ graphics/ffmpeg>=4.4.4p5 \
graphics/jpeg \
graphics/lcms2 \
graphics/libplacebo \
@@ -74,7 +75,8 @@ CONFIGURE_ARGS = -Dlua=lua${MODLUA_DEP_VERSION} \
-Dd3d-hwaccel=disabled \
-Ddirect3d=disabled \
-Ddmabuf-wayland=disabled \
- -Ddrm=disabled \
+ -Ddrm=enabled \
+ -Degl=enabled \
-Ddvbin=disabled \
-Degl-android=disabled \
-Degl-angle=disabled \
@@ -82,6 +84,7 @@ CONFIGURE_ARGS = -Dlua=lua${MODLUA_DEP_VERSION} \
-Degl-angle-win32=disabled \
-Degl-drm=disabled \
-Degl-wayland=disabled \
+ -Dgl-x11=disabled \
-Dgbm=disabled \
-Dgl-cocoa=disabled \
-Dgl-dxinterop=disabled \
@@ -106,9 +109,9 @@ CONFIGURE_ARGS = -Dlua=lua${MODLUA_DEP_VERSION} \
-Dswift-build=disabled \
-Dswift-flags=disabled \
-Duchardet=disabled \
- -Dvaapi=disabled \
- -Dvaapi-drm=disabled \
- -Dvaapi-x11=disabled \
+ -Dvaapi=enabled \
+ -Dvaapi-drm=enabled \
+ -Dvaapi-x11=enabled \
-Dvaapi-wayland=disabled \
-Dvaapi-win32=disabled \
-Dvapoursynth=disabled \
@@ -121,11 +124,11 @@ CONFIGURE_ARGS = -Dlua=lua${MODLUA_DEP_VERSION} \
-Dwin32-threads=disabled \
-Dwasapi=disabled
-CFLAGS += -I${LOCALBASE}/include
-LDFLAGS += -L${LOCALBASE}/lib
+CFLAGS += -I${LOCALBASE}/include -I${X11BASE}/include
+LDFLAGS += -L${LOCALBASE}/lib -L${X11BASE}/lib
MODMESON_CONFIGURE_ENV += CFLAGS="${CFLAGS}" \
- LDFLAGS="${LDFLAGS}"
+ LDFLAGS="${LDFLAGS}"
NO_TEST = Yes
diff --git a/multimedia/mpv/patches/patch-meson_build b/multimedia/mpv/patches/patch-meson_build
index ab1a5804ec2..f359b5f9b79 100644
--- a/multimedia/mpv/patches/patch-meson_build
+++ b/multimedia/mpv/patches/patch-meson_build
@@ -25,3 +25,12 @@ Index: meson.build
cplugins = get_option('cplugins').require(
win32 or (features['libdl'] and cc.has_link_argument('-rdynamic')),
+@@ -525,7 +537,7 @@ features += {'glob': features['glob-posix'] or feature
+
+ features += {'vt.h': cc.has_header_symbol('sys/vt.h', 'VT_GETMODE')}
+
+-features += {'consio.h': not features['vt.h'] and cc.has_header_symbol('sys/consio.h', 'VT_GETMODE')}
++features += {'consio.h': not features['vt.h'] and cc.has_header_symbol('dev/wscons/wsdisplay_usl_io.h', 'VT_GETMODE', prefix: '#include <sys/param.h>')}
+
+ # macOS's pthread_setname_np is a special snowflake and differs from literally every other platform.
+ features += {'mac-thread-name': darwin}
diff --git a/multimedia/mpv/patches/patch-video_out_drm_common_c b/multimedia/mpv/patches/patch-video_out_drm_common_c
new file mode 100644
index 00000000000..99cc7b9adee
--- /dev/null
+++ b/multimedia/mpv/patches/patch-video_out_drm_common_c
@@ -0,0 +1,12 @@
+Index: video/out/drm_common.c
+--- video/out/drm_common.c.orig
++++ video/out/drm_common.c
+@@ -30,7 +30,7 @@
+ #include "config.h"
+
+ #if HAVE_CONSIO_H
+-#include <sys/consio.h>
++#include <dev/wscons/wsdisplay_usl_io.h>
+ #else
+ #include <sys/vt.h>
+ #endif
Enable VA-API in multimedia/mpv