Package Details: mesa-git 24.3.0_devel.194818.d3429a7e00d.d41d8cd-1

Git Clone URL: https://aur.archlinux.org/mesa-git.git (read-only, click to copy)
Package Base: mesa-git
Description: an open-source implementation of the OpenGL specification, git version
Upstream URL: https://www.mesa3d.org
Keywords: mesa wayland X11
Licenses: custom
Conflicts: libva-mesa-driver, mesa, mesa-libgl, mesa-vdpau, opencl-clover-mesa, opencl-rusticl-mesa, vulkan-intel, vulkan-mesa-layers, vulkan-nouveau, vulkan-radeon, vulkan-swrast, vulkan-virtio
Provides: libva-mesa-driver, mesa, mesa-libgl, mesa-vdpau, opencl-driver, opencl-rusticl-mesa, opengl-driver, vulkan-driver, vulkan-intel, vulkan-mesa-layers, vulkan-nouveau, vulkan-radeon, vulkan-swrast, vulkan-virtio
Submitter: Krejzi
Maintainer: rjahanbakhshi (Lone_Wolf)
Last Packager: Lone_Wolf
Votes: 182
Popularity: 0.38
First Submitted: 2014-06-19 21:33 (UTC)
Last Updated: 2024-09-15 20:40 (UTC)

Required by (1302)

Sources (6)

Pinned Comments

Lone_Wolf commented on 2024-09-10 19:58 (UTC)

removed obsolete options, build now works again.

building opencl clover is disabled for now, see https://gitlab.freedesktop.org/mesa/mesa/-/issues/11863

Those that need opencl should use rusticl instead. Note that rusticl at runtime is disabled by default, see https://docs.mesa3d.org/envvars.html#rusticl-environment-variables for info about enabling it.

Lone_Wolf commented on 2020-04-23 12:26 (UTC) (edited on 2023-03-30 07:04 (UTC) by Lone_Wolf)

Mesa and llvm are closely tied together. Everytime the llvm mesa is built against changes/updates , mesa needs to be rebuilt.

I expect anyone building mesa-git against one of the llvm trunk variants to be able to do that themselves, but atleast some of the people that built against repo llvm don't understand how to deal with such a rebuild.

The rest of this post is meant for those people.

  • Verify if latest PKGBUILD requirements match llvm repo versions.
  • If they don't , post to alert the maintainer of this.
  • DELAY the update of llvm/clang suite and their lib32- counterparts
  • Once the PKGBUILD does match, download it.

Option A - best one

  • run pacman -Syu to ensure your system is in sync with your mirrror server
  • build mesa-git in a clean chroot

see https://wiki.archlinux.org/index.php/DeveloperWiki:Building_in_a_clean_chroot for the official way or https://aur.archlinux.org/packages/clean-chroot-manager for an alternative method.

  • install the newly built mesa-git
  • run pacman -Syu
  • ready

Option B - 2nd best

  • revert to repo mesa
  • pacman -Syu
  • build mesa-git
  • switch from mesa to mesa-git
  • ready

Lone_Wolf commented on 2019-07-09 13:43 (UTC) (edited on 2023-04-18 10:41 (UTC) by Lone_Wolf)

  • choosing which llvm variant to build against

WARNING : aur helpers don't support this method at all. They check .SRCINFO and that doesn't include this variable so it will use the default which is hardcoded to build against repo 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 2018-01-30 14:06 (UTC) (edited on 2023-02-12 11:56 (UTC) by Lone_Wolf)

  • 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 , update mesa-git and restart X .

run glxinfo -B to verify basic OpenGL functionality

build lib32-mesa-git

run glxinfo32 -B to verify basic OpenGL functionality for multilib programs

Latest Comments

« First ‹ Previous 1 .. 81 82 83 84 85 86 87 88 89 90 91 .. 131 Next › Last »

kerberizer commented on 2016-02-16 18:17 (UTC)

[HEADS UP] Users of "{lib32-,}llvm-svn", "{lib32-,}mesa-git" and AMD video cards MUST recompile Mesa If __all__ of the following are true for you... * you use an AMD video card with the open source drivers, * you use "{lib32-,}mesa-git" from AUR, with version < g0bba5ca, * you use "{lib32-,}llvm-svn" from AUR, with version >= r260919, ...then you __must__ recompile the Mesa packages (or possibly upgrade again from the "mesa-git" binary repo you use). The reason is explained in this Mesa commit: https://cgit.freedesktop.org/mesa/mesa/commit/?id=0bba5ca468cdcd1f6f9bb6736c8a75e43fbe0cd5 If Mesa is not recompiled, you'll face errors of the type: libGL: dlopen /usr/lib/xorg/modules/dri/radeonsi_dri.so failed (/usr/lib/xorg/modules/dri/radeonsi_dri.so: undefined symbol: LLVMAddTargetData) Please note that with the AMD open source drivers, recompiling Mesa on every LLVM upgrade is generally a good practice, even though most of the time it will not be strictly necessary.

kerberizer commented on 2016-02-14 14:26 (UTC)

The patch for Clover has been committed to master... https://cgit.freedesktop.org/mesa/mesa/commit/?id=a4cff1859efedac37368c1ddc55b091b6cd3eb65

kerberizer commented on 2016-02-14 00:26 (UTC)

Just FYI, guys, Clover is broken since commit bfd695e... core/kernel.cpp: In member function ‘void clover::kernel::launch(clover::command_queue&, const std::vector<long unsigned int>&, const std::vector<long unsigned int>&, const std::vector<long unsigned int>&)’: core/kernel.cpp:79:15: error: incompatible types in assignment of ‘unsigned int*’ to ‘uint [3] {aka unsigned int [3]}’ info.block = pad_vector(q, block_size, 1).data(), ^ core/kernel.cpp:80:14: error: incompatible types in assignment of ‘unsigned int*’ to ‘uint [3] {aka unsigned int [3]}’ info.grid = pad_vector(q, reduced_grid_size, 1).data(), ^ core/kernel.cpp:81:41: error: ‘const struct clover::module’ has no member named ‘sysm’ info.pc = find(name_equals(_name), m.sysm).offset; ^ ...but a patch should be coming shortly... https://patchwork.freedesktop.org/patch/73642/

EndlessEden commented on 2016-02-02 02:09 (UTC)

@Lone_wolf: enable-opengl : Just a precautionary measure. enable-dri3 & enable-va : again same as ogl. i915 gallium : Thanks. ilo : Used by Intel. Experimental, but promising. vc4 : will look into it deeper. enable-sysfs : ignore that request, i copied some of it from my testing pkgbuild... sorry. enable-mangling: again from testing sorry. with-pic : both improve gallium and linking performance. PIC improves link-time performance and support on X86_64 systems. Gallium performance show a 3% +/- increase with xf86-video-radeon(si/amd). PIC is also required with some systems, to link. detect SELinux : that was more of a suggestion to add a detection script. Detecting SElinux supported kernel is rather easy, so adding the selinux flag to the build at build() time would be more globally beneficial than multiple packages to do the same thing.

edtoml commented on 2016-02-01 19:15 (UTC)

Its building now. Just to confirm that I did have libnettle installed and it was trying to use libgcrypt which is also present...

Lone_Wolf commented on 2016-02-01 14:27 (UTC)

After noticing that with '--with-sha1=libgcrypt' mesa still uses parts of nettle if nettle is present, i decided to revert to '--with-sha1=libnettle' and changed the dependencies. I also looked at the configure flags, decided to only use those that change defaults and added comments about the flags.

Lone_Wolf commented on 2016-01-31 15:24 (UTC)

I just tried building 75920.a48afb9 without nettle installed and got no problems. ( see below for partial build log) Could you try to build again ? Looks like you're using an aur helper , if build fails again, try building with 'makepkg - Crs' . make[5]: Leaving directory '/home/panoramix/Documents/WIP/pkgbuilds/mesa-git/src/mesa/src/mesa/drivers/dri' make[4]: Leaving directory '/home/panoramix/Documents/WIP/pkgbuilds/mesa-git/src/mesa/src/mesa/drivers/dri' Making all in drivers/osmesa make[4]: Entering directory '/home/panoramix/Documents/WIP/pkgbuilds/mesa-git/src/mesa/src/mesa/drivers/osmesa' CC osmesa.lo CXXLD libOSMesa.la GEN .install-mesa-links make[4]: Leaving directory '/home/panoramix/Documents/WIP/pkgbuilds/mesa-git/src/mesa/src/mesa/drivers/osmesa' make[3]: Leaving directory '/home/panoramix/Documents/WIP/pkgbuilds/mesa-git/src/mesa/src/mesa' make[2]: Leaving directory '/home/panoramix/Documents/WIP/pkgbuilds/mesa-git/src/mesa/src/mesa'

edtoml commented on 2016-01-30 21:13 (UTC)

Latest does not build. I get: Making all in drivers/osmesa make[4]: Entering directory '/tmp/makepkg/mesa-git/src/mesa/src/mesa/drivers/osmesa' CXXLD libOSMesa.la ../../../../src/mesa/.libs/libmesa.a(libmesautil_la-mesa-sha1.o): In function `_mesa_sha1_init': mesa-sha1.c:(.text+0x17): undefined reference to `nettle_sha1_init' ../../../../src/mesa/.libs/libmesa.a(libmesautil_la-mesa-sha1.o): In function `_mesa_sha1_update': mesa-sha1.c:(.text+0x2e): undefined reference to `nettle_sha1_update' ../../../../src/mesa/.libs/libmesa.a(libmesautil_la-mesa-sha1.o): In function `_mesa_sha1_final': mesa-sha1.c:(.text+0x4d): undefined reference to `nettle_sha1_digest' ../../../../src/mesa/.libs/libmesa.a(libmesautil_la-mesa-sha1.o): In function `_mesa_sha1_compute': mesa-sha1.c:(.text+0x85): undefined reference to `nettle_sha1_update' mesa-sha1.c:(.text+0x95): undefined reference to `nettle_sha1_digest' collect2: error: ld returned 1 exit status Makefile:636: recipe for target 'libOSMesa.la' failed same thing happen with lib32-mesa-git Ideas?

Lone_Wolf commented on 2016-01-29 17:23 (UTC)

I'll need more info to make those changes. enable-opengl : opengl is enabled by default enable-dri3 & enable-va : default is auto which does enable them on x86_64 i915 gallium : good idea, will do that ilo : which devices/architectures use this ? vc4 : check mesa-git-rbp enable-sysfs : afaict enabling this would block mesa from using udev for detection. why do you need it ? enable-mangling, with-pic : what benefits would these bring ? detect SELinux : technically this may be possible, but mesa-git is intended to be usable as a replacement of stock mesa (with some experimental stuff added). AL currently doesn't have a supported SELinux kernel, i also don't see a mesa-selinux package.