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: 23.0.3 -> 23.1.1 #233220

Merged
merged 5 commits into from
May 29, 2023
Merged

mesa: 23.0.3 -> 23.1.1 #233220

merged 5 commits into from
May 29, 2023

Conversation

yu-re-ka
Copy link
Contributor

@yu-re-ka yu-re-ka commented May 21, 2023

Description of changes

I remember something about .0 releases being not considered stable, so this is a draft

Things done
  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 23.05 Release Notes (or backporting 22.11 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
  • Fits CONTRIBUTING.md.

@vcunat
Copy link
Member

vcunat commented May 21, 2023

Yes, we've been avoiding .0 releases in nixpkgs.

@yu-re-ka
Copy link
Contributor Author

@ofborg build mesa_23_1

@RicArch97
Copy link
Contributor

RicArch97 commented May 26, 2023

Mesa 23.1.1 available now: https://lists.freedesktop.org/archives/mesa-dev/2023-May/226012.html

Was wondering if we should build Mesa with LLVM 16 now that we have it?

@yu-re-ka
Copy link
Contributor Author

@ofborg build mesa

@yu-re-ka yu-re-ka changed the title mesa: 23.0.3 -> 23.1.0 mesa: 23.0.3 -> 23.1.1 May 26, 2023
@yu-re-ka yu-re-ka marked this pull request as ready for review May 26, 2023 10:35
Comment on lines 217 to 218
# does not make any sense
"-Dandroid-libbacktrace=disabled"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: I'm not really a fan of that comment tbh because it makes a statement without any explanation/reasoning.
I assume android-libbacktrace is only useful for / only makes sense on Android?
Something like "# Only useful on Android:" would be a bit better IMO (but the current comment should be fine as well as android is in the name of the flag).

Makes me wonder why it's enabled by default though (is it even enabled on more platforms than aarch64?). Would be interesting if there's an upstream issue regarding this. (The Arch package sets that flag as well FWIW: https://gitlab.archlinux.org/archlinux/packaging/packages/mesa/-/blob/main/PKGBUILD)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Upstream has heuristics for enabling things that make sense on the platform where it is being built.
However we (and arch too?) use the meson auto_features flag (enabled by default in the meson setup-hook) which tries to automatically enable all possible flags.
I also ran into this when attempting to build on darwin, because there it enables lots of features that don't make sense on darwin.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah, that makes sense, thanks for the explanation! :)

@primeos
Copy link
Member

primeos commented May 27, 2023

Was wondering if we should build Mesa with LLVM 16 now that we have it?

IIRC newer LLVM versions are often required for additional features. Would be best if we had some more information on this for the current case of LLVM 16 though (as motivation for bumping the LLVM version).
But in any case: The LLVM version should definitely be bumped via a dedicated commit IMO (makes bisecting easier) - probably even outside of this PR so that we don't have all kinds of sources for regressions at once (it's outside the scope of this PR anyway as LLVM 16 isn't technically required for 23.1).

@yu-re-ka
Copy link
Contributor Author

BTW we can build mesa 23.1 for darwin with mesaAutoFeatures = "auto"; and -Dglx=disabled. I have no idea if the glx feature is critical on darwin.

@K900
Copy link
Contributor

K900 commented May 27, 2023

I'm not sure it is. It's not like we're getting any hardware acceleration out of Mesa on Darwin anyway.

@yu-re-ka
Copy link
Contributor Author

disabling glx means no libGL is produced

@alyssais
Copy link
Member

Can we just go back to a single default.nix for mesa now?

@alyssais
Copy link
Member

Is the cpio commit here by mistake?

@yu-re-ka
Copy link
Contributor Author

yes

@yu-re-ka
Copy link
Contributor Author

qt5.qtmultimedia -> gst-plugins-base -> libGL is a channel blocker for darwin

@yu-re-ka
Copy link
Contributor Author

@ofborg build gst_all_1.gst-plugins-base gst_all_1.gst-plugins-bad gst_all_1.gst-vaapi

@yu-re-ka
Copy link
Contributor Author

@ofborg build gst_all_1.gst-plugins-base gst_all_1.gst-plugins-bad gst_all_1.gst-vaapi SDL2

@yu-re-ka
Copy link
Contributor Author

✅ fixed evaluation of the darwin-tested jobset: nix-instantiate pkgs/top-level/release.nix -A darwin-tested --system x86_64-darwin

@K900
Copy link
Contributor

K900 commented May 28, 2023

Remaining mesa reverse dependencies on Darwin:

/nix/store/jd7nlp3y4j33srbjc0i1hsdyv9sa7y2d-libGL-23.1.1.drv 773
/nix/store/mdy8qlbil6v26jklfcddhy1l1k9cs4h5-cl-glfw-opengl-core-20150302-git.drv 345
/nix/store/i0aj8qjgkmc69lm2xdzwh9f6gilvsma2-wxwidgets-3.2.2.1.drv 71
/nix/store/b55gdfijsn844c759qmjsji0p9yf2a7s-gl2ps-1.4.2.drv 62
/nix/store/zk8p0dj2lwza7417rcn023mm1bvr5zga-cl-opengl-20191130-git.drv 54
/nix/store/khw3lq57qsdaa5p1qf3s953m00gf3zdd-SDL2_ttf-2.20.2.drv 35
/nix/store/ffs6846ymka4ln7rdf2lchmsmpqv394r-glu-9.0.2.drv 35
/nix/store/ifrc14r4dkwp5r0p0x0nkin64gk4ip5r-glfw-3.3.8.drv 14
/nix/store/i62307fx5xdfl3d2f5bjyh64gzd0qbnn-smpeg-0.4.5.drv 14
/nix/store/ms77yn9mp9wkk0rnc7qzj1z73yvynzgl-vtk-9.2.6.drv 14
/nix/store/6apfa2ikpazv9x9fd8s250p041abwqy5-xorg-server-21.1.8.drv 13
/nix/store/dpm61k8x28iwcw64qpnj4fwi0rl3prj4-python3.10-pyopengl-3.1.6.drv 10
/nix/store/51ma6983m5gl687d2famgzdjj0wbnv68-freeglut-3.4.0.drv 7
/nix/store/4r6ab16wb7mbqvn5c416g1yhzxgjbzwa-opencascade-occt-7.6.2.drv 7
/nix/store/1n3828z67h0s821jzlg0r7ia7r1pv6r3-SDL_compat-1.2.60.drv 5
/nix/store/9ws2zmsmwca0d0lly0xbig3qya9sb7ir-mplayer-unstable-2022-02-03.drv 5
/nix/store/7xixldk8hv2axjrq8l7ihys1ncxcv3sf-allegro-5.2.8.0.drv 4
/nix/store/qmm41v3rdrzx2crmisxvizrmaj3kps2q-dosbox-0.74-3.drv 4
/nix/store/6c40v0g2vbwc9af94drjnjz1wpdk0p3b-vtk-9.2.6.drv 4
/nix/store/0fjxznp62wrd7fh4c30pwqnci9x147i3-python3.11-pyopengl-3.1.6.drv 3
/nix/store/hpgnmh5pfs33m3abk5mwcah88ffwbiar-irrlichtmt-1.9.0mt10.drv 2
/nix/store/5xk3phsng4whlnw22j3216ccp866m3mh-openscenegraph-3.6.5.drv 2
/nix/store/h7ai5nbwg11n51q8aypcspnsnam9vchm-racket-8.9.drv 2
/nix/store/d0k24jvjl1d6i1d71ishd3w8v07d9hjw-python3.10-vispy-0.12.2.drv 2
/nix/store/gy7qsw05br1rb9glcdmilaccq26r10dd-python3.11-vispy-0.12.2.drv 2
/nix/store/pdcgvldm6zmzbw5ch5qff9pivw25vbpl-vtk-9.2.6.drv 2
/nix/store/3dx3y2fii1sgzbqg0pi1z5fw9y3x6d8i-recastai-unstable-2023-01-02.drv 2

@K900
Copy link
Contributor

K900 commented May 28, 2023

Maybe we can fix try fixing wxwidgets, the rest seems highly libgl specific.

@yu-re-ka
Copy link
Contributor Author

yu-re-ka commented May 29, 2023

I have tested locally that gst_all_1.gst-plugins-base, gst_all_1.gst-plugins-bad and SDL2 still build on darwin after removing the mesa buildInputs.
I am now sufficiently convinced we are not fundamentally breaking anything on darwin. Let's leave the rest to @NixOS/darwin-maintainers

@yu-re-ka yu-re-ka merged commit 4062535 into NixOS:staging May 29, 2023
@yu-re-ka yu-re-ka deleted the mesa-23-1 branch May 29, 2023 10:44
] ++ lib.optionals haveWayland [ wayland wayland-protocols ]
++ lib.optionals stdenv.isLinux [ libomxil-bellagio libva-minimal udev ]
++ lib.optionals stdenv.isDarwin [ libunwind ]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

libunwind was darwin-only and you made it unconditional. Was that intentional/required?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, this change was required to make it build

@yu-re-ka
Copy link
Contributor Author

yu-re-ka commented May 29, 2023

@wegank sorry but I already spent tens of hours booted in mac OS which made my wrists hurt, just to maintain something I will never use. We had several discussions in matrix and opened #233265 a week ago hoping that someone from the darwin team would engage, but nobody did. I even created a hack that would have made mesa 23.1 build on darwin, but this was considered too invasive by other contributers (e.g. "if it this fucked up it should be fixed upstream").

When we send emails to 56 people and nobody reacts at all after 8 days, I'd assume that a) nobody cares about mesa on darwin or b) nobody wants to put in time, and the conclusion from both is it's not sustainable to keep this around.

@SuperSamus
Copy link
Contributor

23.1.2 released.

@K900
Copy link
Contributor

K900 commented Jun 17, 2023

Already in staging-next.

@nixos-discourse
Copy link

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:

https://discourse.nixos.org/t/dont-understand-mesa-and-python-overlays-in-my-flake/32154/3

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

10 participants