[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.
Search Criteria
Package Details: mesa-git 24.3.0_devel.194818.d3429a7e00d.d41d8cd-1
Package Actions
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.39 |
First Submitted: | 2014-06-19 21:33 (UTC) |
Last Updated: | 2024-09-15 20:40 (UTC) |
Dependencies (53)
- clang (llvm-rocm-gitAUR, llvm-gitAUR, clang-minimal-gitAUR, clang17-binAUR)
- expat (expat-gitAUR)
- gcc-libs (gcc-libs-gitAUR, gccrs-libs-gitAUR, gcc11-libsAUR, gcc-libs-snapshotAUR)
- glibc (glibc-gitAUR, glibc-linux4AUR, glibc-eacAUR, glibc-eac-binAUR, glibc-eac-rocoAUR)
- libclc (libclc-gitAUR, libclc-minimal-gitAUR)
- libdrm (libdrm-gitAUR)
- libelf (elfutils-gitAUR)
- libglvnd (libglvnd-gitAUR)
- libunwind (libunwind-carbonAUR, libunwind-gitAUR)
- libx11 (libx11-gitAUR)
- libxcb (libxcb-gitAUR)
- libxdamage
- libxext (libxext-gitAUR)
- libxfixes
- libxshmfence
- libxxf86vm
- llvm-libs (llvm-libs-rocm-gitAUR, llvm-libs-gitAUR)
- lm_sensors (lm_sensors-gitAUR)
- python (python37AUR, python311AUR, python310AUR)
- spirv-llvm-translator (spirv-llvm-translator-gitAUR, spirv-llvm-translator-minimal-gitAUR)
- spirv-tools (spirv-tools-gitAUR)
- systemd-libs (systemd-chromiumos-libsAUR, systemd-libs-selinuxAUR, sysupdated-systemd-libs-gitAUR, systemd-libs-fmlAUR, systemd-libs-gitAUR)
- vulkan-icd-loader (vulkan-icd-loader-gitAUR)
- wayland (wayland-gitAUR, wayland-asan-gitAUR, wayland-chromiumAUR)
- xcb-util-keysyms
- zlib (zlib-ng-compat-gitAUR, zlib-gitAUR, zlib-ng-compat)
- zstd (zstd-gitAUR, zstd-staticAUR)
- cbindgen (make)
- clang (llvm-rocm-gitAUR, llvm-gitAUR, clang-minimal-gitAUR, clang17-binAUR) (make)
- cmake (cmake-gitAUR) (make)
- directx-headers-gitAUR (make)
- elfutils (elfutils-gitAUR) (make)
- git (git-gitAUR, git-glAUR) (make)
- glslang (glslang-gitAUR) (make)
- libclc (libclc-gitAUR, libclc-minimal-gitAUR) (make)
- libva (libva-gitAUR, intel-media-stack-binAUR, libva-headlessAUR) (make)
- libvdpau (make)
- libxml2 (libxml2-gitAUR, libxml2-2.9AUR) (make)
- libxrandr (libxrandr-gitAUR) (make)
- llvm (llvm-rocm-gitAUR, llvm-gitAUR, llvm-minimal-gitAUR) (make)
- meson (meson-gitAUR) (make)
- ninja (ninja-kitwareAUR, ninja-memAUR, ninja-fuchsia-gitAUR, ninja-gitAUR, ninja-jobserverAUR) (make)
- python-mako (make)
- python-packaging (make)
- python-ply (make)
- python-pyaml (make)
- rust (rust-nightlyAUR, rustup-gitAUR, rust-nightly-binAUR, rust-gitAUR, rust-beta-binAUR, rustup) (make)
- rust-bindgen (make)
- spirv-llvm-translator (spirv-llvm-translator-gitAUR, spirv-llvm-translator-minimal-gitAUR) (make)
- spirv-tools (spirv-tools-gitAUR) (make)
- wayland-protocols (wayland-protocols-gitAUR) (make)
- xorgproto (xorgproto-gitAUR) (make)
- opengl-man-pages (optional) – for the OpenGL API man pages
Required by (1302)
- 0ad-data-git (requires mesa) (make)
- 0ad-git (requires mesa) (make)
- abuse (requires mesa) (make)
- actionfps-client (requires mesa)
- actionfps-client (requires mesa) (make)
- actionfps-common (requires mesa) (make)
- actionfps-server (requires mesa) (make)
- adom-noteye (requires mesa)
- aegisub-git (requires mesa) (make)
- aegisub-japan7-git (requires mesa) (make)
- aegisub-ttools-meson-git (requires mesa) (make)
- aegisub-wangqr-git (requires mesa) (make)
- agisoft-metashape (requires opencl-rusticl-mesa) (optional)
- agisoft-metashape-pro (requires opencl-rusticl-mesa) (optional)
- aio-remote-neo (requires mesa)
- airshipper (requires vulkan-driver) (optional)
- alchemy-viewer-git (requires mesa)
- alchemy-viewer-git (requires mesa-libgl) (optional)
- alephium-desktop-wallet-bin (requires mesa)
- alephone (requires mesa) (make)
- Show 1282 more...
Sources (6)
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)
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.
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.
Option A - best one
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.
Option B - 2nd best
Lone_Wolf commented on 2019-07-09 13:43 (UTC) (edited on 2023-04-18 10:41 (UTC) by Lone_Wolf)
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 ?
Lone_Wolf commented on 2018-01-30 14:06 (UTC) (edited on 2023-02-12 11:56 (UTC) by Lone_Wolf)
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 functionalitybuild lib32-mesa-git
run
glxinfo32 -B
to verify basic OpenGL functionality for multilib programs