From 7e7c147105ac704a7b33bdee0f85dc9ccdd8f747 Mon Sep 17 00:00:00 2001 From: Lukasz Spintzyk Date: Mon, 7 Jun 2021 09:30:46 +0200 Subject: [PATCH] modesetting: Disable reverse prime offload mode for displays running on evdi,udl MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This mode for displays running on evdi/udl as side effect of failed glamor_egl_init reverse_prime_offload_mode was initialized to FALSE After Mesa upgrade to 21.0.0 GL_RENDERER is not llvmpipe that results in successful glamor_egl_init and reverse_prime_offload_mode enabled. This commit is explicitly disabling reverse_prime_offload_mode for evdi and udl drivers Signed-off-by: Ɓukasz Spintzyk --- hw/xfree86/drivers/modesetting/driver.c | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/hw/xfree86/drivers/modesetting/driver.c b/hw/xfree86/drivers/modesetting/driver.c index 2fc2074eb..948fa649a 100644 --- a/hw/xfree86/drivers/modesetting/driver.c +++ b/hw/xfree86/drivers/modesetting/driver.c @@ -1934,18 +1934,30 @@ ScreenInit(ScreenPtr pScreen, int argc, char **argv) } /* enable reverse prime if we are a GPU screen, and accelerated, and not - * i915. i915 is happy scanning out from sysmem. */ + * i915, evdi or udl. i915 is happy scanning out from sysmem. + * evdi and udl are virtual drivers scanning out from sysmem + * backed dumb buffers. + */ if (pScreen->isGPU) { drmVersionPtr version; /* enable if we are an accelerated GPU screen */ ms->drmmode.reverse_prime_offload_mode = TRUE; - /* disable if we detect i915 */ if ((version = drmGetVersion(ms->drmmode.fd))) { if (!strncmp("i915", version->name, version->name_len)) { ms->drmmode.reverse_prime_offload_mode = FALSE; } + if (!strncmp("evdi", version->name, version->name_len)) { + ms->drmmode.reverse_prime_offload_mode = FALSE; + } + if (!strncmp("udl", version->name, version->name_len)) { + ms->drmmode.reverse_prime_offload_mode = FALSE; + } + if (!ms->drmmode.reverse_prime_offload_mode) { + xf86DrvMsg(pScrn->scrnIndex, X_INFO, + "Disable reverse prime offload mode for %s.\n", version->name); + } drmFreeVersion(version); } }