diff options
| author | Jan Beich <jbeich@FreeBSD.org> | 2023-06-10 09:21:05 +0000 |
|---|---|---|
| committer | Jan Beich <jbeich@FreeBSD.org> | 2023-08-20 23:48:22 +0000 |
| commit | a6d6f608ea3134f23ac47159df3f850555546abe (patch) | |
| tree | 9bacbe93c9c25052d1dc6f6644c47a66859ab53f | |
| parent | 8dee2c2753132493b2adc5388b66407a3d0feb60 (diff) | |
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
| -rw-r--r-- | multimedia/Makefile | 1 | ||||
| -rw-r--r-- | multimedia/libva-nvidia-driver/Makefile | 45 | ||||
| -rw-r--r-- | multimedia/libva-nvidia-driver/distinfo | 17 | ||||
| -rw-r--r-- | multimedia/libva-nvidia-driver/files/patch-meson.build | 21 | ||||
| -rw-r--r-- | multimedia/libva-nvidia-driver/pkg-descr | 9 |
5 files changed, 93 insertions, 0 deletions
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 |
