Skip to content

Commit

Permalink
render/egl: don't fail on EGL_MESA_device_software
Browse files Browse the repository at this point in the history
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: swaywm#2689
  • Loading branch information
emersion committed Mar 15, 2021
1 parent 9601a2a commit 60d2e44
Showing 1 changed file with 8 additions and 5 deletions.
13 changes: 8 additions & 5 deletions render/egl.c
Original file line number Diff line number Diff line change
Expand Up @@ -279,10 +279,13 @@ struct wlr_egl *wlr_egl_create(EGLenum platform, void *remote_display) {
if (allow_software != NULL && 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;
// Because of a Mesa bug, sometimes EGL_MESA_device_software is
// advertised for hardware renderers. See:
// https://gitlab.freedesktop.org/mesa/mesa/-/issues/4178
// 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");
}
}

Expand All @@ -298,7 +301,7 @@ struct wlr_egl *wlr_egl_create(EGLenum platform, void *remote_display) {
}

if (!check_egl_ext(display_exts_str, "EGL_KHR_surfaceless_context")) {
wlr_log(WLR_ERROR,
wlr_log(WLR_ERROR,
"EGL_KHR_surfaceless_context not supported");
goto error;
}
Expand Down

0 comments on commit 60d2e44

Please sign in to comment.