aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorOphestra <cat@gensokyo.uk>2026-05-14 05:09:01 +0900
committerOphestra <cat@gensokyo.uk>2026-05-14 05:12:35 +0900
commitc32c06b2e88f7ccc21bf05c2ebfb12bf884e335c (patch)
tree4a9df0a2e9ddec1550e8afbe789e5b5421593135
parent61199f734cea486f2ab8bbb8e5d66e07d44907c4 (diff)
internal/rosa: mesa artifact
This has many dependencies. Signed-off-by: Ophestra <cat@gensokyo.uk>
-rw-r--r--internal/rosa/all.go1
-rw-r--r--internal/rosa/mesa.go141
2 files changed, 141 insertions, 1 deletions
diff --git a/internal/rosa/all.go b/internal/rosa/all.go
index 379f15c8..9d5f8535 100644
--- a/internal/rosa/all.go
+++ b/internal/rosa/all.go
@@ -129,6 +129,7 @@ const (
MPC
MPFR
Make
+ Mesa
Meson
Mksh
MuslFts
diff --git a/internal/rosa/mesa.go b/internal/rosa/mesa.go
index 961cd736..b5780acb 100644
--- a/internal/rosa/mesa.go
+++ b/internal/rosa/mesa.go
@@ -1,6 +1,10 @@
package rosa
-import "hakurei.app/internal/pkg"
+import (
+ "strings"
+
+ "hakurei.app/internal/pkg"
+)
func (t Toolchain) newLibglvnd() (pkg.Artifact, string) {
const (
@@ -124,3 +128,138 @@ func init() {
ID: 1752,
}
}
+
+func (t Toolchain) newMesa() (pkg.Artifact, string) {
+ const (
+ version = "26.1.0"
+ checksum = "zU0fjqevySBaoi_5SLW3e2UffmGeBdxOuHmAHTH68n2hV-sjYoqg30koLqFXuk5y"
+ )
+ return t.NewPackage("mesa", version, newFromGitLab(
+ "gitlab.freedesktop.org",
+ "mesa/mesa",
+ "mesa-"+version,
+ checksum,
+ ), nil, &MesonHelper{
+ Setup: []KV{
+ {"Dplatforms", "x11,wayland"},
+ {"Dvideo-codecs", "all"},
+
+ {"Dglvnd", "enabled"},
+ {"Dgbm", "enabled"},
+
+ {"Dgallium-drivers", strings.Join([]string{
+ "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
+ }, ",")},
+
+ {"Dvulkan-drivers", strings.Join([]string{
+ "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
+ }, ",")},
+ {"Dvulkan-layers", strings.Join([]string{
+ "device-select",
+ "intel-nullhw",
+ "overlay",
+ "screenshot",
+ "anti-lag",
+ "vram-report-limit",
+ }, ",")},
+
+ {"Dfreedreno-kmds", "msm,virtio"},
+ {"Damdgpu-virtio", "true"},
+ },
+ },
+ M4,
+ PythonPackaging,
+ PythonMako,
+ PythonPyYAML,
+ PythonPycparser,
+ Glslang,
+ SPIRVLLVMTranslator,
+
+ Zlib,
+ Zstd,
+ Gzip,
+ Ncurses,
+ Libglvnd,
+ Libexpat,
+ Libva,
+ Libdrm,
+ Elfutils,
+ Bison,
+ Flex,
+ LMSensors,
+ Libconfig,
+ LibdisplayInfo,
+ Wayland,
+ WaylandProtocols,
+ Libxshmfence,
+ LibXxf86vm,
+ LibXrandr,
+ LibxcbUtilKeysyms,
+ Libpng,
+ Libarchive,
+ KernelHeaders,
+ ), version
+}
+func init() {
+ artifactsM[Mesa] = Metadata{
+ f: Toolchain.newMesa,
+
+ Name: "mesa",
+ Description: "open source implementations of OpenGL, OpenGL ES, Vulkan, OpenCL, and more",
+ Website: "https://mesa3d.org",
+
+ Dependencies: P{
+ Libdrm,
+ Elfutils,
+ LMSensors,
+ LibdisplayInfo,
+ Wayland,
+ Libxshmfence,
+ LibXxf86vm,
+ LibXrandr,
+ LibxcbUtilKeysyms,
+ Libpng,
+ },
+
+ ID: 1970,
+
+ latest: (*Versions).getStable,
+ }
+}