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.144711
First Submitted: 2014-06-19 21:33
Last Updated: 2020-01-01 12:57

Required by (919)

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

yurikoles commented on 2019-05-30 16:49

but AUR helpers, e.g. yay want to install llvm-minimal-git before mesa-git

Lone_Wolf commented on 2019-05-30 13:17

Changed how NINJAFLAGS is used, package should now build ok if it's not defined.

That's correct yurikoles.

makepkg --printsrcinfo does process the PKGBUILD, sees MESA_WHICH_LLVM is set to 1 on my system, writes llvm-minimal-git as makedep and llvm-libs-minimal-git as dep in .SRCINFO .

When the user runs makepkg, it will use their systems value of MESA_WHICH_LLVM . If they haven't set it, makepkg will use the default of 4 and use extra llvm / llvm-libs .

The end result is : action is needed to build mesa-git against any llvm trunk version.

yurikoles commented on 2019-05-30 11:16

@Lone_Wolf, there is llvm-minimal-git in makedepends in .SRCINFO.

artivision commented on 2019-05-29 11:26

Fail with /var/tmp/pamac-build-jojo/llvm-minimal-git/src/_build/ empty error.

Lone_Wolf commented on 2019-05-27 12:43

After thinking about NINJAFLAGS I now feel it's the user responsibility to ensure its value will work. The PKGBUILD no longer checks for validity of $NINJAFLAGS.

If unsure, don't use it.

Lone_Wolf commented on 2019-05-26 14:07

I'd prefer issues with diff files attached over pull requests or merge requests , but neither is currently possible within AUR.

CI sounds nice especially with 4 choices for dependencies, but those docker images would have to be updated atleast several times a week. Maybe if llvm-git & llvm-minimal-git were also included the extra work is worth it.

That suggests this shouldn't be a one-person initiative. How flexible are gitlab / github for setting up and managing a small collaboration ?

Gitlab seems to be a bit friendlier towards open source then github and gitlab source code is available. If all other things are equal, I'd prefer gitlab I think.

One question we should answer before doing anything is : What license will files be published under ? In my opinion PKGBUILD and related files are not original works, so don't have any copyright attached. No idea how to express that in a icense though.

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.