[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