From fb5322ce2819260c07e06ab22b47df0a5d19f07d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zolt=C3=A1n=20B=C3=B6sz=C3=B6rm=C3=A9nyi?= Date: Thu, 8 Jul 2021 06:14:21 +0200 Subject: [PATCH] glamoregl: Initialize glamor on the main device MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This allows e.g. an UDL device (driven by llvmpipe) to be automatically set up with GPU acceleration via reverse PRIME. The result is e.g.: # DISPLAY=:0.2 xrandr --listproviders Providers: number : 2 Provider 0: id: 0xec cap: 0xf, Source Output, Sink Output, Source Offload, Sink Offload crtcs: 1 outputs: 1 associated providers: 1 name:modesetting Provider 1: id: 0x12c cap: 0xb, Source Output, Sink Output, Sink Offload crtcs: 2 outputs: 2 associated providers: 1 name:Intel Signed-off-by: Zoltán Böszörményi --- glamor/glamor_egl.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/glamor/glamor_egl.c b/glamor/glamor_egl.c index dfa5d3e4f..91c36a361 100644 --- a/glamor/glamor_egl.c +++ b/glamor/glamor_egl.c @@ -1060,9 +1060,14 @@ glamor_egl_init(ScrnInfoPtr scrn, int fd) goto error; } if (strstr((const char *)renderer, "llvmpipe")) { - xf86DrvMsg(scrn->scrnIndex, X_INFO, - "Refusing to try glamor on llvmpipe\n"); - goto error; + if (scrn->confScreen->num_gpu_devices) + xf86DrvMsg(scrn->scrnIndex, X_INFO, + "Allowing glamor on llvmpipe for PRIME\n"); + else { + xf86DrvMsg(scrn->scrnIndex, X_INFO, + "Refusing to try glamor on llvmpipe\n"); + goto error; + } } /*