diff --git a/src/egl/drivers/dri2/platform_surfaceless.c b/src/egl/drivers/dri2/platform_surfaceless.c index 70b302c0ce42f8ec8a5a6961bf3e267d009e4e55..ebd954cf5a72ba8a21d8c1da05b61b71ccd8fa4a 100644 --- a/src/egl/drivers/dri2/platform_surfaceless.c +++ b/src/egl/drivers/dri2/platform_surfaceless.c @@ -305,6 +305,16 @@ surfaceless_probe_device(_EGLDisplay *dpy, bool swrast) dri2_dpy->driver_name = NULL; } + /* No rendernodes, so let's make it without one if we don't need real HW */ + if (swrast) { + dri2_dpy->driver_name = strdup("kms_swrast"); + dri2_dpy->fd = -1; + if (dri2_load_driver_dri3(dpy)) + return true; + free(dri2_dpy->driver_name); + dri2_dpy->driver_name = NULL; + } + return false; }