Merge branch 'nvidia/vaapi' into 'master'

Draft: nv-codec-headers.

See merge request nonguix/nonguix!257
This commit is contained in:
Petr Hodina 2024-04-23 18:05:06 +00:00
commit 860a2d0acc

View File

@ -21,6 +21,7 @@
#:use-module (guix build-system cmake)
#:use-module (guix build-system copy)
#:use-module (guix build-system gnu)
#:use-module (guix build-system meson)
#:use-module (guix build-system python)
#:use-module (guix build-system trivial)
#:use-module (gnu packages base)
@ -34,6 +35,7 @@
#:use-module (gnu packages gcc)
#:use-module (gnu packages gl)
#:use-module (gnu packages glib)
#:use-module (gnu packages gstreamer)
#:use-module (gnu packages gtk)
#:use-module (gnu packages linux)
#:use-module (gnu packages m4)
@ -224,6 +226,37 @@ nvidia-smi.")
NVIDIA Management Library")
(license license-gnu:bsd-3)))
(define-public nv-codec-headers
(package
(name "nv-codec-headers")
(version "11.1.5.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url
"https://git.videolan.org/git/ffmpeg/nv-codec-headers.git")
(commit (string-append "n" version))))
(sha256
(base32
"05a6dfv6yackcyx7ysxfzf2h768y63ih8icdkkzi8bwq7hp8lcy9"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ;no test suite
#:phases
(modify-phases %standard-phases
(delete 'configure)
(add-after 'unpack 'fix-prefix
(lambda* (#:key outputs #:allow-other-keys)
(substitute* "Makefile"
(("/usr/local") (assoc-ref outputs "out"))))))))
(supported-systems '("i686-linux" "x86_64-linux"))
(home-page "https://git.videolan.org/git/ffmpeg/nv-codec-headers.git")
(synopsis "FFmpeg headers required to interface with Nvidias codec APIs")
(description "This package provides FFmpeg headers required to interface
with Nvidias codec APIs.")
(license license-gnu:expat)))
(define-public nvidia-driver
(package
(name "nvidia-driver")
@ -642,6 +675,35 @@ configuration, creating application profiles, gpu monitoring and more.")
"This package provides a task manager for Nvidia graphics cards.")
(license license-gnu:expat)))
(define-public nvidia-vaapi-driver
(package
(name "nvidia-vaapi-driver")
(version "0.0.5")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/elFarto/nvidia-vaapi-driver")
(commit (string-append "v" version))))
(sha256
(base32
"11pinvf95fd1hp2km3skvww9msxmbv2625xf5f3qcmi5mal9rg6r"))
(file-name (git-file-name name version))))
(build-system meson-build-system)
(native-inputs (list pkg-config))
(inputs (list gst-plugins-bad
libdrm
libva
libx11
nv-codec-headers
nvidia-libs
mesa))
(home-page "https://github.com/elFarto/nvidia-vaapi-driver")
(synopsis "VA-API video acceleration driver for NVIDIA graphics devices")
(description
"This is the @acronym{VA-API, Video Acceleration API} back end required for
hardware-accelerated video processing on NVIDIA NVDEC Graphics devices.")
(license license-gnu:expat)))
;; nvda is used as a name because it has the same length as mesa which is
;; required for grafting
(define-public nvda