diff --git a/src/egl/drivers/dri2/platform_x11.c b/src/egl/drivers/dri2/platform_x11.c index af6f49d764c..8b55c017a15 100644 --- a/src/egl/drivers/dri2/platform_x11.c +++ b/src/egl/drivers/dri2/platform_x11.c @@ -744,6 +744,11 @@ dri2_x11_connect(struct dri2_egl_display *dri2_dpy) strndup(driver_name, xcb_dri2_connect_driver_name_length(connect)); } + if (!strcmp(dri2_dpy->driver_name, "zink")) { + close(dri2_dpy->fd_render_gpu); + return EGL_FALSE; + } + if (dri2_dpy->driver_name == NULL) { close(dri2_dpy->fd_render_gpu); free(connect); diff --git a/src/egl/drivers/dri2/platform_x11_dri3.c b/src/egl/drivers/dri2/platform_x11_dri3.c index f301ae35d8b..b83445b1bc4 100644 --- a/src/egl/drivers/dri2/platform_x11_dri3.c +++ b/src/egl/drivers/dri2/platform_x11_dri3.c @@ -634,6 +634,12 @@ dri3_x11_connect(struct dri2_egl_display *dri2_dpy) if (!dri2_dpy->driver_name) dri2_dpy->driver_name = loader_get_driver_for_fd(dri2_dpy->fd_render_gpu); + + if (!strcmp(dri2_dpy->driver_name, "zink")) { + close(dri2_dpy->fd_render_gpu); + return EGL_FALSE; + } + if (!dri2_dpy->driver_name) { _eglLog(_EGL_WARNING, "DRI3: No driver found"); close(dri2_dpy->fd_render_gpu);