From ed269e9fcddd79e57a990986b56424c0d54510b9 Mon Sep 17 00:00:00 2001 From: K900 Date: Wed, 16 Jul 2025 19:56:50 +0300 Subject: [PATCH] mesa: enable all drivers on all platforms --- pkgs/development/libraries/mesa/default.nix | 47 +++++++++------------ 1 file changed, 20 insertions(+), 27 deletions(-) diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix index dda679c7679e..f14e7bb1e9f5 100644 --- a/pkgs/development/libraries/mesa/default.nix +++ b/pkgs/development/libraries/mesa/default.nix @@ -45,41 +45,43 @@ enablePatentEncumberedCodecs ? true, withValgrind ? lib.meta.availableOn stdenv.hostPlatform valgrind-light, + # We enable as many drivers as possible here, to build cross tools + # and support emulation use cases (emulated x86_64 on aarch64, etc) galliumDrivers ? [ - "asahi" # Apple AGX, built on non-aarch64 for cross tools + "asahi" # Apple AGX + "crocus" # Intel legacy "d3d12" # WSL emulated GPU (aka Dozen) + "etnaviv" # Vivante GPU designs (mostly NXP/Marvell SoCs) + "freedreno" # Qualcomm Adreno (all Qualcomm SoCs) + "i915" # Intel extra legacy "iris" # new Intel (Broadwell+) + "lima" # ARM Mali 4xx "llvmpipe" # software renderer "nouveau" # Nvidia - "panfrost" # ARM Mali Midgard and up (T/G series), built on non-ARM for cross tools + "panfrost" # ARM Mali Midgard and up (T/G series) "r300" # very old AMD "r600" # less old AMD "radeonsi" # new AMD (GCN+) "softpipe" # older software renderer "svga" # VMWare virtualized GPU - "virgl" # QEMU virtualized GPU (aka VirGL) - "zink" # generic OpenGL over Vulkan, experimental - ] - ++ lib.optionals (stdenv.hostPlatform.isAarch64 || stdenv.hostPlatform.isAarch32) [ - "etnaviv" # Vivante GPU designs (mostly NXP/Marvell SoCs) - "freedreno" # Qualcomm Adreno (all Qualcomm SoCs) - "lima" # ARM Mali 4xx - "vc4" # Broadcom VC4 (Raspberry Pi 0-3) - ] - ++ lib.optionals stdenv.hostPlatform.isAarch64 [ "tegra" # Nvidia Tegra SoCs "v3d" # Broadcom VC5 (Raspberry Pi 4) - ] - ++ lib.optionals stdenv.hostPlatform.isx86 [ - "crocus" # Intel legacy, x86 only - "i915" # Intel extra legacy, x86 only + "vc4" # Broadcom VC4 (Raspberry Pi 0-3) + "virgl" # QEMU virtualized GPU (aka VirGL) + "zink" # generic OpenGL over Vulkan, experimental ], vulkanDrivers ? [ "amd" # AMD (aka RADV) - "asahi" # Apple AGX, built on non-aarch64 for cross tools + "asahi" # Apple AGX + "broadcom" # Broadcom VC5 (Raspberry Pi 4, aka V3D) + "freedreno" # Qualcomm Adreno (all Qualcomm SoCs) + "gfxstream" # Android virtualized GPU + "imagination-experimental" # PowerVR Rogue (currently N/A) + "intel_hasvk" # Intel Haswell/Broadwell, "legacy" Vulkan driver (https://www.phoronix.com/news/Intel-HasVK-Drop-Dead-Code) "intel" # new Intel (aka ANV) "microsoft-experimental" # WSL virtualized GPU (aka DZN/Dozen) "nouveau" # Nouveau (aka NVK) + "panfrost" # ARM Mali Midgard and up (T/G series) "swrast" # software renderer (aka Lavapipe) ] ++ @@ -89,16 +91,7 @@ # QEMU virtualized GPU (aka VirGL) # Requires ATOMIC_INT_LOCK_FREE == 2. "virtio" - ] - ++ lib.optionals stdenv.hostPlatform.isAarch64 [ - "broadcom" # Broadcom VC5 (Raspberry Pi 4, aka V3D) - "freedreno" # Qualcomm Adreno (all Qualcomm SoCs) - "imagination-experimental" # PowerVR Rogue (currently N/A) - "panfrost" # ARM Mali Midgard and up (T/G series) - ] - ++ lib.optionals stdenv.hostPlatform.isx86 [ - "intel_hasvk" # Intel Haswell/Broadwell, "legacy" Vulkan driver (https://www.phoronix.com/news/Intel-HasVK-Drop-Dead-Code) - ], + ], eglPlatforms ? [ "x11" "wayland"