From 45491ea8da85ad977ca11f4595a7ddeb22146b0d Mon Sep 17 00:00:00 2001 From: Lilah Tascheter Date: Sat, 8 Jul 2023 13:29:28 -0500 Subject: [PATCH] gnu: mesa: Fix Vulkan on older Intel GPUs. Mesa split the Vulkan intel driver into two: intel and intel_hasvk. Enables intel_hasvk so vulkan functions on older intel GPUs again, and swrast for lavapipe as a fallback. * gnu/packages/gl.scm (mesa-vulkan-hasvk): New variable. (mesa): Graft with mesa-vulkan-hasvk. Signed-off-by: Liliana Marie Prikler --- gnu/packages/gl.scm | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm index 9885bde712..1691086e1a 100644 --- a/gnu/packages/gl.scm +++ b/gnu/packages/gl.scm @@ -279,6 +279,7 @@ also known as DXTn or DXTC) for Mesa.") (base32 "1mcjf41x2bhxs6yxars7nh2vfryfw50g6rvbcfbb1wqdv2jn4qrq")))) (build-system meson-build-system) + (replacement mesa-vulkan-hasvk) (propagated-inputs ;; The following are in the Requires.private field of gl.pc. (list libdrm @@ -526,6 +527,21 @@ device drivers allows Mesa to be used in many different environments ranging from software emulation to complete hardware acceleration for modern GPUs.") (license license:x11))) +(define mesa-vulkan-hasvk + (let ((graft mesa) + (vulk "-Dvulkan-drivers=intel,amd")) + (package + (inherit graft) + (arguments + (substitute-keyword-arguments (package-arguments graft) + ((#:configure-flags flags) + #~(begin + (use-modules (ice-9 match)) + (map (match-lambda + (#$vulk (string-append #$vulk ",intel_hasvk,swrast")) + (x x)) + #$flags)))))))) + (define-public mesa-opencl (package/inherit mesa (name "mesa-opencl")