Package Details: mesa-git 20.0.0_devel.118826.525cbe85ef5-1

Git Clone URL: (read-only, click to copy)
Package Base: mesa-git
Description: an open-source implementation of the OpenGL specification, git version
Upstream URL:
Keywords: mesa X11
Licenses: custom
Conflicts: libva-mesa-driver, mesa, mesa-vdpau, opencl-mesa, vulkan-intel, vulkan-mesa-layer, vulkan-radeon
Provides: libva-mesa-driver=20.0.0_devel.118826.525cbe85ef5-1, mesa=20.0.0_devel.118826.525cbe85ef5-1, mesa-vdpau=20.0.0_devel.118826.525cbe85ef5-1, opencl-, opencl-driver, opengl-driver, vulkan-driver, vulkan-intel=20.0.0_devel.118826.525cbe85ef5-1, vulkan-mesa-layer=20.0.0_devel.118826.525cbe85ef5-1, vulkan-radeon=20.0.0_devel.118826.525cbe85ef5-1
Submitter: Krejzi
Maintainer: Lone_Wolf
Last Packager: Lone_Wolf
Votes: 157
Popularity: 0.166975
First Submitted: 2014-06-19 21:33
Last Updated: 2020-01-01 12:57

Required by (918)

Sources (2)

Pinned Comments

Lone_Wolf commented on 2019-07-09 13:43

  • llvm

Why would I want to use llvm development versions ?

For full functionality and latest features mesa trunk master needs to be build against llvm trunk master.
If you build against stable llvm things MAY work, but you're likely to lack some features and face stability issues.

Mesa-git uses a custom environment variable MESA_WHICH_LLVM for flexibility.
It has 4 values.
1 : aur llvm-minimal-git
2 : aur llvm-git
3: llvm-git from LordHeavy' unofficial repo
4: llvm from extra repo

I use value 1 95% of the time and set this in ~/.bash_rc .
If MESA_WHICH_LLVM is unset or empty, the default value of 4 (extra llvm) is used.

Lone_Wolf commented on 2019-06-04 15:15

AUR Helpers are NOT supported

I built and test with makepkg. Building with Devtools and Clean Chroot Manager should work fine also (I test them occasionally).

This package and lib32-mesa-git use a custom method to dynamically determine which llvm version is to be used. Several AUR helpers (atleast pamac and yay) have problems with that method.

Incase you try to build mesa-git with one of those AUR helpers


run makepkg --printsrcinfo > .SRCINFO after downloading and BEFORE building.

That should help pamac and yay to handle my custom method.

Lone_Wolf commented on 2018-01-30 14:06

  • issues
Simple issues can be dealth with through aur comments, but sometimes discussion is needed.
Use for that.
  • main difference with stable repo package
[extra]mesa is a split package, but aur mesa-git isn't.
Basically with aur mesa-git you get everything in one package, while [extra]/mesa allows you to leave out some parts if you don't want/need them.
Having a single package reduces maintenance and makes switching from stable to mesa-git rather easy, though reverting back to stable can be tricky.
  • meson settings
Those who compare PKGBUILDs will notice I don't use arch-meson, but meson setup.
I disagree with some of the settings made by arch-meson (especially the buildtype and enabling LTO by default) and feel using meson setup is cleaner.
  • how to update

run pacman Syu update non-repo packages for llvm if you use them

build mesa-git, log out , restart X .

run glxinfo to verify basic OpenGL functionality

build lib32-mesa-git

run glxinfo32 to verify basic OpenGL functionality for multilib programs

Latest Comments

« First ‹ Previous ... 3 4 5 6 7 8 9 10 11 12 13 ... Next › Last »

Lone_Wolf commented on 2019-05-23 11:04

Thanks for alerting me the patch is no longer needed, Snoop05 .

@Yurikoles :

I've had issues when setting NINJAFLAGS="" aka an empty string. That's a valid value for an environment variable but ninja did seem to choke on it, have to re-test though.

About the patch :

Why should CMAKE flags be send to meson ? Maybe those flags should be added in the llvm/clang packages that do use cmake ?

The local gitrepo folders I use are an exact copy of their upstream counterparts, building is done elsewhere. I don't need gitignore files, why should they be added and stored in the aur git repo ?

yurikoles commented on 2019-05-23 08:06

@Lone_Wolf it seems that check for ninja flag env var is unnecessary, it's safe to pass it unconditionally, if it's empty ninja will just run without flags.

yurikoles commented on 2019-05-22 17:10

@Lone_Wolf please propagate CMAKE_C_FLAGS and CMAKE_CXX_FLAGS from CFLAGS

Here is patch: also fixed some formatting and added .gitignore:

diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..506d336
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,4 @@
\ No newline at end of file
diff --git a/PKGBUILD b/PKGBUILD
index 6bb2337..dea4ba9 100644
@@ -41,7 +41,7 @@ sha512sums=('SKIP'
 # 2: llvm-git (aur)
 # 3  llvm-svn (lordheavy unofficial repo)
 # 4  llvm (stable from extra) Default value
 if [[ ! $MESA_WHICH_LLVM ]] ; then
@@ -69,11 +69,7 @@ case $MESA_WHICH_LLVM in
 pkgver() {
     cd mesa
     read -r _ver <VERSION
@@ -83,11 +79,10 @@ pkgver() {
 prepare() {
     # although removing _build folder in build() function feels more natural,
     # that interferes with the spirit of makepkg --noextract
-    if [  -d _build ]; then
+    if [ -d _build ]; then
         rm -rf _build
     cd mesa
-    patch -Np1 -i "$srcdir"/0001-radeonsi-fix-a-regression-in-si_rebind_buffer.patch

 build () {
@@ -123,19 +118,19 @@ build () {
        -D gallium-opencl=icd \
        -D valgrind=false \
        -D vulkan-overlay-layer=true \
-       -D tools=[]
+       -D tools=[] \
+       -D CMAKE_C_FLAGS="${CFLAGS}" \
     meson configure _build
     if [[ ! $NINJAFLAGS ]]; then
-        ninja  -C _build 
+        ninja -C _build
-        ninja  "$NINJAFLAGS" -C _build
+        ninja "$NINJAFLAGS" -C _build

 package() {
   DESTDIR="$pkgdir" ninja -C _build install

   # indirect rendering

Snoop05 commented on 2019-05-22 15:53

0001-radeonsi-fix-a-regression-in-si_rebind_buffer.patch is no longer neccessary (merged)

Lone_Wolf commented on 2019-05-20 14:28

commit causes visual corruption and GPU faults on several types of AMD cards.

That specific commit is reverted in prepare() now.


dudemanguy commented on 2019-05-14 17:12

My mistake. I swear I had base-devel on this machine.

Lone_Wolf commented on 2019-05-14 10:59

Read , then check which groups bison and flex are members of.

dudemanguy commented on 2019-05-13 22:11

I think bison and flex should be added as dependencies.

Lone_Wolf commented on 2019-05-12 12:34

You do have a point that removing the _build folder should be done in prepare() to allow makepkg --noextract to work as intended.

I'll move that part of the code.

gulafaran commented on 2019-05-12 08:46

why is the pkgbuild doing "if [ -d _build ]; then rm -rf _build fi" in the build() function?

Want to change something and makepke -e? Welp, rebuild everything again! what's the point of having an incremental build system if we just nuke the build artefacts?