package mesa { description = "open source implementations of OpenGL, OpenGL ES, Vulkan, OpenCL, and more"; website = "https://mesa3d.org"; anitya = 1970; latest = anityaFallback; version* = "26.1.1"; source = remoteGitLab { domain = "gitlab.freedesktop.org"; suffix = "mesa/mesa"; ref = "mesa-"+version; checksum = "OFCxGSTBe7qbnbVdazIJBNMFaQ-ylD5aRzo-JstSAdA0-hvVdRwsZiovMBm2rMzp"; }; exec = meson { setup = { "Dplatforms": "x11,wayland"; "Dvideo-codecs": "all"; "Dglvnd": "enabled"; "Dgbm": "enabled"; "Dgallium-drivers": join { elems = [ "asahi", // Apple AGX "crocus", // Intel legacy "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) "r300", // very old AMD "r600", // less old AMD "radeonsi", // new AMD (GCN+) "softpipe", // older software renderer "svga", // VMWare virtualized GPU "tegra", // Nvidia Tegra SoCs "v3d", // Broadcom VC5 (Raspberry Pi 4) "vc4", // Broadcom VC4 (Raspberry Pi 0-3) "virgl", // QEMU virtualized GPU (aka VirGL) "zink", // generic OpenGL over Vulkan, experimental // d3d12: WSL emulated GPU (aka Dozen) // ethosu: accelerator // rocket: accelerator ]; sep = ","; }; "Dvulkan-drivers": join { elems = [ "amd", // AMD (aka RADV) "broadcom", // Broadcom VC5 (Raspberry Pi 4, aka V3D) "freedreno", // Qualcomm Adreno (all Qualcomm SoCs) "intel", // new Intel (aka ANV) "intel_hasvk", // Intel Haswell/Broadwell, "legacy" Vulkan driver (https://www.phoronix.com/news/Intel-HasVK-Drop-Dead-Code) "panfrost", // ARM Mali Midgard and up (T/G series) "swrast", // software renderer (aka Lavapipe) "virtio", // QEMU virtualized GPU (aka VirGL) "imagination", // PowerVR Rogue "asahi", // Apple AGX "gfxstream", // Android virtualized GPU // nouveau: Nouveau (aka NVK), requires rust // microsoft-experimental: WSL virtualized GPU (aka DZN/Dozen) // kosmickrisp: macOS-specific ]; sep = ","; }; "Dvulkan-layers": join { elems = [ "device-select", "intel-nullhw", "overlay", "screenshot", "anti-lag", "vram-report-limit", ]; sep = ","; }; "Dfreedreno-kmds": "msm,virtio"; "Damdgpu-virtio": "true"; }; }; inputs = [ m4, python-packaging, python-mako, python-pyyaml, python-pycparser, glslang, spirv-llvm-translator, zlib, zstd, gzip, ncurses, libglvnd, libexpat, libva, libdrm, elfutils, bison, flex, lm_sensors, libconfig, libdisplay-info, wayland, wayland-protocols, libxshmfence, libXxf86vm, libXrandr, libxcb-keysyms, libpng, libarchive, kernel-headers, ]; runtime = [ libdrm, elfutils, lm_sensors, libdisplayInfo, wayland, libxshmfence, libXxf86vm, libXrandr, libxcb-keysyms, libpng, ]; }