Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

mesa: update to version 24.0.2. #48480

Merged
merged 1 commit into from
Mar 10, 2024

Conversation

SpidFightFR
Copy link
Contributor

@SpidFightFR SpidFightFR commented Feb 1, 2024

Testing the changes

  • I tested the changes in this PR: briefly

Local build testing

  • I built this PR locally for my native architecture, (x64-GlibC)

This is it, the new version of mesa, 24.0.0.
Do keep in mind that it requires libdrm-2.4.119 to work.
As a consequence, this PR will stay as draft for as long as libdrm hasn't been updated.
Edit: Also please check out the 23 branch as Void lacks several bugfixes for this branch.

I removed the patch to fix meson builds as it doesn't seem to be necessary anymore.

This version of mesa brings a lot of good stuff, Ray tracing performance improvements and such !

@SpidFightFR
Copy link
Contributor Author

Note: the builds (currently) fail because of libdrm, don't mind them, i'll force a push to re-try those when libdrm will be updated.

@classabbyamp
Copy link
Member

just put libdrm in this pr

@SpidFightFR
Copy link
Contributor Author

just put libdrm in this pr

But there's already another PR opened for that (#48170)...

@SpidFightFR
Copy link
Contributor Author

@classabbyamp hey sorry for the ping, but in either cases, we should integrate the 23 branch latest patches before getting our hands in mesa 24, void still runs 23.3.2 as of now, and thus misses a lot of bugfixes from upstream. 😅

As for libdrm, i can add it in this PR if you want to, it's up to you to tell me if maintainers want to merge lbdrm PR then mesa 24 or both all together. 😄

@SpidFightFR
Copy link
Contributor Author

Updated the template to include changes made here.

@zlice
Copy link
Contributor

zlice commented Feb 15, 2024

hey, 24.0.1 hit - f387192b08c471c545590dd12230a2a343244804b5fe866fec6aea02eab57613

@SpidFightFR
Copy link
Contributor Author

hey, 24.0.1 hit - f387192b08c471c545590dd12230a2a343244804b5fe866fec6aea02eab57613

Working on it, we still need that libdrm.

@zlice
Copy link
Contributor

zlice commented Feb 15, 2024

if it's easier to put in here, w/e i'll close mine

@SpidFightFR
Copy link
Contributor Author

if it's easier to put in here, w/e i'll close mine

Copy that.
I'll port your changes here.

@SpidFightFR
Copy link
Contributor Author

Testing the changes

  • I tested the changes in this PR: briefly

Local build testing

  • I built this PR locally for my native architecture, (x64-GlibC)

Modified PR for mesa 24.0.1.
I kept the removal of the patch to fix meson builds as it isn't necessary anymore.
Also thank you @zlice for your libdrm fix.

@dkwo
Copy link
Contributor

dkwo commented Feb 15, 2024

libdrm is now at 120, maybe you can rebase?

@SpidFightFR
Copy link
Contributor Author

SpidFightFR commented Feb 15, 2024

libdrm is now at 120, maybe you can rebase?

Yeah imma do this tomorrow, it's 1 AM at my place and i didn't get much sleep lately 🥲

Thanks for reminding me tho 👌

Update: it's done.

@SpidFightFR SpidFightFR force-pushed the update-mesa-24 branch 2 times, most recently from b2bdff0 to d8c5b74 Compare February 16, 2024 12:22
@SpidFightFR
Copy link
Contributor Author

Just testing stuff...

@SpidFightFR SpidFightFR changed the title mesa: update to version 24.0.0. mesa: update to version 24.0.1. Feb 16, 2024
@SpidFightFR
Copy link
Contributor Author

Nope, the aarch64 and arm builds are still broken, that reminds me of mesa 23...

@zlice
Copy link
Contributor

zlice commented Feb 16, 2024

i see build-helper/rust.sh : 28 has export BINDGEN_EXTRA_CLANG_ARGS+=" --sysroot=${XBPS_CROSS_BASE} -I${XBPS_CROSS_BASE}/usr/include"

not sure how or where that's used? 1 or 2 other templates seem to have the var.

try this in mesa template? idk rust really but quick search points to the bindgen cross build var (may want to do for only musl??? dont think it would matter but)

