| Name | mesa |
| Description | Open-source OpenGL drivers |
| Version | 1:25.3.5-1 |
| Package Base | mesa |
| Homepage | https://www.mesa3d.org/ |
| Maintainers | ['Felix Yan <felixonmars@archlinux.org>', 'Jan Alexander Steffens (heftig) <heftig@archlinux.org>', 'Laurent Carlier <lordheavym@gmail.com>'] |
| Contributors | ['Andreas Radke <andyrtr@archlinux.org>', 'Jan de Groot <jgc@archlinux.org>'] |
| Distro-repo | https://gitlab.archlinux.org/archlinux/packaging/packages/mesa |
| Sources | ['0001-kk-Fix-debug-printf-specifier.patch', 'bitflags-2.9.1.tar.gz::https://crates.io/api/v1/crates/bitflags/2.9.1/download', 'cfg-if-1.0.0.tar.gz::https://crates.io/api/v1/crates/cfg-if/1.0.0/download', 'equivalent-1.0.1.tar.gz::https://crates.io/api/v1/crates/equivalent/1.0.1/download', 'errno-0.3.12.tar.gz::https://crates.io/api/v1/crates/errno/0.3.12/download', 'hashbrown-0.14.1.tar.gz::https://crates.io/api/v1/crates/hashbrown/0.14.1/download', 'https://archive.mesa3d.org/mesa-26.0.0.tar.xz', 'https://archive.mesa3d.org/mesa-26.0.0.tar.xz.sig', 'indexmap-2.2.6.tar.gz::https://crates.io/api/v1/crates/indexmap/2.2.6/download', 'libc-0.2.171.tar.gz::https://crates.io/api/v1/crates/libc/0.2.171/download', 'log-0.4.27.tar.gz::https://crates.io/api/v1/crates/log/0.4.27/download', 'once_cell-1.8.0.tar.gz::https://crates.io/api/v1/crates/once_cell/1.8.0/download', 'paste-1.0.14.tar.gz::https://crates.io/api/v1/crates/paste/1.0.14/download', 'pest-2.8.0.tar.gz::https://crates.io/api/v1/crates/pest/2.8.0/download', 'pest_derive-2.8.0.tar.gz::https://crates.io/api/v1/crates/pest_derive/2.8.0/download', 'pest_generator-2.8.0.tar.gz::https://crates.io/api/v1/crates/pest_generator/2.8.0/download', 'pest_meta-2.8.0.tar.gz::https://crates.io/api/v1/crates/pest_meta/2.8.0/download', 'proc-macro2-1.0.86.tar.gz::https://crates.io/api/v1/crates/proc-macro2/1.0.86/download', 'quote-1.0.35.tar.gz::https://crates.io/api/v1/crates/quote/1.0.35/download', 'remain-0.2.12.tar.gz::https://crates.io/api/v1/crates/remain/0.2.12/download', 'roxmltree-0.20.0.tar.gz::https://crates.io/api/v1/crates/roxmltree/0.20.0/download', 'rustc-hash-2.1.1.tar.gz::https://crates.io/api/v1/crates/rustc-hash/2.1.1/download', 'rustix-1.1.2.tar.gz::https://crates.io/api/v1/crates/rustix/1.1.2/download', 'syn-2.0.87.tar.gz::https://crates.io/api/v1/crates/syn/2.0.87/download', 'thiserror-2.0.11.tar.gz::https://crates.io/api/v1/crates/thiserror/2.0.11/download', 'thiserror-impl-2.0.11.tar.gz::https://crates.io/api/v1/crates/thiserror-impl/2.0.11/download', 'ucd-trie-0.1.6.tar.gz::https://crates.io/api/v1/crates/ucd-trie/0.1.6/download', 'unicode-ident-1.0.12.tar.gz::https://crates.io/api/v1/crates/unicode-ident/1.0.12/download', 'windows-link-0.2.0.tar.gz::https://crates.io/api/v1/crates/windows-link/0.2.0/download', 'windows-sys-0.61.1.tar.gz::https://crates.io/api/v1/crates/windows-sys/0.61.1/download', 'zerocopy-0.8.13.tar.gz::https://crates.io/api/v1/crates/zerocopy/0.8.13/download', 'zerocopy-derive-0.8.13.tar.gz::https://crates.io/api/v1/crates/zerocopy-derive/0.8.13/download'] |
| Dependencies | ['expat', 'gcc-libs', 'glibc', 'libdrm', 'libelf', 'libglvnd', 'libx11', 'libxcb', 'libxext', 'libxshmfence', 'libxxf86vm', 'llvm-libs', 'lm_sensors', 'spirv-tools', 'wayland', 'zlib', 'zstd'] |
| Optional-Dependencies | ['opengl-man-pages'] |
| Build-Dependencies | ['clang', 'directx-headers', 'expat', 'glibc', 'libdisplay-info', 'libdrm', 'libelf', 'libgcc', 'libglvnd', 'libpng', 'libstdc++', 'libva', 'libx11', 'libxcb', 'libxext', 'libxml2', 'libxrandr', 'libxshmfence', 'libxxf86vm', 'llvm', 'llvm-libs', 'lm_sensors', 'rust', 'spirv-llvm-translator', 'spirv-tools', 'systemd-libs', 'vulkan-icd-loader', 'wayland', 'xcb-util-keysyms', 'zlib', 'zstd', 'cbindgen', 'clang', 'cmake', 'elfutils', 'glslang', 'libclc', 'meson', 'python-mako', 'python-packaging', 'python-ply', 'python-pycparser', 'python-yaml', 'rust-bindgen', 'wayland-protocols', 'xorgproto', 'libsysprof-capture', 'valgrind', 'python-sphinx', 'python-sphinx-hawkmoth'] |
| Provides | ['libva-mesa-driver', 'mesa-libgl', 'libva-driver', 'opengl-driver'] |
| Builddate | 07-02-2026 01:39:04 |
| Architecture | x86_64 |
| Distro-Version | |
| Licenses | ['MIT AND BSD-3-Clause AND SGI-B-2.0'] |
| Hash | 5c18c266c328201755cde6de270ad439da0f12a40106e4bc362ecf5719c1f409 |
# Maintainer: Laurent Carlier <lordheavym@gmail.com>
# Maintainer: Felix Yan <felixonmars@archlinux.org>
# Maintainer: Jan Alexander Steffens (heftig) <heftig@archlinux.org>
# Contributor: Jan de Groot <jgc@archlinux.org>
# Contributor: Andreas Radke <andyrtr@archlinux.org>
pkgbase=mesa
pkgname=(
mesa
opencl-mesa
vulkan-asahi
vulkan-broadcom
vulkan-dzn
vulkan-freedreno
vulkan-gfxstream
vulkan-intel
vulkan-kosmickrisp
vulkan-nouveau
vulkan-panfrost
vulkan-powervr
vulkan-radeon
vulkan-swrast
vulkan-virtio
vulkan-mesa-implicit-layers
vulkan-mesa-layers
mesa-docs
)
pkgver=26.0.0
_pkgver=${pkgver/[a-z]/-&}
pkgrel=1
epoch=1
pkgdesc="Open-source OpenGL drivers"
url="https://www.mesa3d.org/"
arch=(x86_64)
license=("MIT AND BSD-3-Clause AND SGI-B-2.0")
makedepends=(
clang
directx-headers
expat
glibc
libdisplay-info
libdrm
libelf
libgcc
libglvnd
libpng
libstdc++
libva
libx11
libxcb
libxext
libxml2
libxrandr
libxshmfence
libxxf86vm
llvm
llvm-libs
lm_sensors
rust
spirv-llvm-translator
spirv-tools
systemd-libs
vulkan-icd-loader
wayland
xcb-util-keysyms
zlib
zstd
# shared between mesa and lib32-mesa
cbindgen
clang
cmake
elfutils
glslang
libclc
meson
python-mako
python-packaging
python-ply
python-pycparser
python-yaml
rust-bindgen
wayland-protocols
xorgproto
# mesa-only deps
libsysprof-capture
valgrind
# html-docs
python-sphinx
python-sphinx-hawkmoth
)
options=(
# GCC 14 LTO causes segfault in LLVM under si_llvm_optimize_module
# https://gitlab.freedesktop.org/mesa/mesa/-/issues/11140
#
# In general, upstream considers LTO to be broken until explicit notice.
!lto
)
source=(
"https://archive.mesa3d.org/mesa-$_pkgver.tar.xz"{,.sig}
# Fix build on i686
0001-kk-Fix-debug-printf-specifier.patch
)
validpgpkeys=(
946D09B5E4C9845E63075FF1D961C596A7203456 # Andres Gomez <tanty@igalia.com>
71C4B75620BC75708B4BDB254C95FAAB3EB073EC # Dylan Baker <dylan@pnwbakers.com>
8703B6700E7EE06D7A39B8D6EDAE37B02CEB490D # Emil Velikov <emil.l.velikov@gmail.com>
57551DE15B968F6341C248F68D8E31AFC32428A6 # Eric Engestrom <eric@engestrom.ch>
A5CC9FEC93F2F837CB044912336909B6B25FADFA # Juan A. Suarez Romero <jasuarez@igalia.com>
E3E8F480C52ADD73B278EE78E1ECBE07D7D70895 # Juan Antonio Suárez Romero (Igalia, S.L.) <jasuarez@igalia.com>
)
# Rust crates for NVK, used as Meson subprojects
declare -A _crates=(
bitflags 2.9.1
cfg-if 1.0.0
equivalent 1.0.1
errno 0.3.12
hashbrown 0.14.1
indexmap 2.2.6
libc 0.2.171
log 0.4.27
once_cell 1.8.0
paste 1.0.14
pest 2.8.0
pest_derive 2.8.0
pest_generator 2.8.0
pest_meta 2.8.0
proc-macro2 1.0.86
quote 1.0.35
remain 0.2.12
roxmltree 0.20.0
rustc-hash 2.1.1
rustix 1.1.2
syn 2.0.87
thiserror 2.0.11
thiserror-impl 2.0.11
ucd-trie 0.1.6
unicode-ident 1.0.12
windows-link 0.2.0
windows-sys 0.61.1
zerocopy 0.8.13
zerocopy-derive 0.8.13
)
# Used to generate the above table
_gencrates() {
grep '^source_url' subprojects/*-rs.wrap | \
sed -r 's|.*crates/([^/]+)/([0-9.]+)/download|\1 \2|' | \
column -t -S 2 | sed 's/^/ /'
}
for _crate in "${!_crates[@]}"; do
_ver="${_crates[$_crate]}"
source+=(
"$_crate-$_ver.tar.gz::https://crates.io/api/v1/crates/$_crate/$_ver/download"
)
done
b2sums=('28193a6e5ddcb8babe5176a23e4e0ccb32b2ab362e99f9755d26868483d2f19d96ebce8a6ff023ebc5c2a5134c962486758e6e5bd95052de6ba18bcd038ad438'
'SKIP'
'd216b9c9b719b6cb846b7598a89ebb0dd63e87f8678f060562d7a2f4746952fa4533372827f7745c99a03bed344104ad9595b95a4c173a1f3e9500bc57c384a6'
'431439d31632d177aeb15f910b4f546efa76d54fc74fc8e140399dc5e54eca33fd606f11dbfb48fa83067c8474ee512e62751895d5948367b65ab08b984284e5'
'a6d47c903be6094423d89b8ec3ca899d0a84df6dbd6e76632bb6c9b9f40ad9c216f8fa400310753d392f85072756b43ac3892e0a2c4d55f87ab6463002554823'
'9a73962e1e38b84131ab2350b69a1f5d611c549533eec73e898c394a9b9442f357bb5d5f59e1be12270dd29bdf237dc2d21786c0c2210736e224ef5d48300dcf'
'2bfbb3146d63444632b924520bc3d8af4adc6bbc38f4a7c6e8a003365430372ac1c05246684b54f0a98c36c8a7f02c325e1a6dd7fec44adeff41767e427ea77f'
'fac5cf6339dc3c0a40b100035a5c874cc7b2efeafeb31c51488d25156e392dc9db86a497e76eead351d2126f69d060422faa9c55d73407a0de9f5be18d234123'
'afa9268513caa93fb141e69d27e7d65e72b9232b57d91e499f36ea4ec89d65bc6c8cbb37753ed59d149be5a2d349028b1fb0414c6223914366d6f3f31619855f'
'09a2159032baaff7eede480062da30ffec1c1d4c77e76288467941dc13722ab1566742c1821326ca5f8c2f9f7597099e235213ecbf883fd93daf5ae9ad5ee981'
'd76b20a45f2a0d888703a429b01397bab847af524e71a97797b472d6de0cf66b6aa2a0f5214451feba5a384534f1912a9e090091e32edcf40d79e60ef92d6022'
'91c6da1e49d59f7672be801c53610fbddab9e999de4e1af58659caae54bd1da316683ff441fcee9972317882e51951e53ce1d7ba0b487ab1f70bb40175866177'
'7a1b3b82bbbf6a123512815c3e8f068a17890cbbb8b68e88a5a492f62469942fadd776207eebd913052a1c06e1fd37a549e86526b9fc8f08b9ca7cb0044ac16b'
'e99a5589c11d79d77a4537b34ce0a45d37b981c123b79b807cea836c89fc3926d693458893baca2882448d3d44e3f64e06141f6d916b748daa10b8cc1ae16d1b'
'0184a318bc08a523c0430a04ae9b6e9c862f5acdcd2bd41b3f568c3529239be1951c64410fb3cf26ed9749fd05520e187614d4d28f3e77b1b172a30446d31d16'
'4b89e07f23af8328dbb34fe2b3f1b202f1e6a3885a6269740a23359b41bb4099ac2484565d3b2b0936261689ca525785ac620c766997234fd8d0f409e80e5ea3'
'56322cafd4f761aa6192d4906ec7884f50f3fc20f0714381d5bba2e8355c03380aa65ea9e68188f75d00cd9014037e2eaac026113c5a57974a33ac46ed1b431c'
'33be76d7ab098eaeeaefb2ea5ef20a73221ac51b491d6339e1fff66e24118854f3640de43241e233c68be17804b90d22d75f1d60f7df274acef4647c871e0e17'
'4cede03c08758ccd6bf53a0d0057d7542dfdd0c93d342e89f3b90460be85518a9fd24958d8b1da2b5a09b5ddbee8a4263982194158e171c2bba3e394d88d6dac'
'b14ee41348336981ab86459417b9feab90879a11a6524a8b43f2b89c09c844b4441c31e315c471be00ad21fa88b5dcc7671b56567fdcd72bb0790ceeaa25813b'
'208f858730f90834db4765c5645e9fbdfbf9a9aea939766c2ddcdea027901aca477e8274a9a91bcf7746bcd99ad9b77b96fbe94b778c91277007ec8afebdf58b'
'81424245e1e2b94459df68bb3a9a866c6a364102b5e1d010ede9c5f8278f8406d7b651957d091c5914e936b494b0f6e9a6a1dd8b7d35cd7d7100f86dee4ec12e'
'9605ca407af248c71e0d2bc24d213aa6ff08a14eb548b85de16de7e172a617cdf12c2e4c686f6dd1c80455448a313f6e7d760885f189ae726934efbe06fb5603'
'35e8548611c51ee75f4d04926149e5e54870d7073d9b635d550a6fa0f85891f57f326bdbcff3dd8618cf40f8e08cf903ef87d9c034d5921d8b91e1db842cdd7c'
'1649129fb459f1b68423e1f2ddf4f2a4cfb9746796786a7ac3f10f9239aec0023604dfc48835180b554a86c533867ebf335bebd12700a4c2d6ef212738560ac6'
'603a41f610c6a2be2ee170f6d35ce1683a50590d909ba5444c1777b9c00b584f4544868f4c4d3b2397ca8b77da2d8a40154ccc6f0f2f6affd2353aebfd6b4515'
'9b92fc5f3a3448d023e68e75ebcf71f97b2cd44b0fcb6ebb9fe38243f60cda48bb00cc1e67a779f2e42f56310ef8d7b37d94afe920524263e69c65754cb7cb3e'
'973126f9a9ca5f3118e830af11ddde4b26c905e13df89b2888b42facc4e48b3adea53b66405260f6291c3df7ddb85a93856841be3626b005040b3fd15502e2bd'
'302d78069d9df05e78b53f0488a9e4eb98fa2bc1e21893dc8a0acf2234347ba7c4df4b9d6b380ae77d8ffb1074b9c790460fe2dae47318aa1c4fe4208244540a'
'849e0ec8b86f0622d199eea1e7f03987d93f6231fae53b5dbfd90ae7d4b6a8d9e8cef5856c3714ce1f3f561f1e80dd8ed121e7ab45cecdf722f21c3e5db540c9'
'7681b1a7497b5711e663773c1a7e076f333c06c10d3f289079a781c36f050c1620cc279742ea8e5b15ec48f3d6038a6079bbda7fee3ae8e1128bd916d53ed43a'
'93385f64103fdb482bec34c7912474ae7a5935948715e6eb9a54907e0db5c39f089f6cd393bab33c935c59a1bbb0f4099431f206343811c1a450554d96a35756')
# https://docs.mesa3d.org/relnotes.html
sha256sums=('2a44e98e64d5c36cec64633de2d0ec7eff64703ee25b35364ba8fcaa84f33f72'
'SKIP'
'9403978c33030ce35e306d2e11fc5418257497ee16d2ccd2b0579360bfb5ef16'
'67914ab451f3bfd2e69e5e9d2ef3858484e7074d63f204fd166ec391b54de21d'
'ed646292ffc8188ef8ea4d1e0e0150fb15a5c2e12ad9b8fc191ae7a8a7f3c4b9'
'7f9f832470494906d1fca5329f8ab5791cc60beb230c74815dff541cbd2b5ca0'
'c19937216e9d3aa9956d9bb8dfc0b0c8beb6058fc4f7a4dc4d850edf86a237d6'
'168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26'
'7dfda62a12f55daeae5015f81b0baea145391cb4520f86c248fc615d72640d12'
'13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94'
'7988d73a4303ca289df03316bc490e934accf371af6bc745393cf3c2c5c4f25d'
'45e46c0661abb7180e7b9c281db115305d49ca1709ab8242adf09666d2173c65'
'357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d'
'baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd'
'1ad5e011230cad274d0532460c5ab69828ea47ae75681b42a841663efffaf794'
'5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77'
'd725d9cfd79e87dccc9341a2ef39d1b6f6353d68c4b33c177febbe1a402c97c5'
'26afc1baea8a989337eeb52b6e72a039780ce45c3edfcc9c5b9d112feeb173c2'
'3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b'
'1b8e56985ec62d17e9c1001dc89c88ecd7dc08e47eba5ec7c29c7b5eeecde967'
'6f109e41dd4a3c848907eb83d5a42ea98b3769495597450cf6d153507b166f0f'
'291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef'
'6c20b6793b5c2fa6553b250154b78d6d0db37e72700ae35fad9387a46f487c97'
'de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c'
'cea14ef9355e3beab063703aa9dab15afd25f0667c341310c1e5274bb1d0da18'
'cd15f8a2c5551a84d56efdc1cd049089e409ac19a3072d5037a17fd70719ff3e'
'198db74531d58c70a361c42201efde7e2591e976d518caf7662a47dc5720e7b6'
'd452f284b73e6d76dd36758a0c8684b1d5be31f92b89d07fd5822175732206fc'
'5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5'
'db7d01726be8ab66ab32f9df467ae8b1148906685bbe75c82d1e65d7f5b3f841'
'692fcb63b64b1758029e0a96ee63e049ce8c5948587f2f7208df04625e5f6b56'
'25aa4ce346d03a6dcd68dd8b4010bcb74e54e62c90c573f394c46eae99aba32d')
prepare() {
cd mesa-$_pkgver
local src
for src in "${source[@]}"; do
src="${src%%::*}"
src="${src##*/}"
src="${src%.zst}"
[[ $src = *.patch ]] || continue
echo "Applying patch $src..."
patch -Np1 < "../$src"
done
# Include package release in version string so Chromium invalidates
# its GPU cache; otherwise it can cause pages to render incorrectly.
# https://bugs.launchpad.net/ubuntu/+source/chromium-browser/+bug/2020604
echo "$_pkgver-arch$epoch.$pkgrel" >VERSION
}
build() {
local meson_options=(
-D android-libbacktrace=disabled
-D b_ndebug=true
-D gallium-drivers=all
-D gallium-extra-hud=true
-D gallium-mediafoundation=disabled
-D gallium-rusticl-enable-drivers=asahi,freedreno,radeonsi
-D gallium-rusticl=true
-D gles1=disabled
-D html-docs=enabled
-D intel-rt=enabled
-D libunwind=disabled
-D microsoft-clc=disabled
-D sysprof=true
-D valgrind=enabled
-D video-codecs=all
-D vulkan-drivers=all
-D vulkan-layers=device-select,intel-nullhw,overlay,screenshot,anti-lag,vram-report-limit
-D vulkan-manifest-per-architecture=false
)
# Build only minimal debug info to reduce size
CFLAGS+=" -g1"
CXXFLAGS+=" -g1"
# Inject subproject packages
export MESON_PACKAGE_CACHE_DIR="$srcdir"
arch-meson mesa-$_pkgver build "${meson_options[@]}"
meson compile -C build
}
_pick() {
local p="$1" f d; shift
for f; do
d="$srcdir/$p/${f#$pkgdir/}"
mkdir -p "$(dirname "$d")"
mv -v "$f" "$d"
rmdir -p --ignore-fail-on-non-empty "$(dirname "$f")"
done
}
package_mesa() {
depends=(
expat
glibc
libdrm
libelf
libgcc
libglvnd
libstdc++
libx11
libxcb
libxext
libxshmfence
libxxf86vm
llvm-libs
lm_sensors
spirv-tools
wayland
zlib
zstd
)
optdepends=("opengl-man-pages: for the OpenGL API man pages")
provides=(
"libva-mesa-driver=$epoch:$pkgver-$pkgrel"
"mesa-libgl=$epoch:$pkgver-$pkgrel"
libva-driver
opengl-driver
)
conflicts=(
'libva-mesa-driver<1:24.2.7-1'
'mesa-libgl<17.0.1-2'
)
replaces=(
'libva-mesa-driver<1:24.2.7-1'
'mesa-libgl<17.0.1-2'
)
meson install -C build --destdir "$pkgdir" --no-rebuild
(
local libdir=usr/lib
cd "$pkgdir"
_pick opencl $libdir/libRusticlOpenCL*
_pick opencl etc/OpenCL/vendors/rusticl.icd
_pick vkasahi $libdir/libvulkan_asahi.so
_pick vkasahi usr/share/vulkan/icd.d/asahi_icd.json
_pick vkbrcom $libdir/libvulkan_broadcom.so
_pick vkbrcom usr/share/vulkan/icd.d/broadcom_icd.json
_pick vkd3d12 $libdir/libvulkan_dzn.so
_pick vkd3d12 $libdir/libspirv_to_dxil.*
_pick vkd3d12 usr/bin/spirv2dxil
_pick vkd3d12 usr/share/vulkan/icd.d/dzn_icd.json
_pick vkfdreno $libdir/libvulkan_freedreno.so
_pick vkfdreno usr/share/vulkan/icd.d/freedreno_icd.json
_pick vkgfxstr $libdir/libvulkan_gfxstream.so
_pick vkgfxstr usr/share/vulkan/icd.d/gfxstream_vk_icd.json
_pick vkintel $libdir/libvulkan_intel{,_hasvk}.so
_pick vkintel usr/share/vulkan/icd.d/intel{,_hasvk}_icd.json
_pick vkkosmic $libdir/libvulkan_kosmickrisp.so
_pick vkkosmic usr/share/vulkan/icd.d/kosmickrisp_mesa_icd.json
_pick vknvidia $libdir/libvulkan_nouveau.so
_pick vknvidia usr/share/vulkan/icd.d/nouveau_icd.json
_pick vkpfrost $libdir/libvulkan_panfrost.so
_pick vkpfrost usr/share/vulkan/icd.d/panfrost_icd.json
_pick vkpowrvr $libdir/libvulkan_powervr_mesa.so
_pick vkpowrvr usr/share/vulkan/icd.d/powervr_mesa_icd.json
_pick vkradeon $libdir/libvulkan_radeon.so
_pick vkradeon usr/share/drirc.d/00-radv-defaults.conf
_pick vkradeon usr/share/vulkan/icd.d/radeon_icd.json
_pick vkswrast $libdir/libvulkan_lvp.so
_pick vkswrast usr/share/vulkan/icd.d/lvp_icd.json
_pick vkvirtio $libdir/libvulkan_virtio.so
_pick vkvirtio usr/share/vulkan/icd.d/virtio_icd.json
_pick vkdevice $libdir/libVkLayer_MESA_anti_lag.so
_pick vkdevice $libdir/libVkLayer_MESA_device_select.so
_pick vkdevice usr/share/vulkan/implicit_layer.d
_pick vklayer $libdir/libVkLayer_*.so
_pick vklayer usr/bin/mesa-*-control.py
_pick vklayer usr/share/vulkan/explicit_layer.d
_pick docs usr/share/doc
# indirect rendering
ln -sr $libdir/libGLX_{mesa,indirect}.so.0
)
install -Dm644 mesa-$_pkgver/docs/license.rst -t "$pkgdir/usr/share/licenses/$pkgname"
}
package_opencl-mesa() {
pkgdesc="Open-source OpenCL drivers"
depends=(
clang
expat
glibc
libdrm
libelf
libgcc
libstdc++
llvm-libs
spirv-llvm-translator
spirv-tools
zlib
zstd
libclc # For /usr/share/clc/
)
optdepends=("opencl-headers: headers necessary for OpenCL development")
provides=(opencl-driver)
replaces=(
"opencl-clover-mesa<=1:25.0.5-1"
"opencl-rusticl-mesa<=1:25.0.5-1"
)
conflicts=(
opencl-clover-mesa
opencl-rusticl-mesa
)
mv opencl/* "$pkgdir"
install -Dm644 mesa-$_pkgver/docs/license.rst -t "$pkgdir/usr/share/licenses/$pkgname"
}
package_vulkan-asahi() {
pkgdesc="Open-source Vulkan driver for Apple GPUs"
depends=(
expat
glibc
libdisplay-info
libdrm
libgcc
libstdc++
libx11
libxcb
libxshmfence
spirv-tools
systemd-libs
vulkan-icd-loader
vulkan-mesa-implicit-layers
wayland
xcb-util-keysyms
zlib
zstd
)
optdepends=("vulkan-mesa-layers: additional vulkan layers")
provides=(vulkan-driver)
mv vkasahi/* "$pkgdir"
install -Dm644 mesa-$_pkgver/docs/license.rst -t "$pkgdir/usr/share/licenses/$pkgname"
}
package_vulkan-broadcom() {
pkgdesc="Open-source Vulkan driver for VideoCore GPUs"
depends=(
expat
glibc
libdisplay-info
libdrm
libgcc
libstdc++
libx11
libxcb
libxshmfence
spirv-tools
systemd-libs
vulkan-icd-loader
vulkan-mesa-implicit-layers
wayland
xcb-util-keysyms
zlib
zstd
)
optdepends=("vulkan-mesa-layers: additional vulkan layers")
provides=(vulkan-driver)
mv vkbrcom/* "$pkgdir"
install -Dm644 mesa-$_pkgver/docs/license.rst -t "$pkgdir/usr/share/licenses/$pkgname"
}
package_vulkan-dzn() {
pkgdesc="Open-source Vulkan driver for D3D12"
depends=(
expat
glibc
libdisplay-info
libdrm
libgcc
libstdc++
libx11
libxcb
libxshmfence
spirv-tools
systemd-libs
vulkan-icd-loader
vulkan-mesa-implicit-layers
wayland
xcb-util-keysyms
zlib
zstd
)
optdepends=("vulkan-mesa-layers: additional vulkan layers")
provides=(vulkan-driver)
mv vkd3d12/* "$pkgdir"
install -Dm644 mesa-$_pkgver/docs/license.rst -t "$pkgdir/usr/share/licenses/$pkgname"
}
package_vulkan-freedreno() {
pkgdesc="Open-source Vulkan driver for Adreno GPUs"
depends=(
expat
glibc
libdisplay-info
libdrm
libgcc
libstdc++
libx11
libxcb
libxshmfence
spirv-tools
systemd-libs
vulkan-icd-loader
vulkan-mesa-implicit-layers
wayland
xcb-util-keysyms
zlib
zstd
)
optdepends=("vulkan-mesa-layers: additional vulkan layers")
provides=(vulkan-driver)
mv vkfdreno/* "$pkgdir"
install -Dm644 mesa-$_pkgver/docs/license.rst -t "$pkgdir/usr/share/licenses/$pkgname"
}
package_vulkan-gfxstream() {
pkgdesc="Open-source Vulkan driver for Graphics Streaming Kit"
depends=(
expat
glibc
libdisplay-info
libdrm
libgcc
libstdc++
libx11
libxcb
libxshmfence
systemd-libs
vulkan-icd-loader
vulkan-mesa-implicit-layers
wayland
xcb-util-keysyms
)
optdepends=("vulkan-mesa-layers: additional vulkan layers")
provides=(vulkan-driver)
mv vkgfxstr/* "$pkgdir"
install -Dm644 mesa-$_pkgver/docs/license.rst -t "$pkgdir/usr/share/licenses/$pkgname"
}
package_vulkan-intel() {
pkgdesc="Open-source Vulkan driver for Intel GPUs"
depends=(
expat
glibc
libdisplay-info
libdrm
libgcc
libstdc++
libx11
libxcb
libxshmfence
spirv-tools
systemd-libs
vulkan-icd-loader
vulkan-mesa-implicit-layers
wayland
xcb-util-keysyms
zlib
zstd
)
optdepends=("vulkan-mesa-layers: additional vulkan layers")
provides=(vulkan-driver)
mv vkintel/* "$pkgdir"
install -Dm644 mesa-$_pkgver/docs/license.rst -t "$pkgdir/usr/share/licenses/$pkgname"
}
package_vulkan-kosmickrisp() {
pkgdesc="Open-source Vulkan driver for Metal"
depends=(
expat
glibc
libdisplay-info
libdrm
libgcc
libstdc++
libx11
libxcb
libxshmfence
spirv-tools
systemd-libs
vulkan-icd-loader
vulkan-mesa-implicit-layers
wayland
xcb-util-keysyms
zlib
zstd
)
optdepends=("vulkan-mesa-layers: additional vulkan layers")
provides=(vulkan-driver)
mv vkkosmic/* "$pkgdir"
install -Dm644 mesa-$_pkgver/docs/license.rst -t "$pkgdir/usr/share/licenses/$pkgname"
}
package_vulkan-nouveau() {
pkgdesc="Open-source Vulkan driver for Nvidia GPUs"
depends=(
expat
glibc
libdisplay-info
libdrm
libgcc
libstdc++
libx11
libxcb
libxshmfence
spirv-tools
systemd-libs
vulkan-icd-loader
vulkan-mesa-implicit-layers
wayland
xcb-util-keysyms
zlib
zstd
)
optdepends=("vulkan-mesa-layers: additional vulkan layers")
provides=(vulkan-driver)
mv vknvidia/* "$pkgdir"
install -Dm644 mesa-$_pkgver/docs/license.rst -t "$pkgdir/usr/share/licenses/$pkgname"
}
package_vulkan-panfrost() {
pkgdesc="Open-source Vulkan driver for Mali GPUs"
depends=(
expat
glibc
libdisplay-info
libdrm
libgcc
libstdc++
libx11
libxcb
libxshmfence
spirv-tools
systemd-libs
vulkan-icd-loader
vulkan-mesa-implicit-layers
wayland
xcb-util-keysyms
zlib
zstd
)
optdepends=("vulkan-mesa-layers: additional vulkan layers")
provides=(vulkan-driver)
mv vkpfrost/* "$pkgdir"
install -Dm644 mesa-$_pkgver/docs/license.rst -t "$pkgdir/usr/share/licenses/$pkgname"
}
package_vulkan-powervr() {
pkgdesc="Open-source Vulkan driver for PowerVR GPUs"
depends=(
expat
glibc
libdisplay-info
libdrm
libgcc
libstdc++
libx11
libxcb
libxshmfence
spirv-tools
systemd-libs
vulkan-icd-loader
vulkan-mesa-implicit-layers
wayland
xcb-util-keysyms
zlib
zstd
)
optdepends=("vulkan-mesa-layers: additional vulkan layers")
provides=(vulkan-driver)
mv vkpowrvr/* "$pkgdir"
install -Dm644 mesa-$_pkgver/docs/license.rst -t "$pkgdir/usr/share/licenses/$pkgname"
}
package_vulkan-radeon() {
pkgdesc="Open-source Vulkan driver for AMD GPUs"
depends=(
expat
glibc
libdisplay-info
libdrm
libelf
libgcc
libstdc++
libx11
libxcb
libxshmfence
llvm-libs
spirv-tools
systemd-libs
vulkan-icd-loader
vulkan-mesa-implicit-layers
wayland
xcb-util-keysyms
zlib
zstd
)
optdepends=("vulkan-mesa-layers: additional vulkan layers")
provides=(vulkan-driver)
replaces=('amdvlk<=2025.Q2.1-1')
mv vkradeon/* "$pkgdir"
install -Dm644 mesa-$_pkgver/docs/license.rst -t "$pkgdir/usr/share/licenses/$pkgname"
}
package_vulkan-swrast() {
pkgdesc="Open-source Vulkan driver for CPUs (Software Rasterizer)"
depends=(
expat
glibc
libdisplay-info
libdrm
libgcc
libstdc++
libx11
libxcb
libxshmfence
llvm-libs
spirv-tools
systemd-libs
vulkan-icd-loader
vulkan-mesa-implicit-layers
wayland
xcb-util-keysyms
zlib
zstd
)
optdepends=("vulkan-mesa-layers: additional vulkan layers")
conflicts=(vulkan-mesa)
replaces=(vulkan-mesa)
provides=(vulkan-driver)
mv vkswrast/* "$pkgdir"
install -Dm644 mesa-$_pkgver/docs/license.rst -t "$pkgdir/usr/share/licenses/$pkgname"
}
package_vulkan-virtio() {
pkgdesc="Open-source Vulkan driver for Virtio-GPU (Venus)"
depends=(
expat
glibc
libdisplay-info
libdrm
libgcc
libx11
libxcb
libxshmfence
systemd-libs
vulkan-icd-loader
vulkan-mesa-implicit-layers
wayland
xcb-util-keysyms
zlib
zstd
)
optdepends=("vulkan-mesa-layers: additional vulkan layers")
provides=(vulkan-driver)
mv vkvirtio/* "$pkgdir"
install -Dm644 mesa-$_pkgver/docs/license.rst -t "$pkgdir/usr/share/licenses/$pkgname"
}
package_vulkan-mesa-implicit-layers() {
pkgdesc="Mesa's implicit Vulkan layers"
depends=(
glibc
libdrm
libxcb
wayland
)
conflicts=(vulkan-mesa-device-select)
replaces=(vulkan-mesa-device-select)
mv vkdevice/* "$pkgdir"
install -Dm644 mesa-$_pkgver/docs/license.rst -t "$pkgdir/usr/share/licenses/$pkgname"
}
package_vulkan-mesa-layers() {
pkgdesc="Mesa's explicit Vulkan layers"
depends=(
glibc
libgcc
libpng
libstdc++
python
)
conflicts=(vulkan-mesa-layer)
replaces=(vulkan-mesa-layer)
mv vklayer/* "$pkgdir"
install -Dm644 mesa-$_pkgver/docs/license.rst -t "$pkgdir/usr/share/licenses/$pkgname"
}
package_mesa-docs() {
pkgdesc="Mesa's documentation"
mv docs/* "$pkgdir"
install -Dm644 mesa-$_pkgver/docs/license.rst -t "$pkgdir/usr/share/licenses/$pkgname"
}
# vim:set sw=2 sts=-1 et: