Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 20 Aug 2023 23:51:20 GMT
From:      Jan Beich <jbeich@FreeBSD.org>
To:        ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org
Subject:   git: a6d6f608ea31 - main - multimedia/libva-nvidia-driver: add new port
Message-ID:  <202308202351.37KNpKi8066868@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by jbeich:

URL: https://cgit.FreeBSD.org/ports/commit/?id=a6d6f608ea3134f23ac47159df3f850555546abe

commit a6d6f608ea3134f23ac47159df3f850555546abe
Author:     Jan Beich <jbeich@FreeBSD.org>
AuthorDate: 2023-06-10 09:21:05 +0000
Commit:     Jan Beich <jbeich@FreeBSD.org>
CommitDate: 2023-08-20 23:48:22 +0000

    multimedia/libva-nvidia-driver: add new port
    
    This is an VA-API implementation that uses NVDEC as a backend. This
    implementation is specifically designed to be used by Firefox for
    accelerated decode of web content, and may not operate correctly in
    other applications.
    
    System requirements:
    - Non-legacy NVIDIA GPU
    - nvidia-drm-kmod for DMA-BUF
    - libc6-shim (nv-sglrun) for NVDEC
    
    https://github.com/elFarto/nvidia-vaapi-driver
---
 multimedia/Makefile                                |  1 +
 multimedia/libva-nvidia-driver/Makefile            | 45 ++++++++++++++++++++++
 multimedia/libva-nvidia-driver/distinfo            | 17 ++++++++
 .../libva-nvidia-driver/files/patch-meson.build    | 21 ++++++++++
 multimedia/libva-nvidia-driver/pkg-descr           |  9 +++++
 5 files changed, 93 insertions(+)

diff --git a/multimedia/Makefile b/multimedia/Makefile
index 27e9c05c0cf9..580bdb4c2ed0 100644
--- a/multimedia/Makefile
+++ b/multimedia/Makefile
@@ -197,6 +197,7 @@
     SUBDIR += libva-intel-driver
     SUBDIR += libva-intel-hybrid-driver
     SUBDIR += libva-intel-media-driver
+    SUBDIR += libva-nvidia-driver
     SUBDIR += libva-utils
     SUBDIR += libva-vdpau-driver
     SUBDIR += libvdpau
