[Libva] [PATCH 1/3] bugfix: do not skip drm calls in vaInitialize()

Xiang, Haihao haihao.xiang at intel.com
Sun Feb 17 23:46:36 PST 2013


It is OK for Intel driver. However I am not sure there is no side effect
to other drivers or not.


> Some drm calls from va_getDriverName() are required even when
> using shell variable to set video driver name.
> Otherwise, drm errors occur.
> 
> Change-Id: Iaf3d06d1b36af27de4ec5befc7d6600173aa1264
> Signed-off-by: Lukasz Anaczkowski <lukasz.anaczkowski at intel.com>
> ---
>  va/va.c |    8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/va/va.c b/va/va.c
> index ddd105e..03f86e7 100644
> --- a/va/va.c
> +++ b/va/va.c
> @@ -431,15 +431,15 @@ VAStatus vaInitialize (
>  
>      va_infoMessage("VA-API version %s\n", VA_VERSION_S);
>  
> +    vaStatus = va_getDriverName(dpy, &driver_name);
> +    va_infoMessage("va_getDriverName() returns %d\n", vaStatus);
> +    /* Look for env variable */
>      driver_name_env = getenv("LIBVA_DRIVER_NAME");
>      if (driver_name_env && geteuid() == getuid()) {
>          /* Don't allow setuid apps to use LIBVA_DRIVER_NAME */
> +        free(driver_name); // drop name from DRM
>          driver_name = strdup(driver_name_env);
> -        vaStatus = VA_STATUS_SUCCESS;
>          va_infoMessage("User requested driver '%s'\n", driver_name);
> -    } else {
> -        vaStatus = va_getDriverName(dpy, &driver_name);
> -        va_infoMessage("va_getDriverName() returns %d\n", vaStatus);
>      }
>  
>      if (VA_STATUS_SUCCESS == vaStatus) {




More information about the Libva mailing list