[Mesa-dev] [PATCH] egl/x11_dri3: stop restricting support to render nodes unnecessarily

Martin Peres martin.peres at linux.intel.com
Fri Jun 10 11:25:00 UTC 2016


On 10/06/16 13:30, Frank Binns wrote:
> In order to support the WL_bind_wayland_display extension it's necessary to
> make use of render nodes as DRI3 doesn't provide a mechanism for authenticating
> client opened fds. However, this does not apply when Wayland support isn't
> enabled.

Out of curiosity, why don't you want to use render nodes? Are you using 
a very old kernel?

>
> Signed-off-by: Frank Binns <frank.binns at imgtec.com>
> ---
>  src/egl/drivers/dri2/platform_x11_dri3.c | 2 ++
>  1 file changed, 2 insertions(+)
>
> diff --git a/src/egl/drivers/dri2/platform_x11_dri3.c b/src/egl/drivers/dri2/platform_x11_dri3.c
> index 9363a8a..80aac01 100644
> --- a/src/egl/drivers/dri2/platform_x11_dri3.c
> +++ b/src/egl/drivers/dri2/platform_x11_dri3.c
> @@ -442,6 +442,7 @@ dri3_get_device_name(int fd)
>  {
>     char *ret = NULL;
>
> +#ifdef HAVE_WAYLAND_PLATFORM
>     ret = drmGetRenderDeviceNameFromFd(fd);
>     if (ret)
>        return ret;

I would rather move the #ifdef HAVE_WAYLAND_PLATFORM to after the 
comment about WL_bind_wayland_display. This way, we keep the same logic 
of first asking libdrm, and then asking our internal function.

> @@ -455,6 +456,7 @@ dri3_get_device_name(int fd)
>        _eglLog(_EGL_WARNING, "Render node support not available, falling back to dri2");
>        _eglLog(_EGL_WARNING, "If you want to force dri3, set EGL_FORCE_DRI3 environment variable");

Maybe reworking this error message to add that if, as a user, you do not 
care about wayland, you can compile it out and the error will go away.

>     } else
> +#endif
>        ret = loader_get_device_name_for_fd(fd);
>
>     return ret;
>

Now, did you actually test this patch? If you were using normal nodes 
and not render nodes, I wonder how you managed to get any context since 
no authentication is performed :s

Please provide more context :)

Martin


More information about the mesa-dev mailing list