diff --git a/multimedia/libva-nvidia-driver/Makefile b/multimedia/libva-nvidia-driver/Makefile
new file mode 100644
index 000000000000..ac605cbd58c3
--- /dev/null
+++ b/multimedia/libva-nvidia-driver/Makefile
@@ -0,0 +1,45 @@
+PORTNAME=	libva-nvidia-driver
+DISTVERSIONPREFIX=	v
+DISTVERSION=	0.0.10
+CATEGORIES=	multimedia
+
+PATCH_SITES=	https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/
+PATCHFILES+=	8e8d49e11772.patch:-p1 # https://github.com/elFarto/nvidia-vaapi-driver/pull/220
+PATCHFILES+=	5dc46a5a2fab.patch:-p1 # https://github.com/elFarto/nvidia-vaapi-driver/pull/220
+PATCHFILES+=	22be7754bee5.patch:-p1 # https://github.com/elFarto/nvidia-vaapi-driver/pull/220
+PATCHFILES+=	119a5a3ac448.patch:-p1 # https://github.com/elFarto/nvidia-vaapi-driver/pull/220
+PATCHFILES+=	39c08a61a888.patch:-p1 # https://github.com/elFarto/nvidia-vaapi-driver/pull/220
+PATCHFILES+=	fc1afd905f8c.patch:-p1 # https://github.com/elFarto/nvidia-vaapi-driver/pull/220
+PATCHFILES+=	97430842d11a.patch:-p1 # https://github.com/elFarto/nvidia-vaapi-driver/pull/220
+
+MAINTAINER=	jbeich@FreeBSD.org
+COMMENT=	NVDEC-based backend for VAAPI
+WWW=		https://github.com/elFarto/nvidia-vaapi-driver
+
+LICENSE=	MIT
+LICENSE_FILE=	${WRKSRC}/COPYING
+
+ONLY_FOR_ARCHS=	amd64
+ONLY_FOR_ARCHS_REASON=	Unusable without nvidia-drm-kmod and libc6-shim
+
+BUILD_DEPENDS=	libdrm>=2.4.60,1:graphics/libdrm \
+		ffnvcodec-headers>=11.1.5.1:multimedia/ffnvcodec-headers \
+		libva>=2.8.0:multimedia/libva
+
+USES=		compiler:c11 gl meson pkgconfig
+USE_GITHUB=	yes
+USE_GL=		egl
+GH_ACCOUNT=	elFarto
+GH_PROJECT=	nvidia-vaapi-driver
+PLIST_FILES=	lib/dri/nvidia-drm_drv_video.so
+
+OPTIONS_DEFINE=	GSTREAMER
+OPTIONS_DEFAULT=GSTREAMER
+
+GSTREAMER_USES=		gstreamer:1
+GSTREAMER_USE=		GSTREAMER=bad
+
+post-patch-GSTREAMER-off:
+	@${REINPLACE_CMD} 's/gstreamer-codecparsers-1\.0//' ${WRKSRC}/meson.build
+
+.include <bsd.port.mk>
diff --git a/multimedia/libva-nvidia-driver/distinfo b/multimedia/libva-nvidia-driver/distinfo
new file mode 100644
index 000000000000..ecd751f574e3
--- /dev/null
+++ b/multimedia/libva-nvidia-driver/distinfo
@@ -0,0 +1,17 @@
+TIMESTAMP = 1686388865
+SHA256 (elFarto-nvidia-vaapi-driver-v0.0.10_GH0.tar.gz) = df63b0832ccf9f74a90ff8b26d8e069606e0614d1748e35a857d2e53745ab95c
+SIZE (elFarto-nvidia-vaapi-driver-v0.0.10_GH0.tar.gz) = 182313
+SHA256 (8e8d49e11772.patch) = 7bba9dc7e96961a4e9b7046c192cfe0bde7d76c9765dd3df4ad4c0368378a427
+SIZE (8e8d49e11772.patch) = 1258
+SHA256 (5dc46a5a2fab.patch) = 9d63405e05f60ac702a3842def28645907b5319dbcea124f97b965344f27cbd2
+SIZE (5dc46a5a2fab.patch) = 3602
+SHA256 (22be7754bee5.patch) = c41d0f88ed773c751d4f515d6e537232a679cbc5d38e985cb77f422259c107a9
+SIZE (22be7754bee5.patch) = 1248
+SHA256 (119a5a3ac448.patch) = d6d981539ea4c6c3143532ad0182aa68b6df72a5c58232e3692247f8afbeff6f
+SIZE (119a5a3ac448.patch) = 2064
+SHA256 (39c08a61a888.patch) = c84fedb1e77f8465c44d48e4aefd9d78399b40c3f75ac3fa8b1ae730db285e4c
+SIZE (39c08a61a888.patch) = 990
+SHA256 (fc1afd905f8c.patch) = 2afb9e9d0ad86d1b8bf286dbc9921f98c2c2efb0a0353e47d031a90dac515e3d
+SIZE (fc1afd905f8c.patch) = 1229
+SHA256 (97430842d11a.patch) = 272c10f67ac344b83d87a8662eda6f18d6955157597e4171ba060455af0e5a6a
+SIZE (97430842d11a.patch) = 1289
diff --git a/multimedia/libva-nvidia-driver/files/patch-meson.build b/multimedia/libva-nvidia-driver/files/patch-meson.build
new file mode 100644
index 000000000000..e155c3c2f0ce
--- /dev/null
+++ b/multimedia/libva-nvidia-driver/files/patch-meson.build
@@ -0,0 +1,21 @@
+- Avoid conflict with libva-vdpau-driver
+
+--- meson.build.orig	2023-06-10 09:21:05 UTC
++++ meson.build
+@@ -71,7 +71,7 @@ shared_library(
+ nvidia_incdir = include_directories('nvidia-include')
+ 
+ shared_library(
+-    'nvidia_drv_video',
++    'nvidia-drm_drv_video',
+     name_prefix: '',
+     sources: sources,
+     dependencies: deps,
+@@ -83,6 +83,6 @@ meson.add_devenv(environment({
+ 
+ meson.add_devenv(environment({
+     'NVD_LOG': '1',
+-    'LIBVA_DRIVER_NAME': 'nvidia',
++    'LIBVA_DRIVER_NAME': 'nvidia-drm',
+     'LIBVA_DRIVERS_PATH': meson.project_build_root(),
+ }))
diff --git a/multimedia/libva-nvidia-driver/pkg-descr b/multimedia/libva-nvidia-driver/pkg-descr
new file mode 100644
index 000000000000..01d24de66009
--- /dev/null
+++ b/multimedia/libva-nvidia-driver/pkg-descr
@@ -0,0 +1,9 @@
+This is an VA-API implementation that uses NVDEC as a backend. This
+implementation is specifically designed to be used by Firefox for
+accelerated decode of web content, and may not operate correctly in
+other applications.
+
+System requirements:
+- Non-legacy NVIDIA GPU
+- nvidia-drm-kmod for DMA-BUF
+- libc6-shim (nv-sglrun) for NVDEC



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202308202351.37KNpKi8066868>