From 27b5ee5d7a767b8c2ed15453e1559c396046c7bc Mon Sep 17 00:00:00 2001 From: Icecream95 Date: Wed, 3 Mar 2021 09:11:17 +1300 Subject: [PATCH] pipe-loader: Stop trying to use kmsro for vgem Fixes two OpenCL devices being created for a single kmsro-using GPU when vgem is enabled in the kernel. Reviewed-by: Alyssa Rosenzweig Part-of: --- src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c b/src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c index 0f227c335f4..8147c3ca346 100644 --- a/src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c +++ b/src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c @@ -156,6 +156,10 @@ pipe_loader_drm_probe_fd_nodup(struct pipe_loader_device **dev, int fd) #endif ddev->dd = get_driver_descriptor(ddev->base.driver_name, plib); + /* vgem is a virtual device; don't try using it with kmsro */ + if (strcmp(ddev->base.driver_name, "vgem") == 0) + goto fail; + /* kmsro supports lots of drivers, try as a fallback */ if (!ddev->dd) ddev->dd = get_driver_descriptor("kmsro", plib);