post_configure() {
  if [ "$CROSS_BUILD" ]; then
    find -iname "*.ninja" -exec sed -i "{}" \
      -e "/rustc/s; --sysroot ${XBPS_CROSS_BASE}/usr;;g" \
      \;
    BINDGEN_CFLAGS="--target=$XBPS_CROSS_TRIPLET \
      --sysroot=${XBPS_CROSS_BASE} ${BINDGEN_INCLUDE_FLAGS}"
  fi
}

@dkwo
Copy link
Contributor

dkwo commented Feb 16, 2024

Strangely aarch64-musl builds, but aarch64-glibc fails with

r/include/gnu/stubs.h:7:11: fatal error: 'gnu/stubs-32.h' file not found
clang diag: /usr/include/features.h:414:4: warning: _FORTIFY_SOURCE requires compiling with optimization (-O) [-W#warnings]
panicked at bindgen-cli/main.rs:52:36:
Unable to generate bindings: ClangDiagnostic("/usr/include/gnu/stubs.h:7:11: fatal error: 'gnu/stubs-32.h' file not found\n")
[2687/2874]

@zlice
Copy link
Contributor

zlice commented Feb 16, 2024

Strangely aarch64-musl builds, but aarch64-glibc fails with

oh ya, that is weird. i only looked at 1 of the errors but saw the last 1 was musl. fun

@SpidFightFR
Copy link
Contributor Author

i see build-helper/rust.sh : 28 has export BINDGEN_EXTRA_CLANG_ARGS+=" --sysroot=${XBPS_CROSS_BASE} -I${XBPS_CROSS_BASE}/usr/include"

not sure how or where that's used? 1 or 2 other templates seem to have the var.

try this in mesa template? idk rust really but quick search points to the bindgen cross build var (may want to do for only musl??? dont think it would matter but)

post_configure() {
  if [ "$CROSS_BUILD" ]; then
    find -iname "*.ninja" -exec sed -i "{}" \
      -e "/rustc/s; --sysroot ${XBPS_CROSS_BASE}/usr;;g" \
      \;
    BINDGEN_CFLAGS="--target=$XBPS_CROSS_TRIPLET \
      --sysroot=${XBPS_CROSS_BASE} ${BINDGEN_INCLUDE_FLAGS}"
  fi
}

trying that... let's see how this turns out.

@zlice
Copy link
Contributor

zlice commented Feb 16, 2024

naw it wont like dkwo just pointed out...thinking right above that checking for musl and unsetting or something

@zlice
Copy link
Contributor

zlice commented Feb 16, 2024

ok so this works for x86, a64, a7l

post_configure() {
  if [ "$CROSS_BUILD" ]; then
    find -iname "*.ninja" -exec sed -i "{}" \
      -e "/rustc/s; --sysroot ${XBPS_CROSS_BASE}/usr;;g" \
      -e "s|-isystem/usr/include||g" \
      \;
  fi
}

it looks like ninja build has -isystem/usr/include for everything, so aarch64 gets x86_64's gnu stub.h ... which wants -32, which a64 doesn't have.

screenshot ninja build llvm_bindings

systeminclude

@SpidFightFR
Copy link
Contributor Author

ok so this works for x86, a64, a7l

post_configure() {
  if [ "$CROSS_BUILD" ]; then
    find -iname "*.ninja" -exec sed -i "{}" \
      -e "/rustc/s; --sysroot ${XBPS_CROSS_BASE}/usr;;g" \
      -e "s|-isystem/usr/include||g" \
      \;
  fi
}

it looks like ninja build has -isystem/usr/include for everything, so aarch64 gets x86_64's gnu stub.h ... which wants -32, which a64 doesn't have.
screenshot ninja build llvm_bindings

systeminclude

Noice imma try that once back at home.

How do you manage to see all that? 😅
Like how do you do to make these patches and stuff?

@zlice
Copy link
Contributor

zlice commented Feb 16, 2024

i was looking at rust related stuff and cross args but none of that made a difference. then i saw -isystem... and thought it looked out of place just from doing build stuff over the years.

@SpidFightFR
Copy link
Contributor Author

i was looking at rust related stuff and cross args but none of that made a difference. then i saw -isystem... and thought it looked out of place just from doing build stuff over the years.

Wow...

I'm a noob at compiling stuff, it's always impressive to see other's experience, not gonna lie.

@dkwo
Copy link
Contributor

dkwo commented Feb 16, 2024

@zlice Do you think this line in

rust = ['rustc', '--target', '${RUST_TARGET}' ,'--sysroot', '${XBPS_CROSS_BASE}/usr']
is ignored, or somehow not passed over from meson to ninja?

@zlice
Copy link
Contributor

zlice commented Feb 16, 2024

@zlice Do you think this line in
is ignored, or somehow not passed over from meson to ninja?

there's sysroot and targets to aarch64 after configure. maybe the system includes happened to work last time? or the new rust update to 69 is just doing stuff different idk rust enough

@SpidFightFR SpidFightFR force-pushed the update-mesa-24 branch 2 times, most recently from c49576c to 90ffd78 Compare February 16, 2024 18:22
@SpidFightFR
Copy link
Contributor Author

ok so this works for x86, a64, a7l

post_configure() {
  if [ "$CROSS_BUILD" ]; then
    find -iname "*.ninja" -exec sed -i "{}" \
      -e "/rustc/s; --sysroot ${XBPS_CROSS_BASE}/usr;;g" \
      -e "s|-isystem/usr/include||g" \
      \;
  fi
}

it looks like ninja build has -isystem/usr/include for everything, so aarch64 gets x86_64's gnu stub.h ... which wants -32, which a64 doesn't have.
screenshot ninja build llvm_bindings

You just fixed mesa 24 on void, thanks !

@SpidFightFR SpidFightFR marked this pull request as ready for review February 16, 2024 18:43
@dkwo
Copy link
Contributor

dkwo commented Feb 16, 2024

can this be mesonbuild/meson#9993 ?

@SpidFightFR
Copy link
Contributor Author

If by chance a maintainer sees this, we should push 23.3.6 first before mesa 24.0.1, as it's the last bugfix release of the 23 branch according to the calendar, it's a 90%+ guarantee of it just working. 😄

@SpidFightFR
Copy link
Contributor Author

Testing the changes

  • I tested the changes in this PR: briefly

Local build testing

  • I built this PR locally for my native architecture, (x64-GlibC)

Modified PR for mesa 24.0.2.
Same as the previous edits.

@zlice
Copy link
Contributor

zlice commented Feb 28, 2024

looks the same on A770 for me 👍

@SpidFightFR SpidFightFR changed the title mesa: update to version 24.0.1. mesa: update to version 24.0.2. Feb 28, 2024
@SpidFightFR
Copy link
Contributor Author

SpidFightFR commented Feb 28, 2024

Hello, @classabbyamp, i hope you're doing great. 😄

Looks good on our sides, please, may you take a look at the PR ? 🙏

Edit: My apologies for the ping, i thought mesa 24 got underwhelmed by newer PRs.

@SpidFightFR
Copy link
Contributor Author

@Duncaen Hello, my apologizes for the ping, i feel like an a-hole, pinging you and bothering you all the time. 😓
I'm unsure what to do what to do in such a case, is everything good with this PR ? nothing missing ? 😅

Welp, sorry again for the ping, may you take a look at it please ? 🙏
Wish you, and the maintainer team, a great day!

@Daxot
Copy link
Contributor

Daxot commented Mar 9, 2024

@Duncaen Hello, my apologizes for the ping, i feel like an a-hole, pinging you and bothering you all the time. 😓 I'm unsure what to do what to do in such a case, is everything good with this PR ? nothing missing ? 😅

Welp, sorry again for the ping, may you take a look at it please ? 🙏 Wish you, and the maintainer team, a great day!

i think you will get a better luck to get maintainers attention to this PR in #xbps IRC-channel

@SpidFightFR
Copy link
Contributor Author

@Duncaen Hello, my apologizes for the ping, i feel like an a-hole, pinging you and bothering you all the time. 😓 I'm unsure what to do what to do in such a case, is everything good with this PR ? nothing missing ? 😅
Welp, sorry again for the ping, may you take a look at it please ? 🙏 Wish you, and the maintainer team, a great day!

i think you will get a better luck to get maintainers attention to this PR in #xbps IRC-channel

Agreed, i'll try here.

@SpidFightFR
Copy link
Contributor Author

Just added a patch as advised here.

@Johnnynator Johnnynator merged commit 47691bb into void-linux:master Mar 10, 2024
8 checks passed
@SpidFightFR SpidFightFR deleted the update-mesa-24 branch July 31, 2024 10:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants