[bug#36814,1/2] gnu: Add intel-vaapi-driver.
diff mbox series

Message ID 20190726033037.1203-1-me@tobias.gr
State New
Headers show
Series
  • Add VA-API Intel back-end and utilities
Related show

Commit Message

Tobias Geerinckx-Rice via Guix-patches via July 26, 2019, 3:30 a.m. UTC
* gnu/packages/video.scm (intel-vaapi-driver): New public variable.
---
 gnu/packages/video.scm | 38 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 38 insertions(+)

Comments

Marius Bakke July 27, 2019, 6:35 p.m. UTC | #1
Tobias Geerinckx-Rice via Guix-patches <guix-patches@gnu.org> writes:

> * gnu/packages/video.scm (intel-vaapi-driver): New public variable.
> ---
>  gnu/packages/video.scm | 38 ++++++++++++++++++++++++++++++++++++++
>  1 file changed, 38 insertions(+)
>
> diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
> index 4b9e05edfe..f068c5df65 100644
> --- a/gnu/packages/video.scm
> +++ b/gnu/packages/video.scm
> @@ -2695,6 +2695,44 @@ of modern, widely supported codecs.")
>      ;; Combination under GPLv2.  See LICENSE.
>      (license license:gpl2)))
>  
> +(define-public intel-vaapi-driver
> +  (package
> +    (name "intel-vaapi-driver")
> +    (version "2.3.0")
> +    (source
> +     (origin
> +       (method url-fetch)
> +       (uri (string-append "https://github.com/intel/intel-vaapi-driver/"
> +                           "releases/download/" version "/intel-vaapi-driver-"
> +                           version ".tar.bz2"))
> +       (sha256
> +        (base32 "1qyzxh3p8cw4fv8bz9zd4kc8hajlaps7xryzh6pad814n3m5sbjw"))))
> +    (build-system gnu-build-system)
> +    (native-inputs
> +     `(("pkg-config" ,pkg-config)))
> +    (inputs
> +     `(("libdrm" ,libdrm)
> +       ("libva" ,libva)
> +       ("libx11" ,libx11)))
> +    (arguments
> +     `(#:phases
> +       (modify-phases %standard-phases
> +         (add-before 'configure 'set-up-directories
> +           (lambda* (#:key outputs #:allow-other-keys)
> +             (let ((out (assoc-ref outputs "out")))
> +               (setenv "LIBVA_DRIVERS_PATH" (string-append out "/lib/dri"))
> +               #t))))))

Can this be passed in #:configure-flags?  What does it do, anyway?  :-)

> +    (home-page "https://01.org/linuxmedia/vaapi")
> +    (synopsis "VA-API video acceleration driver for Intel GEN Graphics devices")
> +    (description
> +     "This is the @acronym{VA-API, Video Acceleration API} back end required for
> +for hardware-accelerated video processing on Intel GEN Graphics devices
> +supported by the i915 driver, such as integrated Intel HD Graphics.  It provides
> +access to both hardware and shader functionality for faster encoding, decoding,
> +and post-processing video formats like MPEG2, H.264/AVC, and VC-1.")

I suppose we should limit this driver to i686-linux and x86_64-linux only.

LGTM, looking forward to try it!
Tobias Geerinckx-Rice via Guix-patches via July 27, 2019, 7 p.m. UTC | #2
Marius,

Marius Bakke 写道:
> Tobias Geerinckx-Rice via Guix-patches <guix-patches@gnu.org> 
> writes:
>
>> * gnu/packages/video.scm (intel-vaapi-driver): New public 
>> variable.
>> ---
>>  gnu/packages/video.scm | 38 
>>  ++++++++++++++++++++++++++++++++++++++
>>  1 file changed, 38 insertions(+)
>>
>> diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
>> index 4b9e05edfe..f068c5df65 100644
>> --- a/gnu/packages/video.scm
>> +++ b/gnu/packages/video.scm
>> @@ -2695,6 +2695,44 @@ of modern, widely supported codecs.")
>>      ;; Combination under GPLv2.  See LICENSE.
>>      (license license:gpl2)))
>>  
>> +(define-public intel-vaapi-driver
>> +  (package
>> +    (name "intel-vaapi-driver")
>> +    (version "2.3.0")
>> +    (source
>> +     (origin
>> +       (method url-fetch)
>> +       (uri (string-append 
>> "https://github.com/intel/intel-vaapi-driver/"
>> +                           "releases/download/" version 
>> "/intel-vaapi-driver-"
>> +                           version ".tar.bz2"))
>> +       (sha256
>> +        (base32 
>> "1qyzxh3p8cw4fv8bz9zd4kc8hajlaps7xryzh6pad814n3m5sbjw"))))
>> +    (build-system gnu-build-system)
>> +    (native-inputs
>> +     `(("pkg-config" ,pkg-config)))
>> +    (inputs
>> +     `(("libdrm" ,libdrm)
>> +       ("libva" ,libva)
>> +       ("libx11" ,libx11)))
>> +    (arguments
>> +     `(#:phases
>> +       (modify-phases %standard-phases
>> +         (add-before 'configure 'set-up-directories
>> +           (lambda* (#:key outputs #:allow-other-keys)
>> +             (let ((out (assoc-ref outputs "out")))
>> +               (setenv "LIBVA_DRIVERS_PATH" (string-append out 
>> "/lib/dri"))
>> +               #t))))))
>
> Can this be passed in #:configure-flags?  What does it do, 
> anyway?  :-)
>
>> +    (home-page "https://01.org/linuxmedia/vaapi")
>> +    (synopsis "VA-API video acceleration driver for Intel GEN 
>> Graphics devices")
>> +    (description
>> +     "This is the @acronym{VA-API, Video Acceleration API} 
>> back end required for
>> +for hardware-accelerated video processing on Intel GEN 
>> Graphics devices
>> +supported by the i915 driver, such as integrated Intel HD 
>> Graphics.  It provides
>> +access to both hardware and shader functionality for faster 
>> encoding, decoding,
>> +and post-processing video formats like MPEG2, H.264/AVC, and 
>> VC-1.")
>
> I suppose we should limit this driver to i686-linux and 
> x86_64-linux only.

That is a very good point.

> LGTM, looking forward to try it!

Thanks!

T G-R

Patch
diff mbox series

diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 4b9e05edfe..f068c5df65 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -2695,6 +2695,44 @@  of modern, widely supported codecs.")
     ;; Combination under GPLv2.  See LICENSE.
     (license license:gpl2)))
 
+(define-public intel-vaapi-driver
+  (package
+    (name "intel-vaapi-driver")
+    (version "2.3.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://github.com/intel/intel-vaapi-driver/"
+                           "releases/download/" version "/intel-vaapi-driver-"
+                           version ".tar.bz2"))
+       (sha256
+        (base32 "1qyzxh3p8cw4fv8bz9zd4kc8hajlaps7xryzh6pad814n3m5sbjw"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (inputs
+     `(("libdrm" ,libdrm)
+       ("libva" ,libva)
+       ("libx11" ,libx11)))
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-before 'configure 'set-up-directories
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out")))
+               (setenv "LIBVA_DRIVERS_PATH" (string-append out "/lib/dri"))
+               #t))))))
+    (home-page "https://01.org/linuxmedia/vaapi")
+    (synopsis "VA-API video acceleration driver for Intel GEN Graphics devices")
+    (description
+     "This is the @acronym{VA-API, Video Acceleration API} back end required for
+for hardware-accelerated video processing on Intel GEN Graphics devices
+supported by the i915 driver, such as integrated Intel HD Graphics.  It provides
+access to both hardware and shader functionality for faster encoding, decoding,
+and post-processing video formats like MPEG2, H.264/AVC, and VC-1.")
+    (license (list license:bsd-2        ; src/gen9_vp9_const_def.c
+                   license:expat))))    ; the rest, excluding the test suite
+
 (define-public openh264
   (package
     (name "openh264")