diff --git a/glamor/glamor_egl.c b/glamor/glamor_egl.c index e2a2a1050..c35b10d83 100644 --- a/glamor/glamor_egl.c +++ b/glamor/glamor_egl.c @@ -1080,6 +1080,11 @@ glamor_egl_init(ScrnInfoPtr scrn, int fd) "glGetString() returned NULL, your GL is broken\n"); goto error; } + if (strstr((const char *)renderer, "softpipe")) { + xf86DrvMsg(scrn->scrnIndex, X_INFO, + "Refusing to try glamor on softpipe\n"); + goto error; + } if (!strncmp("llvmpipe", (const char *)renderer, strlen("llvmpipe"))) { if (scrn->confScreen->num_gpu_devices) xf86DrvMsg(scrn->scrnIndex, X_INFO, diff --git a/hw/xwayland/xwayland-glamor-gbm.c b/hw/xwayland/xwayland-glamor-gbm.c index 5e2c618ab..93c15cac9 100644 --- a/hw/xwayland/xwayland-glamor-gbm.c +++ b/hw/xwayland/xwayland-glamor-gbm.c @@ -1030,6 +1030,10 @@ xwl_glamor_gbm_init_egl(struct xwl_screen *xwl_screen) ErrorF("glGetString() returned NULL, your GL is broken\n"); goto error; } + if (strstr((const char *)renderer, "softpipe")) { + ErrorF("Refusing to try glamor on softpipe\n"); + goto error; + } if (!strncmp("llvmpipe", (const char *)renderer, strlen("llvmpipe"))) { ErrorF("Refusing to try glamor on llvmpipe\n"); goto error;