← Back to team overview

desktop-packages team mailing list archive

[Bug 1481832] Re: VA-API implementation for gallium missing

 

The native gallium vdpau and vaapi drivers accelerate video decode
directly using UVD.  Shaders are only used for codecs that were not
directly supported by older UVD hardware.  There is no need to use any
sort of vdpau <-> vaapi translation layers; just use the native backend
for whichever API you want to use.

-- 
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to mesa in Ubuntu.
https://bugs.launchpad.net/bugs/1481832

Title:
  VA-API implementation for gallium missing

Status in mesa package in Ubuntu:
  Confirmed

Bug description:
  [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/ ?

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/mesa/+bug/1481832/+subscriptions