render: add WLR_RENDERER_FORCE_SOFTWARE env var

Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3693
This commit is contained in:
Simon Ser 2024-10-03 19:03:27 +02:00
parent 24232e8e98
commit cfcf06b8b0
2 changed files with 8 additions and 0 deletions

View file

@ -14,6 +14,8 @@ wlroots reads these environment variables
hardware-accelerated renderers.
* *WLR_RENDER_NO_EXPLICIT_SYNC*: set to 1 to disable explicit synchronization
support in renderers.
* *WLR_RENDERER_FORCE_SOFTWARE*: set to 1 to force software rendering for GLES2
and Vulkan
* *WLR_EGL_NO_MODIFIERS*: set to 1 to disable format modifiers in EGL, this can
be used to understand and work around driver bugs.

View file

@ -143,6 +143,12 @@ static bool open_preferred_drm_fd(struct wlr_backend *backend, int *drm_fd_ptr,
return true;
}
if (env_parse_bool("WLR_RENDERER_FORCE_SOFTWARE")) {
*drm_fd_ptr = -1;
*own_drm_fd = false;
return true;
}
// Allow the user to override the render node
const char *render_name = getenv("WLR_RENDER_DRM_DEVICE");
if (render_name != NULL) {