aboutsummaryrefslogtreecommitdiff
path: root/render/egl.c
diff options
context:
space:
mode:
Diffstat (limited to 'render/egl.c')
-rw-r--r--render/egl.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/render/egl.c b/render/egl.c
index c1734a36..2eea387b 100644
--- a/render/egl.c
+++ b/render/egl.c
@@ -272,6 +272,18 @@ struct wlr_egl *wlr_egl_create(EGLenum platform, void *remote_display,
goto error;
}
+ if (check_egl_ext(device_exts_str, "EGL_MESA_device_software")) {
+ const char *allow_software = getenv("WLR_RENDERER_ALLOW_SOFTWARE");
+ if (strcmp(allow_software, "1") == 0) {
+ wlr_log(WLR_INFO, "Using software rendering");
+ } else {
+ wlr_log(WLR_ERROR, "Software rendering detected, please use "
+ "the WLR_RENDERER_ALLOW_SOFTWARE environment variable "
+ "to proceed");
+ goto error;
+ }
+ }
+
egl->exts.device_drm_ext =
check_egl_ext(device_exts_str, "EGL_EXT_device_drm");
}