render/egl: don't fail on EGL_MESA_device_software

Mesa may advertise EGL_MESA_device_software even when hardware
drivers are in use [1]. Demote the error to a warning until the Mesa
bug is fixed.

[1]: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4178

References: https://github.com/swaywm/wlroots/pull/2689
This commit is contained in:
Simon Ser 2021-03-15 10:29:02 +01:00
parent 44fa2c4b49
commit 2382684e94

View file

@ -279,10 +279,13 @@ struct wlr_egl *wlr_egl_create(EGLenum platform, void *remote_display) {
if (allow_software != NULL && strcmp(allow_software, "1") == 0) { if (allow_software != NULL && strcmp(allow_software, "1") == 0) {
wlr_log(WLR_INFO, "Using software rendering"); wlr_log(WLR_INFO, "Using software rendering");
} else { } else {
wlr_log(WLR_ERROR, "Software rendering detected, please use " // Because of a Mesa bug, sometimes EGL_MESA_device_software is
"the WLR_RENDERER_ALLOW_SOFTWARE environment variable " // advertised for hardware renderers. See:
"to proceed"); // https://gitlab.freedesktop.org/mesa/mesa/-/issues/4178
goto error; // TODO: fail without WLR_RENDERER_ALLOW_SOFTWARE
wlr_log(WLR_INFO, "Warning: software rendering may be in use");
wlr_log(WLR_INFO, "If you experience slow rendering, "
"please check the OpenGL drivers are correctly installed");
} }
} }