Package Details: opencl-rusticl-mesa-minimal-git 24.3.0_devel.194673.5db135f66ad-2

Git Clone URL: https://aur.archlinux.org/mesa-minimal-git.git (read-only, click to copy)
Package Base: mesa-minimal-git
Description: OpenCL support in rust for mesa drivers (git version)
Upstream URL: https://www.mesa3d.org
Licenses: MIT AND BSD-3-Clause AND SGI-B-2.0
Conflicts: opencl-clover-mesa, opencl-rusticl-mesa
Provides: opencl-driver, opencl-rusticl-mesa
Submitter: shoober420
Maintainer: Lone_Wolf
Last Packager: Lone_Wolf
Votes: 11
Popularity: 0.020760
First Submitted: 2020-12-10 00:38 (UTC)
Last Updated: 2024-09-11 18:17 (UTC)

Required by (38)

Sources (1)

Pinned Comments

Lone_Wolf commented on 2023-05-22 12:07 (UTC) (edited on 2024-09-06 21:16 (UTC) by Lone_Wolf)

Build order

llvm-minimal-git
spirv-headers-git
spirv-llvm-translator-minimal-git
libclc-minimal-git
mesa-minimal-git

N.B. these packages are closely tied together, make sure you build all of them in a short period of time (worst case on my system is around 3 hours) .

Build frequency

I aim to build everything (including the lib32 part) atleast once a week.

How often you build this is a personal choice, but once a month is in my opinion the absolute minimum .

In that timeframe mesa will have seen almost 1k commits, llvm/clang gets more.

Lone_Wolf commented on 2021-01-22 18:36 (UTC) (edited on 2021-01-22 18:39 (UTC) by Lone_Wolf)

Why does this package hard depend on llvm-minimal-git ?

  • performance

archlinux repo packages are build with -march=x86-64 -mtune=generic which works on lots of machines but makes limited use of modern processor capabilities. For many packages this has little impact, but with llvm my experience is different.

My local builds for llvm / mesa are done with -march=native and this has a noticeable effect on their performance.

How big the benefit of this is depends heavily on the exact hardware you use. Worse, the software setup also impacts this. The only way to find out if it benefits your system/software setup is to try it out yourself.

  • easier maintenance and troubleshooting

Since i started my first mesa trunk package late in 2010 I have maintained versions without any llvm, one llvm implementation, split versions, singular versions, versions supporting multiple llvm implementations , switch from libgl hacks libglvnd to allow mesa & nvidia to cooperate etc.

Depending on one llvm variant in a non-splitted singular version results in a simple PKGBUILD that is easy to maintain.

Troubleshooting is also much easier if maintainer uses the same llvm variant as users.

If people feel those reasons are not good enough to hard depend on llvm-minimal-git , maybe I should transfer ownership .

Lone_Wolf commented on 2021-01-09 15:02 (UTC)

Why does this exist ?

Basically mesa/mesa-git build almost everything they can build.

This package tries to build just enough so everyone can use it, but disables older and/or unused components.

Check https://bbs.archlinux.org/viewtopic.php?id=261629 for a discussion about this package.

Latest Comments

1 2 3 4 5 6 .. 8 Next › Last »

Lone_Wolf commented on 2024-09-11 18:20 (UTC)

Thanks and confirmed.

Fixing was trickier then I hoped, but it works locally now.

Please try the latest (just uploaded) version.

karrypto commented on 2024-09-11 15:12 (UTC)

Currently conflicts with opencl-rusticl-mesa-minimal-git

Lone_Wolf commented on 2024-09-06 21:17 (UTC)

no more manual changes to PKGBUILD needed

Lone_Wolf commented on 2024-09-05 16:53 (UTC)

An expanded version of the patch has been merged upstream with MR 309080 .

DRI3 was removed from meson options with MR 30952

Other then removing prepare() and the line with dri3 no other changes should be necessary. I tested with llvm-libs-minimal-git 20.0.0_r510230.1293ab35e406-1 .

d3vilguard commented on 2024-09-05 15:19 (UTC) (edited on 2024-09-05 15:37 (UTC) by d3vilguard)

Cloning into 'mesa'...
done.
==> Starting prepare()...
patching file src/compiler/clc/clc_helpers.cpp
Hunk #1 FAILED at 889.
1 out of 1 hunk FAILED -- saving rejects to file src/compiler/clc/clc_helpers.cpp.rej
==> ERROR: A failure occurred in prepare().
    Aborting...
==> ERROR: Build failed, check /home/georgi/.chroot/georgi/build

dropped prepare to drop the patch, dropped dri3 (absolutely no idea why mason fails with dri3 if the patch isn't present), libclc, dropped all opencl parts in order to build. Guess llvm20-change-in-GetResourcesPath.patch needs updating.

d3vilguard commented on 2024-08-31 14:06 (UTC)

Build successful after the revert to Arch repo's glslang/spirv.

Lone_Wolf commented on 2024-08-30 23:27 (UTC) (edited on 2024-08-30 23:27 (UTC) by Lone_Wolf)

Package no longer depends on spirv-tools-git & glslang-minimal-git.

If upgrading gives issues you should act as if you're building it the first time.

Lone_Wolf commented on 2024-08-09 23:39 (UTC)

The build failure was caused by this llvm commit: https://github.com/llvm/llvm-project/commit/ccb2b011e577e861254f61df9c59494e9e122b38

It was reverted with https://github.com/llvm/llvm-project/commit/a15de177728ec83f37bdd8f39d4a8f57e95c3d21 due to build failures

I did a full rebuild without issues.

d3vilguard commented on 2024-08-09 14:08 (UTC)

Built today. Only tested DOOM Eternal and seems to be fine. Only did radeonsi/amd,swrast. Mesa-minimal-git compiled but had trouble moving opencl files to build the package. Removed all opencl related from the PKGBUILD. Built just fine afterwards.

wustdsh commented on 2024-08-09 13:17 (UTC)

build is broken:

/usr/include/llvm/Support/float128.h:18:18: error: use of undeclared identifier 'logf128'
panicked at bindgen-cli/main.rs:52:36:
Unable to generate bindings: ClangDiagnostic("/usr/include/llvm/Support/float128.h:18:18: error: use of undeclared identifier 'logf128'\n")