diff options
Diffstat (limited to 'src/egl/drivers')
-rw-r--r-- | src/egl/drivers/dri2/platform_surfaceless.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/egl/drivers/dri2/platform_surfaceless.c b/src/egl/drivers/dri2/platform_surfaceless.c index 4fe364ab22e..fefb2b449d0 100644 --- a/src/egl/drivers/dri2/platform_surfaceless.c +++ b/src/egl/drivers/dri2/platform_surfaceless.c @@ -301,8 +301,13 @@ surfaceless_probe_device(_EGLDisplay *disp, bool swrast) char *driver_name = loader_get_driver_for_fd(dri2_dpy->fd); if (swrast) { - /* Use kms swrast only with vgem */ - if (strcmp(driver_name, "vgem") == 0) + /* Use kms swrast only with vgem / virtio_gpu. + * virtio-gpu fallbacks to software rendering when 3D features + * are unavailable since 6c5ab, and kms_swrast is more + * feature complete than swrast. + */ + if (strcmp(driver_name, "vgem") == 0 || + strcmp(driver_name, "virtio_gpu") == 0) dri2_dpy->driver_name = strdup("kms_swrast"); free(driver_name); } else { |