You are not logged in.

#101 2025-01-08 17:27:50

Lone_Wolf
Administrator
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 13,155

Re: Issues with Mesa 24.3.x and amdgpu Vega graphics


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

#102 2025-01-08 17:30:06

kclisp
Member
Registered: 2025-01-04
Posts: 26

Re: Issues with Mesa 24.3.x and amdgpu Vega graphics

mesa-test-git 24.3.0_devel.195378.58b512ddd6e-1 is broken.

Online

#103 2025-01-08 17:35:40

bernd_b
Member
Registered: 2013-07-30
Posts: 176

Re: Issues with Mesa 24.3.x and amdgpu Vega graphics

kclisp wrote:

@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

#104 2025-01-08 17:40:36

kclisp
Member
Registered: 2025-01-04
Posts: 26

Re: Issues with Mesa 24.3.x and amdgpu Vega graphics

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

#105 2025-01-08 17:47:29

Lone_Wolf
Administrator
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 13,155

Re: Issues with Mesa 24.3.x and amdgpu Vega graphics

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

#106 2025-01-08 17:49:03

kclisp
Member
Registered: 2025-01-04
Posts: 26

Re: Issues with Mesa 24.3.x and amdgpu Vega graphics

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

#107 2025-01-08 19:34:07

kclisp
Member
Registered: 2025-01-04
Posts: 26

Re: Issues with Mesa 24.3.x and amdgpu Vega graphics

@Lone_Wolf

Can you create a build with this patch Marek sent? https://gitlab.freedesktop.org/mesa/mes … te_2728386

Online

#108 2025-01-08 20:55:50

Lone_Wolf
Administrator
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 13,155

Re: Issues with Mesa 24.3.x and amdgpu Vega graphics

I applied the patch on top of 72351afe24f, the youngest commit we tested in the bisect.

commit 72351afe24f + patch


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

#109 2025-01-08 21:53:26

NuSkool
Member
Registered: 2015-03-23
Posts: 172

Re: Issues with Mesa 24.3.x and amdgpu Vega graphics

@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

#110 2025-01-09 04:28:50

kclisp
Member
Registered: 2025-01-04
Posts: 26

Re: Issues with Mesa 24.3.x and amdgpu Vega graphics

@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

#111 2025-01-09 08:24:15

ragavpr
Member
Registered: 2025-01-09
Posts: 1

Re: Issues with Mesa 24.3.x and amdgpu Vega graphics

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

#112 2025-01-09 11:08:24

Lone_Wolf
Administrator
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 13,155

Re: Issues with Mesa 24.3.x and amdgpu Vega graphics

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

#113 2025-01-09 13:03:39

orbit-oc
Member
Registered: 2024-12-15
Posts: 40

Re: Issues with Mesa 24.3.x and amdgpu Vega graphics

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

#114 2025-01-12 18:27:49

nek0panchi
Member
Registered: 2020-08-07
Posts: 6

Re: Issues with Mesa 24.3.x and amdgpu Vega graphics

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

#115 2025-01-12 19:28:57

seth
Member
Registered: 2012-09-03
Posts: 60,466

Re: Issues with Mesa 24.3.x and amdgpu Vega graphics

Do you get away w/ the versio Lone_Wolf provided in https://bbs.archlinux.org/viewtopic.php … 1#p2219101 ?

Offline

#116 2025-01-12 19:48:59

nek0panchi
Member
Registered: 2020-08-07
Posts: 6

Re: Issues with Mesa 24.3.x and amdgpu Vega graphics

seth wrote:

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

#117 2025-01-12 19:52:28

flemingfleming
Member
Registered: 2024-12-27
Posts: 3

Re: Issues with Mesa 24.3.x and amdgpu Vega graphics

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

#118 2025-01-12 19:54:46

Scimmia
Fellow
Registered: 2012-09-01
Posts: 12,252

Re: Issues with Mesa 24.3.x and amdgpu Vega graphics

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

#119 2025-01-12 20:36:25

flemingfleming
Member
Registered: 2024-12-27
Posts: 3

Re: Issues with Mesa 24.3.x and amdgpu Vega graphics

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

#120 2025-01-12 21:02:54

orbit-oc
Member
Registered: 2024-12-15
Posts: 40

Re: Issues with Mesa 24.3.x and amdgpu Vega graphics

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

#121 2025-01-12 21:23:58

Lone_Wolf
Administrator
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 13,155

Re: Issues with Mesa 24.3.x and amdgpu Vega graphics

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

#122 2025-01-13 11:27:08

Berni341
Member
Registered: 2024-12-09
Posts: 4

Re: Issues with Mesa 24.3.x and amdgpu Vega graphics

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

#123 2025-01-13 11:56:35

Lone_Wolf
Administrator
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 13,155

Re: Issues with Mesa 24.3.x and amdgpu Vega graphics

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

#124 2025-01-13 13:58:06

bernd_b
Member
Registered: 2013-07-30
Posts: 176

Re: Issues with Mesa 24.3.x and amdgpu Vega graphics

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

#125 2025-01-13 14:38:20

pacmancrashedagain
Member
Registered: 2024-12-14
Posts: 11

Re: Issues with Mesa 24.3.x and amdgpu Vega graphics

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

Board footer

Powered by FluxBB