diff --git a/nongnu/packages/nvidia.scm b/nongnu/packages/nvidia.scm index f75d0d4..ef5c9fa 100644 --- a/nongnu/packages/nvidia.scm +++ b/nongnu/packages/nvidia.scm @@ -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