Index | Thread | Search

From:
Brad Smith <brad@comstyle.com>
Subject:
Re: multimedia/vlc: enable VA-API on amd64
To:
Klemens Nanni <kn@openbsd.org>, ports <ports@openbsd.org>
Date:
Mon, 22 Jul 2024 03:37:57 -0400

Download raw body.

Thread
On 2024-07-15 5:49 p.m., Klemens Nanni wrote:
> Keeping it actively disabled on !amd64 should not be needed as feature detection
> should gracefully fail, but doing it explicitly conveys meaning, so...
>
> I manually sorted 'va va-x11 va-drm' into WANTLIB-main as 'port-lib-depends-check'
> wouldn't regenerate the block nicely.
>
> (I also noticed that 'execinfo' is in both main and -jack, so should move to -common,
>   but that can be a separate thing.)
>
> Does this look right?
> Not to be committed before VA-API in Xenocara landed and ports got hooked up,
> but ready for tests (:
>
> Worked right away with intel-media-driver on my T14 Gen3 Intel:
>
>    $ cvlc *mkv
>    [...]
>    libva info: VA-API version 1.22.0
>    libva info: Trying to open /usr/X11R6/lib/modules/drivers//iHD_drv_video.so
>    libva info: Found init function __vaDriverInit_1_22
>    libva info: va_openDriver() returns 0
>    [00000a9a1825b760] avcodec decoder: Using Intel iHD driver for Intel(R) Gen Graphics - 24.1.5 () for hardware decoding

Re-do this so it is not adding --disable-libva and put the files in the 
main PLIST
and you should be good.

> Index: Makefile
> ===================================================================
> RCS file: /cvs/ports/x11/vlc/Makefile,v
> diff -u -p -r1.271 Makefile
> --- Makefile	15 Jul 2024 21:04:48 -0000	1.271
> +++ Makefile	15 Jul 2024 21:18:15 -0000
> @@ -8,7 +8,7 @@ PKGNAME-jack=	vlc-jack-${V}
>   CATEGORIES=	x11
>   SITES=		https://download.videolan.org/pub/videolan/vlc/${V}/
>   EXTRACT_SUFX=	.tar.xz
> -REVISION-main=	0
> +REVISION-main=	1
>   
>   USE_NOBTCFI=	Yes
>   
> @@ -65,11 +65,12 @@ WANTLIB-main += pcre2-16 pcre2-8 pixman-
>   WANTLIB-main += rsvg-2 sharpyuv smb2 sndio soxr speex speexdsp ssl
>   WANTLIB-main += swresample swscale tag tar tasn1 theoradec theoraenc
>   WANTLIB-main += tiff udfread unibreak unistring usbhid utf8_range utf8_validity
> -WANTLIB-main += vorbis vorbisenc vpx wayland-client wayland-cursor
> -WANTLIB-main += wayland-egl webp x264 x265 xcb xcb-composite xcb-dri2
> -WANTLIB-main += xcb-dri3 xcb-glx xcb-keysyms xcb-present xcb-randr
> +WANTLIB-main += vorbis vorbisenc va va-drm va-x11 vpx wayland-client
> +WANTLIB-main += wayland-cursor wayland-egl webp x264 x265 xcb xcb-composite
> +WANTLIB-main += xcb-dri2 xcb-dri3 xcb-glx xcb-keysyms xcb-present xcb-randr
>   WANTLIB-main += xcb-render xcb-shm xcb-sync xcb-xfixes xcb-xv xkbcommon
>   WANTLIB-main += xml2 xshmfence xvidcore z zstd
> +
>   # v4l2 is dlopen'd
>   WANTLIB-main+=	v4l2
>   
> @@ -175,7 +176,6 @@ CONFIGURE_ARGS+=--disable-a52 \
>   		--disable-kwallet \
>   		--disable-libmpeg2 \
>   		--disable-libplacebo \
> -		--disable-libva \
>   		--disable-linsys \
>   		--disable-live555 \
>   		--disable-mad \
> @@ -241,6 +241,7 @@ CONFIGURE_ARGS+=--disable-jack
>   .if ${MACHINE_ARCH} == "amd64"
>   PKG_ARGS+=-Damd64=1
>   .else
> +CONFIGURE_ARGS+=--disable-libva
>   PKG_ARGS+=-Damd64=0
>   .endif
>   
> Index: pkg/PFRAG.amd64-main
> ===================================================================
> RCS file: /cvs/ports/x11/vlc/pkg/PFRAG.amd64-main,v
> diff -u -p -r1.9 PFRAG.amd64-main
> --- pkg/PFRAG.amd64-main	11 Mar 2022 20:17:31 -0000	1.9
> +++ pkg/PFRAG.amd64-main	15 Jul 2024 21:18:15 -0000
> @@ -1,6 +1,12 @@
> +@so lib/vlc/plugins/codec/libvaapi_drm_plugin.so
> +@so lib/vlc/plugins/codec/libvaapi_plugin.so
> +lib/vlc/plugins/vaapi/
> +@so lib/vlc/plugins/vaapi/libvaapi_filters_plugin.so
>   @so lib/vlc/plugins/video_chroma/libi420_rgb_mmx_plugin.so
>   @so lib/vlc/plugins/video_chroma/libi420_rgb_sse2_plugin.so
>   @so lib/vlc/plugins/video_chroma/libi420_yuy2_mmx_plugin.so
>   @so lib/vlc/plugins/video_chroma/libi420_yuy2_sse2_plugin.so
>   @so lib/vlc/plugins/video_chroma/libi422_yuy2_mmx_plugin.so
>   @so lib/vlc/plugins/video_chroma/libi422_yuy2_sse2_plugin.so
> +@so lib/vlc/plugins/video_output/libglconv_vaapi_drm_plugin.so
> +@so lib/vlc/plugins/video_output/libglconv_vaapi_x11_plugin.so
>