← Back to team overview

touch-packages team mailing list archive

[Bug 1481832] [NEW] VA-API implementation for gallium missing

 

You have been subscribed to a public bug:

[needs-packaging] mesa
Please include "gallium_drv_video.so" which is a native va-api state tracker for mesa(gallium).

URL: http://mesa3d.sourceforge.net/
URL: http://freedesktop.org/wiki/Software/vaapi/ #intel/vdpau
License: http://www.mesa3d.org/license.html

Notes:
Currently (as of today) in ubuntu 15.10 nightly amd64, va-api(vaapi) on AMD/Ati radeon opensource display hardware is using a vdpau backend  0.7.4 by Splitted-Desktop Systems (wrapper) on gallium r600. Although its possible and probably preferred (better performance less copying) to use a native implementation which mesa(gallium) 10.4 and higher delivers in a form of a va-api state tracker.

vainfo #current default setup vdpau backend
libva info: VA-API version 0.38.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/r600_drv_video.so
libva info: Found init function __vaDriverInit_0_37
libva info: va_openDriver() returns 0
vainfo: VA-API version: 0.38 (libva 1.6.0)
vainfo: Driver version: Splitted-Desktop Systems VDPAU backend for VA-API - 0.7.4
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple            :	VAEntrypointVLD
      VAProfileMPEG2Main              :	VAEntrypointVLD
      VAProfileMPEG4Simple            :	VAEntrypointVLD
      VAProfileMPEG4AdvancedSimple    :	VAEntrypointVLD
      VAProfileH264Baseline           :	VAEntrypointVLD
      VAProfileH264Main               :	VAEntrypointVLD
      VAProfileH264High               :	VAEntrypointVLD
      VAProfileVC1Advanced            :	VAEntrypointVLD

The preferred setup needs that "gallium_drv_video.so" binary which is
currently unavailable in ubuntu and debian. As an example I added a
package/binary from archlinux. Copying the gallium_drv_video.so to
/usr/lib/x86_64-linux-gnu/dri/ and symlinking(correcting) the
libLLVM-3.6.so to arch-linux default /usr/lib/ location and exporting a
variable was enough to make it work!
https://www.archlinux.org/packages/extra/x86_64/libva-mesa-driver/
#example by archlinux

export LIBVA_DRIVER_NAME=gallium
vainfo #preferred setup using gallium va-api from arch-linux (symlinked libLLVM-3.6.so to /usr/lib)
libva info: VA-API version 0.38.0
libva info: va_getDriverName() returns 0
libva info: User requested driver 'gallium'
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/gallium_drv_video.so
libva info: Found init function __vaDriverInit_0_38
libva info: va_openDriver() returns 0
vainfo: VA-API version: 0.38 (libva 1.6.0)
vainfo: Driver version: mesa gallium vaapi
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple            :	VAEntrypointVLD
      VAProfileMPEG2Main              :	VAEntrypointVLD
      VAProfileMPEG4Simple            :	VAEntrypointVLD
      VAProfileMPEG4AdvancedSimple    :	VAEntrypointVLD
      VAProfileVC1Advanced            :	VAEntrypointVLD
      VAProfileH264Baseline           :	VAEntrypointVLD
      VAProfileH264Main               :	VAEntrypointVLD
      VAProfileH264High               :	VAEntrypointVLD

I guess this binary "gallium_drv_video.so" might be available as a
compile flag in the current mesa implementation... intel and vdpau has
their own current implementation in a separate libva branch
http://cgit.freedesktop.org/vaapi/libva/ ?

** Affects: mesa (Ubuntu)
     Importance: Undecided
         Status: New


** Tags: bot-comment wily
-- 
VA-API implementation for gallium missing
https://bugs.launchpad.net/bugs/1481832
You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to mesa in Ubuntu.