You are not logged in.
Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.
clean chroot building not flexible enough ?
Try clean chroot manager by graysky
Offline
mesa-test-git 24.3.0_devel.195378.58b512ddd6e-1 is broken.
Online
@bernd_b
just to check, did you restart your system?
I'm not sure how much GPU load by itself affects the frequency of freezes - maybe certain operations are more prone? The reproducer I use only uses around 30% of the GPU.
I did. And while 6 minutes in stress mode, the screen took literally seconds to react to one typed letter.
Offline
I've reported the bisected commit upstream in https://gitlab.freedesktop.org/mesa/mesa/-/issues/12310 and https://gitlab.freedesktop.org/drm/amd/-/issues/3874 since those issues have closer hardware to what I'm using.
Last edited by kclisp (2025-01-08 17:48:28)
Online
git bisect new 58b512ddd6ea4d9c39786de0e3b5c739e1351739
58b512ddd6ea4d9c39786de0e3b5c739e1351739 is the first new commit
commit 58b512ddd6ea4d9c39786de0e3b5c739e1351739 (HEAD)
Author: Marek Olšák <maraeo@gmail.com>
Date: Sat Sep 14 10:03:45 2024 -0400
radeonsi: execute clears at resource allocation using compute instead of gfx
This adds an additional aux_context, so that the gfx queue isn't stalled
due to clearing buffers or initializing DCC.
This aux context will only be used by resource_create, which will allow
us to remove all barriers around the clears because there are no others
users of those buffers on that context.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31291>
src/gallium/drivers/radeonsi/si_buffer.c | 4 ++--
src/gallium/drivers/radeonsi/si_pipe.c | 1 +
src/gallium/drivers/radeonsi/si_pipe.h | 5 ++++-
src/gallium/drivers/radeonsi/si_texture.c | 4 ++--
4 files changed, 9 insertions(+), 5 deletions(-)
$
That's https://gitlab.freedesktop.org/mesa/mes … 39e1351739 .
The MR that commit belongs to is massive, so I think it's best to create a new issue for this bug with mesa .
It should contain a description, how to reproduce it , hw details of the system (lspci -knn) it happens on , a journal from the crash and such .
kclisp, you did a lot of the hard work to figure this out, are you willing to file an issue ?
Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.
clean chroot building not flexible enough ?
Try clean chroot manager by graysky
Offline
Sure, I can create a new issue: https://gitlab.freedesktop.org/mesa/mesa/-/issues/12433.
Last edited by kclisp (2025-01-08 19:30:45)
Online
@Lone_Wolf
Can you create a build with this patch Marek sent? https://gitlab.freedesktop.org/mesa/mes … te_2728386
Online
I applied the patch on top of 72351afe24f, the youngest commit we tested in the bisect.
Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.
clean chroot building not flexible enough ?
Try clean chroot manager by graysky
Offline
@Lone_Wolf A big thank you and appreciate your work providing bisect testing packages and getting mesa-git straightened out.
The recent posts strongly suggest there is more then 1 bug present.
Seems the testing results are coming in very quickly...
If I was to jump in with testing at this stage, should I start from the beginning of your bisects in case there is more than one bug?
This process would involve an unknown amount of time, possibly up to weeks for me as I don't have an easily triggered event to freeze.
Would my testing be of any use at this stage? I can report my results in this thread.
If a bug fix is released before I get through testing, I'd assume stop testing bisects and jump to testing it?
I just installed 'mesa-test-git 24.3.0_devel.195377.c99b55092ff-1', but thinking about my questions above now.
I'm using Xorg with Xfce DE.
My hardware:
Ryzen 5 PRO 2400GE Mobile processor in HP EliteDesk 705 G4
Graphics:
Device-1: Advanced Micro Devices [AMD/ATI] Raven Ridge [Radeon Vega Series
/ Radeon Mobile Series] driver: amdgpu v: kernel
Display: unspecified server: X.org v: 1.21.1.15 with: Xwayland v: 24.1.4
driver: X: loaded: modesetting dri: radeonsi gpu: amdgpu
resolution: 1920x1080~60Hz
API: EGL v: 1.5 drivers: kms_swrast,radeonsi,swrast
platforms: gbm,x11,surfaceless,device
API: OpenGL v: 4.6 compat-v: 4.5 vendor: amd mesa v: 24.3.0-devel
renderer: AMD Radeon Vega 11 Graphics (radeonsi raven LLVM 18.1.8 DRM 3.59
6.12.8-arch1-1)
Last edited by NuSkool (2025-01-08 21:59:19)
Offline
@Lone_Wolf
Thanks for the build! Unfortunately the patch didn't fix the issue.
@NuSkool
Best would be to try to break 72351afe24f, or try finding another reliable way of reproducing a freeze.
Online
Big thanks for the bisecting effort and finding a way to reproducing it reliably with i3 window switching, I finally found this thread.
Sharing my journalctl freeze with an LTS kernel fully updated at that time, from a month ago, was able to get some stacktrace mentioning amdgpu, powergating, and CPU stuck logs
https://0x0.st/8-Zn.txt
(AMD 2400G Integrated GPU - Vega 11 - KDE plasma Wayland)
(filtered out Tailscaled, Syncthing and KDEconnectd logs)
During these freezes (both with LTS and Mainline kernel), I was able to properly reboot the system from SSH after the freeze (UI stays frozen), (SSH works but terribly slowly, took around 45 minutes), will not freeze if no UI is drawn on screen (disabled sddm and used console to downgrade mesa)
The freezes happen very soon (~within 5 to 10 minutes 90% of the time) if VSCode and Firefox is open and actively used (refreshing pages, or opening tabs), sometimes when using wine (GPU usage at 100% doesn't necessarily crash), I still wouldn't call this method reliable.
I'll go with @kclisp 's i3 method for now, if I test newer mesa.
Currently, I have all my packages updated including vulkan (i does work with wine) with mainline kernel, except for mesa at 24.2.7, haven't crashed since.
I probably wouldn't be able to test newer mesa for the time being, will report here if I do.
Offline
kclisp filed a new issue for the bug they found at https://gitlab.freedesktop.org/mesa/mesa/-/issues/12433 .
ragavpr :
just before the coredump are several of these lines :
Dec 15 10:20:03 pc-clay kwin_wayland[956]: kwin_scene_opengl: 0x2: GL_INVALID_OPERATION in glDrawBuffers(unsupported buffer GL_BACK_LEFT)
This looks like a different bug then the one found by kclisp .
To all trying to help : if you find a method to reliably reproduce a crash, it can be bisected.
Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.
clean chroot building not flexible enough ?
Try clean chroot manager by graysky
Offline
mesa-test-git 25.0.0_devel.199748.72351afe24f-1
I have been testing this test-git for 11 1/2 hours now and can confirm @bernd_b that there is *no* crash.
Since we are describing and investigating problems with integrated AMD VEGA gpu's (gfx9) here, I do not simply assume that one is affected by a bug and the other is not.
Of course it cannot be excluded that there are *several* bugs, but in principle all *gfx9* users should be affected, unless one of the bugs occurs only rarely or under very specific conditions, which in this case (@kclisp) do not apply to @orbit and @bernd_b.
Conversely, I assume that @kclisp will or could still be affected by "the other error".
Like @bernd_b, I am initially pleased that "this other error" no longer seems to occur in the pre-release version 25.0.0, but I remain skeptical for the moment.
Perhaps I will now or then try to trigger the other error in a reproducible way. But I would then select a mesa package for which I already know that it will crash.
Offline
well.. i can't log into gnome with mesa 24.2.7-1 anymore (tried the lts kernel but no luck), updating mesa to 24.3.3-2 let's me login again. sorry if i can't be of any help, i can't reproduce the issue and this bisecting thing is way over my head.
Offline
Do you get away w/ the versio Lone_Wolf provided in https://bbs.archlinux.org/viewtopic.php … 1#p2219101 ?
Offline
Do you get away w/ the versio Lone_Wolf provided in https://bbs.archlinux.org/viewtopic.php … 1#p2219101 ?
i just tried it and i can't log into gnome, back to 24.3.3-2
Offline
A different person, but I was also unable to boot after performing a system upgrade (with KDE as my desktop), so It looks like this is the end of the line for staying on mesa 24.2.7 .
I have just tried to run with the provided mesa-test-git 25.0.0_devel.199748.72351afe24f-2 for testing. However unfortunately this caused sddm to crash so is unusable (technically sddm-greeter-qt was the process that dumped core). Probably an unrelated issue, but it means I'm not able to test this.
Currently on the latest mesa from the arch repositories (24.3.3-3) which hasn't caused a freeze yet, but it usually takes a long time before I see crashes and I have no way to reproduce them.
Last edited by flemingfleming (2025-01-12 19:53:20)
Offline
New llvm-libs was just moved to Extra, you will not be able to use any version of mesa built against the old version. if you need a previous version of mesa, you will have to build it yourself.
Offline
Thanks for the info. I did try to do a compare of packages mesa depends on and those that were upgraded, and llvm-libs was the only commonality. But I don't know enough about these things to know if that would cause a problem. Also, I don't want to use more and more old packages; it's just going to cause more and more problems over time. I might still have to try if the current version of mesa still has issues.
I've got no chance of successfully building mesa myself unfortunately, but I can still test other builds of it if it would help.
Offline
I also was affected today. After updating llvm-libs, the system stopped and couldn't even boot into the login screen.
I think @flemingfleming and @Scimmia are right that it will no longer be possible to stay with 24.2.7.
I will wait until Wednesday 01/15 for mesa 24.3.4 and also downgrade llvm-libs until then.
Then I'll go to mesa 24.3.4 and try to trigger the error in a reproducible way, if it still occurs then, which I assume it will. Unfortunately, I do not necessarily believe that I will succeed.
Offline
I'll take down the binary git builds I uploaded for bisecting and upload a new one of latest trunk against llvm 19 sometime in the next few days.
llvm-libs was the only commonality. But I don't know enough about these things to know if that would cause a problem
Yes, it does and will.
quoting part of a pinned comment by me on mesa-git aur page :
Mesa and llvm are closely tied together. Everytime the llvm mesa is built against changes/updates , mesa needs to be rebuilt.
Last edited by Lone_Wolf (2025-01-12 21:29:56)
Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.
clean chroot building not flexible enough ?
Try clean chroot manager by graysky
Offline
I can confirm the login problem after updating today. Does anyone know if the heavy mesa-bug is fixed by now ? There is a newer version number/date at the arch packages than at the official mesa website. Don´t want to downgrade more and more packages, just to have a functional system.
edit: mesa ist still buggy and llvm-libs needs to be the very latest V18-version to function together with bugless mesa-version 24.2.x. So you have to downgrade these two packages now to have a working (Arch)Linux with AMD-APUs. This is getting really annoying.
Last edited by Berni341 (2025-01-13 20:36:07)
Offline
A mesa 24.2.x package that builds against llvm 19 is not hard to create, but will need someone to maintain & update it.
The bug found by kclisp hasn't been solved yet, but I'm not aware of other reproducable issues with vega cards.
Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.
clean chroot building not flexible enough ?
Try clean chroot manager by graysky
Offline
Just in case it helps someone:
With slight modifications, I created this PKGBUILD for mesa 24.2.8 (the last "stable one?) from the current pkgbuild of the arch-repo. It compiled well against today's updated arch-linux:
# Maintainer: Laurent Carlier <lordheavym@gmail.com>
# Maintainer: Felix Yan <felixonmars@archlinux.org>
# Maintainer: Jan Alexander Steffens (heftig) <heftig@archlinux.org>
# Contributor: Jan de Groot <jgc@archlinux.org>
# Contributor: Andreas Radke <andyrtr@archlinux.org>
pkgbase=mesa
pkgname=(
mesa
opencl-clover-mesa
opencl-rusticl-mesa
vulkan-intel
vulkan-mesa-layers
vulkan-nouveau
vulkan-radeon
vulkan-swrast
vulkan-virtio
mesa-docs
)
pkgver=24.2.8
pkgrel=2
epoch=1
pkgdesc="Open-source OpenGL drivers"
url="https://www.mesa3d.org/"
arch=(x86_64)
license=("MIT AND BSD-3-Clause AND SGI-B-2.0")
makedepends=(
clang
expat
gcc-libs
glibc
libdrm
libelf
libglvnd
libpng
libva
libvdpau
libx11
libxcb
libxext
libxml2
libxrandr
libxshmfence
libxxf86vm
llvm
llvm-libs
lm_sensors
rust
spirv-llvm-translator
spirv-tools
systemd-libs
vulkan-icd-loader
wayland
xcb-util-keysyms
zlib
zstd
# shared between mesa and lib32-mesa
cbindgen
clang
cmake
elfutils
glslang
libclc
meson
python-mako
python-packaging
python-ply
python-yaml
rust-bindgen
wayland-protocols
xorgproto
# valgrind deps
valgrind
# d3d12 deps
directx-headers
# html-docs
python-sphinx
python-sphinx-hawkmoth
)
options=(
# GCC 14 LTO causes segfault in LLVM under si_llvm_optimize_module
# https://gitlab.freedesktop.org/mesa/mesa/-/issues/11140
#
# In general, upstream considers LTO to be broken until explicit notice.
!lto
)
source=(
"https://mesa.freedesktop.org/archive/mesa-$pkgver.tar.xz"{,.sig}
)
validpgpkeys=(
946D09B5E4C9845E63075FF1D961C596A7203456 # Andres Gomez <tanty@igalia.com>
71C4B75620BC75708B4BDB254C95FAAB3EB073EC # Dylan Baker <dylan@pnwbakers.com>
8703B6700E7EE06D7A39B8D6EDAE37B02CEB490D # Emil Velikov <emil.l.velikov@gmail.com>
57551DE15B968F6341C248F68D8E31AFC32428A6 # Eric Engestrom <eric@engestrom.ch>
A5CC9FEC93F2F837CB044912336909B6B25FADFA # Juan A. Suarez Romero <jasuarez@igalia.com>
E3E8F480C52ADD73B278EE78E1ECBE07D7D70895 # Juan Antonio Suárez Romero (Igalia, S.L.) <jasuarez@igalia.com>
)
# Rust crates for NVK, used as Meson subprojects
declare -A _crates=(
equivalent 1.0.1
hashbrown 0.14.1
indexmap 2.2.6
once_cell 1.8.0
paste 1.0.14
pest 2.7.11
pest_derive 2.7.11
pest_generator 2.7.11
pest_meta 2.7.11
proc-macro2 1.0.86
quote 1.0.33
roxmltree 0.20.0
syn 2.0.68
ucd-trie 0.1.6
unicode-ident 1.0.12
)
for _crate in "${!_crates[@]}"; do
_ver="${_crates[$_crate]}"
source+=(
"$_crate-$_ver.tar.gz::https://crates.io/api/v1/crates/$_crate/$_ver/download"
)
done
b2sums=('SKIP'
'SKIP'
'a6d47c903be6094423d89b8ec3ca899d0a84df6dbd6e76632bb6c9b9f40ad9c216f8fa400310753d392f85072756b43ac3892e0a2c4d55f87ab6463002554823'
'9c34f1ab14ad5ae124882513e0f14b1d731d06a43203bdc37fa3b202dd3ce93dbe8ebb554d01bab475689fe6ffd3ec0cbc0d5365c9b984cb83fb34ea3e9e732e'
'fac5cf6339dc3c0a40b100035a5c874cc7b2efeafeb31c51488d25156e392dc9db86a497e76eead351d2126f69d060422faa9c55d73407a0de9f5be18d234123'
'afa9268513caa93fb141e69d27e7d65e72b9232b57d91e499f36ea4ec89d65bc6c8cbb37753ed59d149be5a2d349028b1fb0414c6223914366d6f3f31619855f'
'4b89e07f23af8328dbb34fe2b3f1b202f1e6a3885a6269740a23359b41bb4099ac2484565d3b2b0936261689ca525785ac620c766997234fd8d0f409e80e5ea3'
'e81ed8b60492da9612d2208c6cfa712ebf8c6ed7993642bfc4fadeaba10a0bc16700bce012d34d955104041ed8bbf659d16d9b86eab52342875d4c6148e7f60d'
'4cede03c08758ccd6bf53a0d0057d7542dfdd0c93d342e89f3b90460be85518a9fd24958d8b1da2b5a09b5ddbee8a4263982194158e171c2bba3e394d88d6dac'
'77c4b166f1200e1ee2ab94a5014acd334c1fe4b7d72851d73768d491c56c6779a0882a304c1f30c88732a6168351f0f786b10516ae537cff993892a749175848'
'9605ca407af248c71e0d2bc24d213aa6ff08a14eb548b85de16de7e172a617cdf12c2e4c686f6dd1c80455448a313f6e7d760885f189ae726934efbe06fb5603'
'35e8548611c51ee75f4d04926149e5e54870d7073d9b635d550a6fa0f85891f57f326bdbcff3dd8618cf40f8e08cf903ef87d9c034d5921d8b91e1db842cdd7c'
'23bb1f3453d5d839dba7b3292806eb2d327ccafb1b1472fd970262a44c0abbabfbf3316ca16dd5526177bcb67a701cf79fa86b68fd1e57a3d875cb4b7ff89ad9'
'302d78069d9df05e78b53f0488a9e4eb98fa2bc1e21893dc8a0acf2234347ba7c4df4b9d6b380ae77d8ffb1074b9c790460fe2dae47318aa1c4fe4208244540a'
'dd65c69d8d0ff343d36e31e6a4f4e11aeb01b1fd23d0db06d90f506ec2f2bb2c50422f6a73b48780e16e07c8d0addb374dd09cfabaf6230d5b2ba409dd3fa6cd'
'7681b1a7497b5711e663773c1a7e076f333c06c10d3f289079a781c36f050c1620cc279742ea8e5b15ec48f3d6038a6079bbda7fee3ae8e1128bd916d53ed43a'
'8bc6f68ed286bea617a2cfaf3949bb699d3a0466faeca735314a51596ce950e4ee57eda88154bd562c1728cfaff4cdb5bc1ba701b9d47a9c50d4c4f011bee975')
# https://docs.mesa3d.org/relnotes.html
sha256sums=('SKIP'
'SKIP'
'ed646292ffc8188ef8ea4d1e0e0150fb15a5c2e12ad9b8fc191ae7a8a7f3c4b9'
'a941429fea7e08bedec25e4f6785b6ffaacc6b755da98df5ef3e7dcf4a124c4f'
'168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26'
'7dfda62a12f55daeae5015f81b0baea145391cb4520f86c248fc615d72640d12'
'5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77'
'2a548d2beca6773b1c244554d36fcf8548a8a58e74156968211567250e48e49a'
'3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b'
'5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae'
'6c20b6793b5c2fa6553b250154b78d6d0db37e72700ae35fad9387a46f487c97'
'de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c'
'cd53dff83f26735fdc1ca837098ccf133605d794cdae66acfc2bfac3ec809d95'
'5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5'
'3c93a82e8d145725dcbaf44e5ea887c8a869efdcc28706df2d08c69e17077183'
'692fcb63b64b1758029e0a96ee63e049ce8c5948587f2f7208df04625e5f6b56'
'901fa70d88b9d6c98022e23b4136f9f3e54e4662c3bc1bd1d84a42a9a0f0c1e9')
prepare() {
cd mesa-$pkgver
# Include package release in version string so Chromium invalidates
# its GPU cache; otherwise it can cause pages to render incorrectly.
# https://bugs.launchpad.net/ubuntu/+source/chromium-browser/+bug/2020604
echo "$pkgver-arch$epoch.$pkgrel" >VERSION
}
build() {
local meson_options=(
-D android-libbacktrace=disabled
-D b_ndebug=true
-D gallium-drivers=r300,r600,radeonsi,nouveau,virgl,svga,llvmpipe,softpipe,iris,crocus,i915,zink,d3d12
-D gallium-extra-hud=true
-D gallium-nine=true
-D gallium-opencl=icd
-D gallium-rusticl=true
-D gles1=disabled
-D glx=dri
-D html-docs=enabled
-D intel-clc=enabled
-D intel-rt=enabled
-D libunwind=disabled
-D microsoft-clc=disabled
-D osmesa=true
-D platforms=x11,wayland
-D valgrind=enabled
-D video-codecs=all
-D vulkan-drivers=amd,intel,intel_hasvk,nouveau,swrast,virtio
-D vulkan-layers=device-select,intel-nullhw,overlay
)
# Build only minimal debug info to reduce size
CFLAGS+=" -g1"
CXXFLAGS+=" -g1"
# Inject subproject packages
export MESON_PACKAGE_CACHE_DIR="$srcdir"
arch-meson mesa-$pkgver build "${meson_options[@]}"
meson compile -C build
}
_pick() {
local p="$1" f d; shift
for f; do
d="$srcdir/$p/${f#$pkgdir/}"
mkdir -p "$(dirname "$d")"
mv -v "$f" "$d"
rmdir -p --ignore-fail-on-non-empty "$(dirname "$f")"
done
}
package_mesa() {
depends=(
expat
gcc-libs
glibc
libdrm
libelf
libglvnd
libx11
libxcb
libxext
libxshmfence
libxxf86vm
llvm-libs
lm_sensors
spirv-tools
wayland
zlib
zstd
)
optdepends=("opengl-man-pages: for the OpenGL API man pages")
provides=(
"libva-mesa-driver=$epoch:$pkgver-$pkgrel"
"mesa-libgl=$epoch:$pkgver-$pkgrel"
"mesa-vdpau=$epoch:$pkgver-$pkgrel"
libva-driver
opengl-driver
vdpau-driver
)
conflicts=(
'libva-mesa-driver<1:24.2.7-1'
'mesa-libgl<17.0.1-2'
'mesa-vdpau<1:24.2.7-1'
)
replaces=(
'libva-mesa-driver<1:24.2.7-1'
'mesa-libgl<17.0.1-2'
'mesa-vdpau<1:24.2.7-1'
)
meson install -C build --destdir "$pkgdir"
(
local libdir=usr/lib icddir=usr/share/vulkan/icd.d
cd "$pkgdir"
_pick clover $libdir/gallium-pipe
_pick clover $libdir/libMesaOpenCL*
_pick clover etc/OpenCL/vendors/mesa.icd
_pick clrust $libdir/libRusticlOpenCL*
_pick clrust etc/OpenCL/vendors/rusticl.icd
_pick vkintel $icddir/intel_*.json
_pick vkintel $libdir/libvulkan_intel*.so
_pick vklayer $libdir/libVkLayer_*.so
_pick vklayer usr/bin/mesa-*-control.py
_pick vklayer usr/share/vulkan/{ex,im}plicit_layer.d
_pick vknvidia $icddir/nouveau_*.json
_pick vknvidia $libdir/libvulkan_nouveau*.so
_pick vkradeon $icddir/radeon_icd*.json
_pick vkradeon $libdir/libvulkan_radeon.so
_pick vkradeon usr/share/drirc.d/00-radv-defaults.conf
_pick vkswrast $icddir/lvp_icd*.json
_pick vkswrast $libdir/libvulkan_lvp.so
_pick vkvirtio $icddir/virtio_icd*.json
_pick vkvirtio $libdir/libvulkan_virtio.so
_pick docs usr/share/doc
# indirect rendering
ln -sr $libdir/libGLX_{mesa,indirect}.so.0
)
install -Dm644 mesa-$pkgver/docs/license.rst -t "$pkgdir/usr/share/licenses/$pkgname"
}
package_opencl-clover-mesa() {
pkgdesc="Open-source OpenCL drivers - Clover variant"
depends=(
clang
expat
gcc-libs
glibc
libdrm
libelf
llvm-libs
zlib
zstd
libclc # For /usr/share/clc/
)
optdepends=("opencl-headers: headers necessary for OpenCL development")
provides=(opencl-driver)
replaces=("opencl-mesa<=23.1.4-1")
conflicts=(opencl-mesa)
mv clover/* "$pkgdir"
install -Dm644 mesa-$pkgver/docs/license.rst -t "$pkgdir/usr/share/licenses/$pkgname"
}
package_opencl-rusticl-mesa() {
pkgdesc="Open-source OpenCL drivers - RustICL variant"
depends=(
clang
expat
gcc-libs
glibc
libdrm
libelf
llvm-libs
spirv-llvm-translator
spirv-tools
zlib
zstd
libclc # For /usr/share/clc/
)
optdepends=("opencl-headers: headers necessary for OpenCL development")
provides=(opencl-driver)
replaces=("opencl-mesa<=23.1.4-1")
conflicts=(opencl-mesa)
mv clrust/* "$pkgdir"
install -Dm644 mesa-$pkgver/docs/license.rst -t "$pkgdir/usr/share/licenses/$pkgname"
}
package_vulkan-intel() {
pkgdesc="Open-source Vulkan driver for Intel GPUs"
depends=(
expat
gcc-libs
glibc
libdrm
libx11
libxcb
libxshmfence
spirv-tools
systemd-libs
vulkan-icd-loader
wayland
xcb-util-keysyms
zlib
zstd
)
optdepends=("vulkan-mesa-layers: additional vulkan layers")
provides=(vulkan-driver)
mv vkintel/* "$pkgdir"
install -Dm644 mesa-$pkgver/docs/license.rst -t "$pkgdir/usr/share/licenses/$pkgname"
}
package_vulkan-mesa-layers() {
pkgdesc="Mesa's Vulkan layers"
depends=(
gcc-libs
glibc
libdrm
libpng
libxcb
wayland
python
)
conflicts=(vulkan-mesa-layer)
replaces=(vulkan-mesa-layer)
mv vklayer/* "$pkgdir"
install -Dm644 mesa-$pkgver/docs/license.rst -t "$pkgdir/usr/share/licenses/$pkgname"
}
package_vulkan-nouveau() {
pkgdesc="Open-source Vulkan driver for Nvidia GPUs"
depends=(
expat
gcc-libs
glibc
libdrm
libx11
libxcb
libxshmfence
spirv-tools
systemd-libs
vulkan-icd-loader
wayland
xcb-util-keysyms
zlib
zstd
)
optdepends=("vulkan-mesa-layers: additional vulkan layers")
provides=(vulkan-driver)
mv vknvidia/* "$pkgdir"
install -Dm644 mesa-$pkgver/docs/license.rst -t "$pkgdir/usr/share/licenses/$pkgname"
}
package_vulkan-radeon() {
pkgdesc="Open-source Vulkan driver for AMD GPUs"
depends=(
expat
gcc-libs
glibc
libdrm
libelf
libx11
libxcb
libxshmfence
llvm-libs
spirv-tools
systemd-libs
vulkan-icd-loader
wayland
xcb-util-keysyms
zlib
zstd
)
optdepends=("vulkan-mesa-layers: additional vulkan layers")
provides=(vulkan-driver)
mv vkradeon/* "$pkgdir"
install -Dm644 mesa-$pkgver/docs/license.rst -t "$pkgdir/usr/share/licenses/$pkgname"
}
package_vulkan-swrast() {
pkgdesc="Open-source Vulkan driver for CPUs (Software Rasterizer)"
depends=(
expat
gcc-libs
glibc
libdrm
libx11
libxcb
libxshmfence
llvm-libs
spirv-tools
systemd-libs
vulkan-icd-loader
wayland
xcb-util-keysyms
zlib
zstd
)
optdepends=("vulkan-mesa-layers: additional vulkan layers")
conflicts=(vulkan-mesa)
replaces=(vulkan-mesa)
provides=(vulkan-driver)
mv vkswrast/* "$pkgdir"
install -Dm644 mesa-$pkgver/docs/license.rst -t "$pkgdir/usr/share/licenses/$pkgname"
}
package_vulkan-virtio() {
pkgdesc="Open-source Vulkan driver for Virtio-GPU (Venus)"
depends=(
expat
gcc-libs
glibc
libdrm
libx11
libxcb
libxshmfence
systemd-libs
vulkan-icd-loader
wayland
xcb-util-keysyms
zlib
zstd
)
optdepends=("vulkan-mesa-layers: additional vulkan layers")
provides=(vulkan-driver)
mv vkvirtio/* "$pkgdir"
install -Dm644 mesa-$pkgver/docs/license.rst -t "$pkgdir/usr/share/licenses/$pkgname"
}
package_mesa-docs() {
pkgdesc="Mesa's documentation"
mv docs/* "$pkgdir"
install -Dm644 mesa-$pkgver/docs/license.rst -t "$pkgdir/usr/share/licenses/$pkgname"
}
# vim:set sw=2 sts=-1 et:
I also managed to compile mesa-git from the arch-repo which I use at the moment.
Offline
Is mesa something that takes a long time to build? I only have a 4-core CPU.
But it seems to be the best solution for now, it doesn't seem sustainable to downgrade anymore with the llvm situation.
Offline