Package Details: mesa-git 19.2.0_devel.112785.a110a8090d6-1

Git Clone URL: (read-only)
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=19.2.0_devel.112785.a110a8090d6-1, mesa=19.2.0_devel.112785.a110a8090d6-1, mesa-vdpau=19.2.0_devel.112785.a110a8090d6-1, opencl-, opencl-driver, opengl-driver, vulkan-driver, vulkan-intel=19.2.0_devel.112785.a110a8090d6-1, vulkan-mesa-layer=19.2.0_devel.112785.a110a8090d6-1, vulkan-radeon=19.2.0_devel.112785.a110a8090d6-1
Submitter: Krejzi
Maintainer: Lone_Wolf
Last Packager: Lone_Wolf
Votes: 157
Popularity: 0.843904
First Submitted: 2014-06-19 21:33
Last Updated: 2019-07-09 13:18

Required by (898)

Sources (2)

Pinned Comments

Lone_Wolf commented on 2019-07-09 13:53

glesv2 not found

Mesa USED TO provide glesv2.pc files all the time, but now only does that when built without libglvnd support.

Mesa devs feel that whoever generates the driver/library should provide such files and I agree with them. This means that libglvnd devs need to provide them, but sofar they failed to do that. is patched to provide all pkgconfig files for the drivers/libararies libglvnd builds, use that instead of stock libglvnd.

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 1 2 3 4 5 6 7 8 9 ... Next › Last »

yurikoles commented on 2019-05-25 06:59

Or even GitLab, which offers free CI, so we can test pull requests in Arch Linux Docker.

yurikoles commented on 2019-05-25 06:57

Could you please mirror your AUR packages to GitHub to review pull requests?

yurikoles commented on 2019-05-23 11:56

Sorry, my bad, I had forgotten that this package is being built by meson. Could you please add it to llvm then?

The .gitignore file is for AUR repo, not for mesa one. The other minor changes is about removing unnecessary white spaces.

Lone_Wolf commented on 2019-05-23 11:51

I re-checked and ninja does choke when the environment var is an empty string.

Since that's a valid value for environment variables I have to protect against it.

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.