diff --git a/src/egl/drivers/dri2/platform_wayland.c b/src/egl/drivers/dri2/platform_wayland.c index a8c814c45fb..1bf0684888f 100644 --- a/src/egl/drivers/dri2/platform_wayland.c +++ b/src/egl/drivers/dri2/platform_wayland.c @@ -2949,8 +2949,10 @@ dri2_initialize_wayland_swrast(_EGLDisplay *disp) dri2_dpy->formats.num_formats)) goto cleanup; - if (disp->Options.Zink) - dri2_initialize_wayland_drm_extensions(dri2_dpy); + if (disp->Options.Zink) { + if (!dri2_initialize_wayland_drm_extensions(dri2_dpy) && !disp->Options.ForceSoftware) + goto cleanup; + } dri2_dpy->driver_name = strdup(disp->Options.Zink ? "zink" : "swrast"); if (!dri2_load_driver(disp))