* [bug#49339] [PATCH core-updates] gnu: mesa: Update to 21.1.4. @ 2021-07-02 15:10 Irfan S 2021-07-02 19:29 ` John Kehayias via Guix-patches via ` (4 more replies) 0 siblings, 5 replies; 19+ messages in thread From: Irfan S @ 2021-07-02 15:10 UTC (permalink / raw) To: 49339 diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm index cc5131b28d..bd4c8a381a 100644 --- a/gnu/packages/gl.scm +++ b/gnu/packages/gl.scm @@ -237,7 +237,7 @@ also known as DXTn or DXTC) for Mesa.") (define-public mesa (package (name "mesa") - (version "20.2.6") + (version "21.1.4") (source (origin (method url-fetch) @@ -249,9 +249,7 @@ also known as DXTn or DXTC) for Mesa.") version "/mesa-" version ".tar.xz"))) (sha256 (base32 - "1nw5k2qrlcrp5bljy1lmyybgl525y0h44synkbbirw92qv3a6b7i")) - (patches - (search-patches "mesa-skip-tests.patch")))) + "02z9g6zpkg1p1sm8f84xdi7v2n7x534x9pn565bvcr411527y5qz")))) (build-system meson-build-system) (propagated-inputs `(;; The following are in the Requires.private field of gl.pc. @@ -278,7 +276,9 @@ also known as DXTn or DXTC) for Mesa.") (_ `())) ("wayland" ,wayland) - ("wayland-protocols" ,wayland-protocols))) + ("wayland-protocols" ,wayland-protocols) + ("libglvnd" ,libglvnd) ;required for glvnd support + ("libclc" ,libclc))) ;required for opencl support (native-inputs `(("bison" ,bison) ("flex" ,flex) @@ -307,15 +307,16 @@ also known as DXTn or DXTC) for Mesa.") ;; omx requires libomxil-bellagio "-Dplatforms=x11,wayland" "-Dglx=dri" ;Thread Local Storage, improves performance - ;; "-Dopencl=true" + "-Dopencl=true" ;; "-Domx=true" - "-Dosmesa=gallium" - "-Dgallium-xa=enabled" + "-Dosmesa=true" + "-Dgallium-xa=true" + "-Dglvnd=true" ;; features required by wayland - "-Dgles2=enabled" - "-Dgbm=enabled" - "-Dshared-glapi=enabled" + "-Dgles2=true" + "-Dgbm=true" + "-Dshared-glapi=true" ;; Explicitly enable Vulkan on some architectures. ,@(match (%current-system) @@ -417,8 +418,8 @@ also known as DXTn or DXTC) for Mesa.") (let ((out (assoc-ref outputs "out")) (bin (assoc-ref outputs "bin"))) ;; Not all architectures have the Vulkan overlay control script. - (mkdir-p (string-append bin "/bin")) - (call-with-output-file (string-append bin "/bin/.empty") + (mkdir-p (string-append out "/bin")) + (call-with-output-file (string-append out "/bin/.empty") (const #t)) (copy-recursively (string-append out "/bin") (string-append bin "/bin")) diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm index 97fc921436..f7b4e95b9c 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -638,7 +638,7 @@ rasterisation.") (define-public libdrm (package (name "libdrm") - (version "2.4.104") + (version "2.4.106") (source (origin (method url-fetch) (uri (string-append @@ -646,7 +646,7 @@ rasterisation.") version ".tar.xz")) (sha256 (base32 - "1jqvx9c23hgwhq109zqj6vg3ng40pcvh3r1k2fn1a424qasxhsnn")))) + "1m3vwpabjg3az84vmyxi96jyd7rrqm6qkhk1gq41w5wv89aarn4j")))) (build-system meson-build-system) (arguments `(#:configure-flags @@ -663,7 +663,8 @@ rasterisation.") (replace 'check (lambda _ (invoke "meson" "test" "--timeout-multiplier" "5")))))) - (inputs + (propagated-inputs + ;; libpciaccess is in Requires.private of libdrm_intel.pc `(("libpciaccess" ,libpciaccess))) (native-inputs `(("pkg-config" ,pkg-config))) ^ permalink raw reply related [flat|nested] 19+ messages in thread
* [bug#49339] [PATCH core-updates] gnu: mesa: Update to 21.1.4. 2021-07-02 15:10 [bug#49339] [PATCH core-updates] gnu: mesa: Update to 21.1.4 Irfan S @ 2021-07-02 19:29 ` John Kehayias via Guix-patches via 2021-07-05 15:35 ` John Kehayias via Guix-patches via ` (3 subsequent siblings) 4 siblings, 0 replies; 19+ messages in thread From: John Kehayias via Guix-patches via @ 2021-07-02 19:29 UTC (permalink / raw) To: 49339@debbugs.gnu.org I can confirm this builds for me on different computers as well, and would be great to have updated in guix. This is a bigger version jump since the current version is more than 6 months old and upstream continues with frequent bug fix releases. ^ permalink raw reply [flat|nested] 19+ messages in thread
* [bug#49339] [PATCH core-updates] gnu: mesa: Update to 21.1.4. 2021-07-02 15:10 [bug#49339] [PATCH core-updates] gnu: mesa: Update to 21.1.4 Irfan S 2021-07-02 19:29 ` John Kehayias via Guix-patches via @ 2021-07-05 15:35 ` John Kehayias via Guix-patches via 2021-07-08 1:35 ` John Kehayias via Guix-patches via 2021-07-13 4:45 ` [bug#49339] Irfan S ` (2 subsequent siblings) 4 siblings, 1 reply; 19+ messages in thread From: John Kehayias via Guix-patches via @ 2021-07-05 15:35 UTC (permalink / raw) To: 49339@debbugs.gnu.org libepoxy doesn't build (patch paths?). On #guix there was discussion of fixing these problems, could an updated patch be sent here for testing? ^ permalink raw reply [flat|nested] 19+ messages in thread
* [bug#49339] [PATCH core-updates] gnu: mesa: Update to 21.1.4. 2021-07-05 15:35 ` John Kehayias via Guix-patches via @ 2021-07-08 1:35 ` John Kehayias via Guix-patches via 2021-07-08 2:24 ` John Kehayias via Guix-patches via 2021-07-08 20:55 ` Maxime Devos 0 siblings, 2 replies; 19+ messages in thread From: John Kehayias via Guix-patches via @ 2021-07-08 1:35 UTC (permalink / raw) To: 49339@debbugs.gnu.org ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐ On Monday, July 5th, 2021 at 11:35 AM: > libepoxy doesn't build (patch paths?). On #guix there was discussion of fixing these problems, could an updated patch be sent here for testing? This was easy to solve: I switched where libepoxy was looking for EGL and GL libraries to use libglvnd rather than mesa, as well as adding libglvnd as an input. Also added libglvnd as an input into xorg-server. Looking at other packages that depend on e.g. libepoxy/mesa/etc. seems like many will need libglvnd as an input now? Is that what we want to move to (I take it is optional, but perhaps a move in the right direction)? In either case, I'd love to see this in core-updates so we can make fixes to dependent packages as needed, since there are many that depend on mesa, libepoxy, xorg-server, and so on. ^ permalink raw reply [flat|nested] 19+ messages in thread
* [bug#49339] [PATCH core-updates] gnu: mesa: Update to 21.1.4. 2021-07-08 1:35 ` John Kehayias via Guix-patches via @ 2021-07-08 2:24 ` John Kehayias via Guix-patches via 2021-07-08 15:40 ` John Kehayias via Guix-patches via 2021-07-08 20:55 ` Maxime Devos 1 sibling, 1 reply; 19+ messages in thread From: John Kehayias via Guix-patches via @ 2021-07-08 2:24 UTC (permalink / raw) To: 49339@debbugs.gnu.org ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐ On Wednesday, July 7th, 2021 at 9:35 PM: > ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐ > > On Monday, July 5th, 2021 at 11:35 AM: > > > libepoxy doesn't build (patch paths?). On #guix there was discussion of fixing these problems, could an updated patch be sent here for testing? > > This was easy to solve: I switched where libepoxy was looking for EGL and GL libraries to use libglvnd rather than mesa, as well as adding libglvnd as an input. Also added libglvnd as an input into xorg-server. > > Looking at other packages that depend on e.g. libepoxy/mesa/etc. seems like many will need libglvnd as an input now? Is that what we want to move to (I take it is optional, but perhaps a move in the right direction)? > > In either case, I'd love to see this in core-updates so we can make fixes to dependent packages as needed, since there are many that depend on mesa, libepoxy, xorg-server, and so on. As a followup, looks like libglvnd is optional for building mesa, and without that change I think it is just a drop in version bump. I'm not sure about dependents generally, but libepoxy and xorg-server needed no changes. So, shall we reduce this patch to just a Mesa update, and then libglvnd as a separate issue? I think that one would require changing/adding inputs to all GL packages, as they should link to libglvnd rather than any vendor's GL directly, if I understand correctly. With just a version change I think this should be easily merged, can anyone else weigh in on that? ^ permalink raw reply [flat|nested] 19+ messages in thread
* [bug#49339] [PATCH core-updates] gnu: mesa: Update to 21.1.4. 2021-07-08 2:24 ` John Kehayias via Guix-patches via @ 2021-07-08 15:40 ` John Kehayias via Guix-patches via 0 siblings, 0 replies; 19+ messages in thread From: John Kehayias via Guix-patches via @ 2021-07-08 15:40 UTC (permalink / raw) To: 49339@debbugs.gnu.org [-- Attachment #1: Type: text/plain, Size: 784 bytes --] Hello, Here is a patch for just the minimal Mesa version bump. I reverted option changes to match the previous version (and wasn't sure with there being a mesa-opencl package already). All Mesa tests pass for me too (on x86_64), so mesa-skip-tests.patch is not applied, as per original patch here. src/compiler/glsl/tests/cache_test.c has moved to src/util/tests/cache and has changed. However, the test works for me (compiling on foreign distro). The i686 part of the patch can still be applied, but will need someone to test. This is just the Mesa change, it relies on libdrm update in https://issues.guix.gnu.org/49412 I think other than the tests patch, should be good to go, can someone review and check the i686 patch so we can move ahead with this? Thanks, John [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: 0001-gnu-mesa-Update-to-21.1.4.patch --] [-- Type: text/x-patch; name=0001-gnu-mesa-Update-to-21.1.4.patch, Size: 2200 bytes --] From a67d3224c13e6a3339865177d3a54489f5d0f582 Mon Sep 17 00:00:00 2001 From: John Kehayias <john.kehayias@protonmail.com> Date: Thu, 8 Jul 2021 11:15:48 -0400 Subject: [PATCH] gnu: mesa: Update to 21.1.4. * gnu/packages/gl.scm (mesa): Update to 21.1.4. --- gnu/packages/gl.scm | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm index cc5131b28d..70762faefd 100644 --- a/gnu/packages/gl.scm +++ b/gnu/packages/gl.scm @@ -237,7 +237,7 @@ also known as DXTn or DXTC) for Mesa.") (define-public mesa (package (name "mesa") - (version "20.2.6") + (version "21.1.4") (source (origin (method url-fetch) @@ -249,9 +249,7 @@ also known as DXTn or DXTC) for Mesa.") version "/mesa-" version ".tar.xz"))) (sha256 (base32 - "1nw5k2qrlcrp5bljy1lmyybgl525y0h44synkbbirw92qv3a6b7i")) - (patches - (search-patches "mesa-skip-tests.patch")))) + "02z9g6zpkg1p1sm8f84xdi7v2n7x534x9pn565bvcr411527y5qz")))) (build-system meson-build-system) (propagated-inputs `(;; The following are in the Requires.private field of gl.pc. @@ -309,7 +307,7 @@ also known as DXTn or DXTC) for Mesa.") "-Dglx=dri" ;Thread Local Storage, improves performance ;; "-Dopencl=true" ;; "-Domx=true" - "-Dosmesa=gallium" + "-Dosmesa=true" "-Dgallium-xa=enabled" ;; features required by wayland @@ -417,8 +415,8 @@ also known as DXTn or DXTC) for Mesa.") (let ((out (assoc-ref outputs "out")) (bin (assoc-ref outputs "bin"))) ;; Not all architectures have the Vulkan overlay control script. - (mkdir-p (string-append bin "/bin")) - (call-with-output-file (string-append bin "/bin/.empty") + (mkdir-p (string-append out "/bin")) + (call-with-output-file (string-append out "/bin/.empty") (const #t)) (copy-recursively (string-append out "/bin") (string-append bin "/bin")) -- 2.32.0 ^ permalink raw reply related [flat|nested] 19+ messages in thread
* [bug#49339] [PATCH core-updates] gnu: mesa: Update to 21.1.4. 2021-07-08 1:35 ` John Kehayias via Guix-patches via 2021-07-08 2:24 ` John Kehayias via Guix-patches via @ 2021-07-08 20:55 ` Maxime Devos 2021-07-09 2:41 ` John Kehayias via Guix-patches via 1 sibling, 1 reply; 19+ messages in thread From: Maxime Devos @ 2021-07-08 20:55 UTC (permalink / raw) To: John Kehayias, 49339@debbugs.gnu.org [-- Attachment #1: Type: text/plain, Size: 1073 bytes --] John Kehayias via Guix-patches via schreef op do 08-07-2021 om 01:35 [+0000]: > ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐ > > On Monday, July 5th, 2021 at 11:35 AM: > > > libepoxy doesn't build (patch paths?). On #guix there was discussion of fixing these problems, could an updated patch be sent here for testing? > > This was easy to solve: I switched where libepoxy was looking for EGL and GL libraries to use libglvnd rather than mesa, as well as adding libglvnd as an input. Also added libglvnd as an input into xorg-server. > > Looking at other packages that depend on e.g. libepoxy/mesa/etc. seems like many will need libglvnd as an input now? Is that what we want to move to (I take it is optional, but perhaps a move in the right direction)? If with this update of mesa, (almost) every package using mesa also needs libglvnd, then why not add 'libglvnd' to the propagated-inputs mesa, for about the same reasons that 'atk' has 'glib' in 'propagated-inputs'? Not sure if the comparison applies though. Greetings, Maxime [-- Attachment #2: This is a digitally signed message part --] [-- Type: application/pgp-signature, Size: 260 bytes --] ^ permalink raw reply [flat|nested] 19+ messages in thread
* [bug#49339] [PATCH core-updates] gnu: mesa: Update to 21.1.4. 2021-07-08 20:55 ` Maxime Devos @ 2021-07-09 2:41 ` John Kehayias via Guix-patches via 2021-07-09 12:48 ` Maxime Devos 0 siblings, 1 reply; 19+ messages in thread From: John Kehayias via Guix-patches via @ 2021-07-09 2:41 UTC (permalink / raw) To: Maxime Devos; +Cc: 49339@debbugs.gnu.org ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐ On Thursday, July 8th, 2021 at 4:55 PM, Maxime Devos wrote: > John Kehayias via Guix-patches via schreef op do 08-07-2021 om 01:35 [+0000]: > > > ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐ > > > > On Monday, July 5th, 2021 at 11:35 AM: > > > > > libepoxy doesn't build (patch paths?). On #guix there was discussion of fixing these problems, could an updated patch be sent here for testing? > > > > This was easy to solve: I switched where libepoxy was looking for EGL and GL libraries to use libglvnd rather than mesa, as well as adding libglvnd as an input. Also added libglvnd as an input into xorg-server. > > > > Looking at other packages that depend on e.g. libepoxy/mesa/etc. seems like many will need libglvnd as an input now? Is that what we want to move to (I take it is optional, but perhaps a move in the right direction)? > > If with this update of mesa, (almost) every package using mesa also needs libglvnd, > > then why not add 'libglvnd' to the propagated-inputs mesa, for about the same reasons > > that 'atk' has 'glib' in 'propagated-inputs'? > > Not sure if the comparison applies though. > > Greetings, > > Maxime Hi Maxime, That sounds like a good idea, but I think there may be some kinks to work out. Adding libglvnd to propagated-inputs of Mesa does lead to the successful building of dependents (tested on libepoxy and virtualgl, for example). However, libepoxy fails on a test because it doesn't find libGL. That is no longer in Mesa's lib but from libglvnd if I'm understanding correctly. May just be a problem with the test since building works (which checks for GL). Anyway, perhaps we want to tackle libglvnd separately? I don't think it is specific to the Mesa version change, but more of how we want to handle gl across packages. Still, it will involve changes to how we build Mesa as well as possibly other packages. I'm not sure that the Mesa version change will require other changes in dependent packages (I can only test a few on my own). How do you think we should proceed? John ^ permalink raw reply [flat|nested] 19+ messages in thread
* [bug#49339] [PATCH core-updates] gnu: mesa: Update to 21.1.4. 2021-07-09 2:41 ` John Kehayias via Guix-patches via @ 2021-07-09 12:48 ` Maxime Devos 2021-07-09 15:34 ` John Kehayias via Guix-patches via 0 siblings, 1 reply; 19+ messages in thread From: Maxime Devos @ 2021-07-09 12:48 UTC (permalink / raw) To: John Kehayias; +Cc: 49339@debbugs.gnu.org [-- Attachment #1: Type: text/plain, Size: 2691 bytes --] John Kehayias schreef op vr 09-07-2021 om 02:41 [+0000]: > [...] > > If with this update of mesa, (almost) every package using mesa also needs libglvnd, > > > > then why not add 'libglvnd' to the propagated-inputs mesa, for about the same reasons > > > > that 'atk' has 'glib' in 'propagated-inputs'? > > > > Not sure if the comparison applies though. > > [...] > That sounds like a good idea, but I think there may be some kinks to work out. Adding libglvnd to propagated-inputs of Mesa does lead to the successful building of dependents (tested on libepoxy and virtualgl, for example). > However, libepoxy fails on a test because it doesn't find libGL. > That is no longer in Mesa's lib but from libglvnd if I'm understanding correctly. May just be a problem with the test since building works (which checks for GL). Warning: I've no idea how building mesa and libglvnd works, how linking against mesa and libglvnd works, and how mesa and libglvnd work, besides ‘you can use the GL_... functions to do GL stuff’. That said, it appears some package definitions expect "libGL.so" to be in mesa. (Search for "/lib/libGL" and "lib/libEGL" with 'git grep -F"'). I've found about twenty such occurences, including libepoxy. So it appears that adding libglvnd to the propagated-inputs and fixing these twenty package definitions should be doable. Looking at libepoxy in particular: (let ((python (assoc-ref inputs "python")) (mesa (assoc-ref inputs "mesa"))) (substitute* "src/gen_dispatch.py" (("/usr/bin/env python") python)) (substitute* (find-files "." "\\.[ch]$") (("libGL.so.1") (string-append mesa "/lib/libGL.so.1")) (("libEGL.so.1") (string-append mesa "/lib/libEGL.so.1"))) #t)))))) it seems like the test failure isn't a false positive, as libGL.so.1 is searched for in the wrong location. > > Anyway, perhaps we want to tackle libglvnd separately? I don't think it is specific to the Mesa version change, but more of how we want to handle gl across packages. Still, it will involve changes to how we build Mesa as well as possibly other packages. I'm not sure that the Mesa version change will require other changes in dependent packages (I can only test a few on my own). > > How do you think we should proceed? I'd suggest adding libglvnd to propagated-inputs and adjusting the twenty package definitions to refer to libglvnd, and testing some graphical applications. "mesa-utils" has "glxdemo" and "glxheads" and has few dependencies, maybe start with that? Greetings, Maxime. [-- Attachment #2: This is a digitally signed message part --] [-- Type: application/pgp-signature, Size: 260 bytes --] ^ permalink raw reply [flat|nested] 19+ messages in thread
* [bug#49339] [PATCH core-updates] gnu: mesa: Update to 21.1.4. 2021-07-09 12:48 ` Maxime Devos @ 2021-07-09 15:34 ` John Kehayias via Guix-patches via 2021-07-13 15:42 ` John Kehayias via Guix-patches via 0 siblings, 1 reply; 19+ messages in thread From: John Kehayias via Guix-patches via @ 2021-07-09 15:34 UTC (permalink / raw) To: Maxime Devos; +Cc: 49339@debbugs.gnu.org ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐ On Friday, July 9th, 2021 at 8:48 AM, Maxime Devos wrote: > Warning: I've no idea how building mesa and libglvnd works, > > how linking against mesa and libglvnd works, and how mesa and libglvnd > > work, besides ‘you can use the GL_... functions to do GL stuff’. > No worries, I also know very little here (just learning about libglvnd), so I'm no expert. However, I think it will be a little more complicated because libglvnd is meant to dispatch to a vendor's GL libraries at runtime. Meaning it will need to know where these libraries exist, which may require some changes for Guix. > That said, it appears some package definitions expect "libGL.so" to be in mesa. > > (Search for "/lib/libGL" and "lib/libEGL" with 'git grep -F"'). > > I've found about twenty such occurences, including libepoxy. > > So it appears that adding libglvnd to the propagated-inputs and fixing > > these twenty package definitions should be doable. > > Looking at libepoxy in particular: > > (let ((python (assoc-ref inputs "python")) > > (mesa (assoc-ref inputs "mesa"))) > > (substitute* "src/gen_dispatch.py" > > (("/usr/bin/env python") python)) > > (substitute* (find-files "." "\\.[ch]$") > > (("libGL.so.1") (string-append mesa "/lib/libGL.so.1")) > > (("libEGL.so.1") (string-append mesa "/lib/libEGL.so.1"))) > > #t)))))) > > it seems like the test failure isn't a false positive, as libGL.so.1 is searched > > for in the wrong location. > While I think getting builds and tests to pass is not so bad, I don't know that it will actually work the way it is supposed to (see above). I'm also a bit limited in what I can test directly. (For one thing, I'm on a foreign distro right now, which complicates GL testing. For example, Nix has https://github.com/guibou/nixGL for the "OpenGL problem" which may be something we should look at for this as well.) > > Anyway, perhaps we want to tackle libglvnd separately? I don't think it is specific to the Mesa version change, but more of how we want to handle gl across packages. Still, it will involve changes to how we build Mesa as well as possibly other packages. I'm not sure that the Mesa version change will require other changes in dependent packages (I can only test a few on my own). > > > > How do you think we should proceed? > > I'd suggest adding libglvnd to propagated-inputs > > and adjusting the twenty package definitions to refer > > to libglvnd, and testing some graphical applications. > > "mesa-utils" has "glxdemo" and "glxheads" and has few dependencies, > > maybe start with that? > The more I think about it, the more I think we should tackle a change to Guix's GL system separately. The original patch enabled libglvnd in Mesa, but that has been around for a while and is not new to 21.1.x. I worry doing them at the same time would introduce two sources for anything breaking, though I hope the move to 21.1.x doesn't require any big changes elsewhere. Personally, I'd like to see Mesa 21.1.x updated and make sure dependents are okay. We can then have a separate patch series that enables libglvnd in Mesa and adjusts all packages. We would need some people who can test that actually use different GL vendors to see that libglvnd does what it is supposed to. Perhaps Irfan can weigh in, since in their original patch they did have libglvnd and may have tested that it works. Any experts on Mesa/libglvnd here to chime in? Is the minimal Mesa version update patch okay if we want to libglvnd separately? Thanks, John ^ permalink raw reply [flat|nested] 19+ messages in thread
* [bug#49339] [PATCH core-updates] gnu: mesa: Update to 21.1.4. 2021-07-09 15:34 ` John Kehayias via Guix-patches via @ 2021-07-13 15:42 ` John Kehayias via Guix-patches via 2021-07-13 16:26 ` John Kehayias via Guix-patches via 0 siblings, 1 reply; 19+ messages in thread From: John Kehayias via Guix-patches via @ 2021-07-13 15:42 UTC (permalink / raw) To: 49339@debbugs.gnu.org; +Cc: Maxime Devos Hi everyone, Final update, we still need the mesa-skip-tests.patch, but only for the i686 part (second half). The other part of the patch is not needed as the test passes. Here is the final version of the patch to just update Mesa to 21.1.4. Note this depends on the libdrm update of https://issues.guix.gnu.org/49412 Mesa builds as well as descendants I've tried (like xorg and friends). Shall we get this merged and set the libglvnd updates after (in case we run into the core-updates freeze)? That would work well for me at least. Thanks everyone, John ^ permalink raw reply [flat|nested] 19+ messages in thread
* [bug#49339] [PATCH core-updates] gnu: mesa: Update to 21.1.4. 2021-07-13 15:42 ` John Kehayias via Guix-patches via @ 2021-07-13 16:26 ` John Kehayias via Guix-patches via 2021-07-27 21:54 ` John Kehayias via Guix-patches via 0 siblings, 1 reply; 19+ messages in thread From: John Kehayias via Guix-patches via @ 2021-07-13 16:26 UTC (permalink / raw) To: 49339@debbugs.gnu.org; +Cc: Maxime Devos ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐ On Tuesday, July 13th, 2021 at 11:42 AM, John Kehayias <john.kehayias@protonmail.com> wrote: > Hi everyone, > > Final update, we still need the mesa-skip-tests.patch, but only for the i686 part (second half). The other part of the patch is not needed as the test passes. > > Here is the final version of the patch to just update Mesa to 21.1.4. Note this depends on the libdrm update of https://issues.guix.gnu.org/49412 Mesa builds as well as descendants I've tried (like xorg and friends). > > Shall we get this merged and set the libglvnd updates after (in case we run into the core-updates freeze)? That would work well for me at least. > > Thanks everyone, > > John I forgot the copyright line, though I think this should be for Irfan. Here is mine, just in case: diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm index cc5131b28d..f9b6ed9891 100644 --- a/gnu/packages/gl.scm +++ b/gnu/packages/gl.scm @@ -15,6 +15,7 @@ ;;; Copyright © 2020 Giacomo Leidi <goodoldpaul@autistici.org> ;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2020 Kei Kebreau <kkebreau@posteo.net> +;;; Copyright © 2021 John Kehayias <john.kehayias@protonmail.com> ;;; ;;; This file is part of GNU Guix. ;;; ^ permalink raw reply related [flat|nested] 19+ messages in thread
* [bug#49339] [PATCH core-updates] gnu: mesa: Update to 21.1.4. 2021-07-13 16:26 ` John Kehayias via Guix-patches via @ 2021-07-27 21:54 ` John Kehayias via Guix-patches via 0 siblings, 0 replies; 19+ messages in thread From: John Kehayias via Guix-patches via @ 2021-07-27 21:54 UTC (permalink / raw) To: 49339@debbugs.gnu.org; +Cc: Ricardo Wurmus, Maxime Devos [-- Attachment #1: Type: text/plain, Size: 1618 bytes --] > ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐ > > On Tuesday, July 13th, 2021 at 11:42 AM, John Kehayias wrote: > > > Hi everyone, > > > > Final update, we still need the mesa-skip-tests.patch, but only for the i686 part (second half). The other part of the patch is not needed as the test passes. > > > > Here is the final version of the patch to just update Mesa to 21.1.4. Note this depends on the libdrm update of https://issues.guix.gnu.org/49412 Mesa builds as well as descendants I've tried (like xorg and friends). > > > > Shall we get this merged and set the libglvnd updates after (in case we run into the core-updates freeze)? That would work well for me at least. > > > > Thanks everyone, > > > > John > > I forgot the copyright line, though I think this should be for Irfan. Here is mine, just in case: > > diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm > > index cc5131b28d..f9b6ed9891 100644 > > --- a/gnu/packages/gl.scm > > +++ b/gnu/packages/gl.scm > > @@ -15,6 +15,7 @@ > > ;;; Copyright © 2020 Giacomo Leidi goodoldpaul@autistici.org > > ;;; Copyright © 2020 Maxim Cournoyer maxim.cournoyer@gmail.com > > ;;; Copyright © 2020 Kei Kebreau kkebreau@posteo.net > > +;;; Copyright © 2021 John Kehayias john.kehayias@protonmail.com > > ;;; > > ;;; This file is part of GNU Guix. > > ;;; Apologies, the full patch was missing before. It is attached as v2 with changes noted previously (would be great to give Irfan credit here as well). Still depends on libdrm being updated, see https://issues.guix.gnu.org/49412 Thanks! John [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: gnu-mesa-Update-to-21.1.4-v2.patch --] [-- Type: text/x-patch; name=gnu-mesa-Update-to-21.1.4-v2.patch, Size: 3595 bytes --] * gnu/packages/gl.scm (mesa): Update to 21.1.4. * gnu/packages/patches/mesa-skip-tests.patch: Remove cache_test.c as it is no longer needed (test passes). --- gnu/packages/gl.scm | 11 ++++++----- gnu/packages/patches/mesa-skip-tests.patch | 20 -------------------- 2 files changed, 6 insertions(+), 25 deletions(-) diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm index cc5131b28d..f9b6ed9891 100644 --- a/gnu/packages/gl.scm +++ b/gnu/packages/gl.scm @@ -15,6 +15,7 @@ ;;; Copyright © 2020 Giacomo Leidi <goodoldpaul@autistici.org> ;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2020 Kei Kebreau <kkebreau@posteo.net> +;;; Copyright © 2021 John Kehayias <john.kehayias@protonmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -237,7 +238,7 @@ also known as DXTn or DXTC) for Mesa.") (define-public mesa (package (name "mesa") - (version "20.2.6") + (version "21.1.4") (source (origin (method url-fetch) @@ -249,7 +250,7 @@ also known as DXTn or DXTC) for Mesa.") version "/mesa-" version ".tar.xz"))) (sha256 (base32 - "1nw5k2qrlcrp5bljy1lmyybgl525y0h44synkbbirw92qv3a6b7i")) + "02z9g6zpkg1p1sm8f84xdi7v2n7x534x9pn565bvcr411527y5qz")) (patches (search-patches "mesa-skip-tests.patch")))) (build-system meson-build-system) @@ -309,7 +310,7 @@ also known as DXTn or DXTC) for Mesa.") "-Dglx=dri" ;Thread Local Storage, improves performance ;; "-Dopencl=true" ;; "-Domx=true" - "-Dosmesa=gallium" + "-Dosmesa=true" "-Dgallium-xa=enabled" ;; features required by wayland @@ -417,8 +418,8 @@ also known as DXTn or DXTC) for Mesa.") (let ((out (assoc-ref outputs "out")) (bin (assoc-ref outputs "bin"))) ;; Not all architectures have the Vulkan overlay control script. - (mkdir-p (string-append bin "/bin")) - (call-with-output-file (string-append bin "/bin/.empty") + (mkdir-p (string-append out "/bin")) + (call-with-output-file (string-append out "/bin/.empty") (const #t)) (copy-recursively (string-append out "/bin") (string-append bin "/bin")) diff --git a/gnu/packages/patches/mesa-skip-tests.patch b/gnu/packages/patches/mesa-skip-tests.patch index 2622d5d312..8f587ea7ef 100644 --- a/gnu/packages/patches/mesa-skip-tests.patch +++ b/gnu/packages/patches/mesa-skip-tests.patch @@ -1,23 +1,3 @@ -disk_cache_create() here looks up the users home directory from <pwd.h> -which resolves to "/" in the build environment. I could not find an easy -way to set the home directory to something else, so we disable this test -for now. - ---- a/src/compiler/glsl/tests/cache_test.c -+++ b/src/compiler/glsl/tests/cache_test.c -@@ -170,11 +170,6 @@ - unsetenv("MESA_GLSL_CACHE_DIR"); - unsetenv("XDG_CACHE_HOME"); - -- cache = disk_cache_create("test", "make_check", 0); -- expect_non_null(cache, "disk_cache_create with no environment variables"); -- -- disk_cache_destroy(cache); -- - /* Test with XDG_CACHE_HOME set */ - setenv("XDG_CACHE_HOME", CACHE_TEST_TMP "/xdg-cache-home", 1); - cache = disk_cache_create("test", "make_check", 0); - This test fails on i686-linux. I couldn't come up with a regex that could be used to disable it just on i686-linux, so we disable it completely with this patch: -- 2.32.0 ^ permalink raw reply related [flat|nested] 19+ messages in thread
* [bug#49339] 2021-07-02 15:10 [bug#49339] [PATCH core-updates] gnu: mesa: Update to 21.1.4 Irfan S 2021-07-02 19:29 ` John Kehayias via Guix-patches via 2021-07-05 15:35 ` John Kehayias via Guix-patches via @ 2021-07-13 4:45 ` Irfan S 2021-07-28 21:35 ` [bug#49339] [PATCH core-updates] gnu: mesa: Update to 21.1.4 Kaelyn via Guix-patches via 2021-07-29 4:52 ` [bug#49339] [PATCH core-updates] gnu: mesa: Update to 21.1.6 John Kehayias via Guix-patches via 4 siblings, 0 replies; 19+ messages in thread From: Irfan S @ 2021-07-13 4:45 UTC (permalink / raw) To: 49339 I did test building some dependents of mesa with libglvnd. libepoxy, in particular, needed the change that Maxime points out will affect some 20 or so other packages as well. With that made, I was able to build and boot into a functioning graphical environment on xorg-server. I can work on patching all packages that look for libgl.so/libegl.so from mesa to use libglvnd instead, as Maxime suggested. But I agree with John that getting an updated mesa, with or without libglvnd, into core-updates now would be preferable than being delayed to the next freeze cycle. If that is a concern, then maybe this patch can be pushed as is. Cheers, Irfan ^ permalink raw reply [flat|nested] 19+ messages in thread
* [bug#49339] [PATCH core-updates] gnu: mesa: Update to 21.1.4. 2021-07-02 15:10 [bug#49339] [PATCH core-updates] gnu: mesa: Update to 21.1.4 Irfan S ` (2 preceding siblings ...) 2021-07-13 4:45 ` [bug#49339] Irfan S @ 2021-07-28 21:35 ` Kaelyn via Guix-patches via 2021-07-29 4:52 ` [bug#49339] [PATCH core-updates] gnu: mesa: Update to 21.1.6 John Kehayias via Guix-patches via 4 siblings, 0 replies; 19+ messages in thread From: Kaelyn via Guix-patches via @ 2021-07-28 21:35 UTC (permalink / raw) To: 49339@debbugs.gnu.org Hi, As a bit of bug-tracking reference, this patch supersedes the 20.3.4 update submitted back in Feb (that judging from the comments didn't land because of a core-updates freeze at the time): https://issues.guix.gnu.org/46672 There are also several older mesa update tickets that are still open but can probably be closed since the main branch has 20.2.4 built against LLVM 11: * https://issues.guix.gnu.org/44558 "Mesa isn't update to date" * https://issues.guix.gnu.org/44584 "[PATCH] Update mesa to 20.2.2" * https://issues.guix.gnu.org/44585 "[PATCH] Update mesa to use LLVM 11" * https://issues.guix.gnu.org/44586 "[PATCH] Mesa updated to 20.2.2 (staging)" Cheers, Kaelyn ^ permalink raw reply [flat|nested] 19+ messages in thread
* [bug#49339] [PATCH core-updates] gnu: mesa: Update to 21.1.6. 2021-07-02 15:10 [bug#49339] [PATCH core-updates] gnu: mesa: Update to 21.1.4 Irfan S ` (3 preceding siblings ...) 2021-07-28 21:35 ` [bug#49339] [PATCH core-updates] gnu: mesa: Update to 21.1.4 Kaelyn via Guix-patches via @ 2021-07-29 4:52 ` John Kehayias via Guix-patches via 2021-07-31 10:33 ` bug#49339: [PATCH core-updates] gnu: mesa: Update to 21.1.4 Ludovic Courtès 4 siblings, 1 reply; 19+ messages in thread From: John Kehayias via Guix-patches via @ 2021-07-29 4:52 UTC (permalink / raw) To: 49339@debbugs.gnu.org; +Cc: Ricardo Wurmus, Maxime Devos [-- Attachment #1: Type: text/plain, Size: 225 bytes --] Noticed that Mesa has had a few quick bug fix releases, here is v3 of the patch now to update Mesa to 21.1.6. I've tested that it builds, and since these are bug fix releases there should be no major changes. Thanks! John [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: gnu-mesa-Update-to-21.1.6-v3.patch --] [-- Type: text/x-patch; name=gnu-mesa-Update-to-21.1.6-v3.patch, Size: 3625 bytes --] gnu: mesa: Update to 21.1.6. * gnu/packages/gl.scm (mesa): Update to 21.1.6. * gnu/packages/patches/mesa-skip-tests.patch: Remove cache_test.c as it is no longer needed (test passes). --- gnu/packages/gl.scm | 11 ++++++----- gnu/packages/patches/mesa-skip-tests.patch | 20 -------------------- 2 files changed, 6 insertions(+), 25 deletions(-) diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm index cc5131b28d..d1a8dc0efa 100644 --- a/gnu/packages/gl.scm +++ b/gnu/packages/gl.scm @@ -15,6 +15,7 @@ ;;; Copyright © 2020 Giacomo Leidi <goodoldpaul@autistici.org> ;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2020 Kei Kebreau <kkebreau@posteo.net> +;;; Copyright © 2021 John Kehayias <john.kehayias@protonmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -237,7 +238,7 @@ also known as DXTn or DXTC) for Mesa.") (define-public mesa (package (name "mesa") - (version "20.2.6") + (version "21.1.6") (source (origin (method url-fetch) @@ -249,7 +250,7 @@ also known as DXTn or DXTC) for Mesa.") version "/mesa-" version ".tar.xz"))) (sha256 (base32 - "1nw5k2qrlcrp5bljy1lmyybgl525y0h44synkbbirw92qv3a6b7i")) + "0dwyk7cxlwna24ap23i8i92a2qcc6xhp16i03zzakpqiz4i03jxi")) (patches (search-patches "mesa-skip-tests.patch")))) (build-system meson-build-system) @@ -309,7 +310,7 @@ also known as DXTn or DXTC) for Mesa.") "-Dglx=dri" ;Thread Local Storage, improves performance ;; "-Dopencl=true" ;; "-Domx=true" - "-Dosmesa=gallium" + "-Dosmesa=true" "-Dgallium-xa=enabled" ;; features required by wayland @@ -417,8 +418,8 @@ also known as DXTn or DXTC) for Mesa.") (let ((out (assoc-ref outputs "out")) (bin (assoc-ref outputs "bin"))) ;; Not all architectures have the Vulkan overlay control script. - (mkdir-p (string-append bin "/bin")) - (call-with-output-file (string-append bin "/bin/.empty") + (mkdir-p (string-append out "/bin")) + (call-with-output-file (string-append out "/bin/.empty") (const #t)) (copy-recursively (string-append out "/bin") (string-append bin "/bin")) diff --git a/gnu/packages/patches/mesa-skip-tests.patch b/gnu/packages/patches/mesa-skip-tests.patch index 2622d5d312..8f587ea7ef 100644 --- a/gnu/packages/patches/mesa-skip-tests.patch +++ b/gnu/packages/patches/mesa-skip-tests.patch @@ -1,23 +1,3 @@ -disk_cache_create() here looks up the users home directory from <pwd.h> -which resolves to "/" in the build environment. I could not find an easy -way to set the home directory to something else, so we disable this test -for now. - ---- a/src/compiler/glsl/tests/cache_test.c -+++ b/src/compiler/glsl/tests/cache_test.c -@@ -170,11 +170,6 @@ - unsetenv("MESA_GLSL_CACHE_DIR"); - unsetenv("XDG_CACHE_HOME"); - -- cache = disk_cache_create("test", "make_check", 0); -- expect_non_null(cache, "disk_cache_create with no environment variables"); -- -- disk_cache_destroy(cache); -- - /* Test with XDG_CACHE_HOME set */ - setenv("XDG_CACHE_HOME", CACHE_TEST_TMP "/xdg-cache-home", 1); - cache = disk_cache_create("test", "make_check", 0); - This test fails on i686-linux. I couldn't come up with a regex that could be used to disable it just on i686-linux, so we disable it completely with this patch: -- 2.32.0 ^ permalink raw reply related [flat|nested] 19+ messages in thread
* bug#49339: [PATCH core-updates] gnu: mesa: Update to 21.1.4. 2021-07-29 4:52 ` [bug#49339] [PATCH core-updates] gnu: mesa: Update to 21.1.6 John Kehayias via Guix-patches via @ 2021-07-31 10:33 ` Ludovic Courtès 2021-07-31 14:01 ` [bug#49339] " John Kehayias via Guix-patches via 0 siblings, 1 reply; 19+ messages in thread From: Ludovic Courtès @ 2021-07-31 10:33 UTC (permalink / raw) To: John Kehayias; +Cc: Ricardo Wurmus, Maxime Devos, 49339@debbugs.gnu.org Hi John, John Kehayias <john.kehayias@protonmail.com> skribis: > gnu: mesa: Update to 21.1.6. > > * gnu/packages/gl.scm (mesa): Update to 21.1.6. > * gnu/packages/patches/mesa-skip-tests.patch: Remove cache_test.c as it is no > longer needed (test passes). Applied, thanks! [...] > - "-Dosmesa=gallium" > + "-Dosmesa=true" Is this expected to change anything feature-wise? BTW, please generate the patch with ‘git format-patch’ next time; that makes it easier to apply with ‘git am’. Ludo’. ^ permalink raw reply [flat|nested] 19+ messages in thread
* [bug#49339] [PATCH core-updates] gnu: mesa: Update to 21.1.4. 2021-07-31 10:33 ` bug#49339: [PATCH core-updates] gnu: mesa: Update to 21.1.4 Ludovic Courtès @ 2021-07-31 14:01 ` John Kehayias via Guix-patches via 2021-08-02 13:27 ` Ludovic Courtès 0 siblings, 1 reply; 19+ messages in thread From: John Kehayias via Guix-patches via @ 2021-07-31 14:01 UTC (permalink / raw) To: Ludovic Courtès; +Cc: Ricardo Wurmus, Maxime Devos, 49339@debbugs.gnu.org Hi Ludo’, On Saturday, July 31st, 2021 at 6:33 AM, Ludovic Courtès <ludo@gnu.org> wrote: > Hi John, > > John Kehayias john.kehayias@protonmail.com skribis: > > > gnu: mesa: Update to 21.1.6. > > > > - gnu/packages/gl.scm (mesa): Update to 21.1.6. > > - gnu/packages/patches/mesa-skip-tests.patch: Remove cache_test.c as it is no > > > > longer needed (test passes). > > Applied, thanks! > Great, thank you! > [...] > > > - "-Dosmesa=gallium" > > > > > > > > - "-Dosmesa=true" > > > > > > Is this expected to change anything feature-wise? > Mesa at v21 removed the software OSMesa driver (see https://www.phoronix.com/scan.php?page=news_item&px=Classic-OSMesa-Retires ). We were already using the gallium driver so I think there is no change for us, but the compile flag changed to a boolean: true for what was before gallium, based on my reading of the change https://cgit.freedesktop.org/mesa/mesa/commit/?id=ee802372180a2b4460cc7abb53438e45c6b6f1e4 > BTW, please generate the patch with ‘git format-patch’ next time; that > > makes it easier to apply with ‘git am’. > Will do, sorry about that (I think I did do that but may have manually altered the header). By the way, I'm looking now and see mesa-opencl failing, I'll take a look (perhaps an option change or library location?). John ^ permalink raw reply [flat|nested] 19+ messages in thread
* [bug#49339] [PATCH core-updates] gnu: mesa: Update to 21.1.4. 2021-07-31 14:01 ` [bug#49339] " John Kehayias via Guix-patches via @ 2021-08-02 13:27 ` Ludovic Courtès 0 siblings, 0 replies; 19+ messages in thread From: Ludovic Courtès @ 2021-08-02 13:27 UTC (permalink / raw) To: John Kehayias; +Cc: Ricardo Wurmus, Maxime Devos, 49339@debbugs.gnu.org Hi, John Kehayias <john.kehayias@protonmail.com> skribis: > On Saturday, July 31st, 2021 at 6:33 AM, Ludovic Courtès <ludo@gnu.org> wrote: [...] >> > - "-Dosmesa=gallium" >> > >> > >> > >> > - "-Dosmesa=true" >> > >> > >> >> Is this expected to change anything feature-wise? >> > > Mesa at v21 removed the software OSMesa driver (see https://www.phoronix.com/scan.php?page=news_item&px=Classic-OSMesa-Retires ). We were already using the gallium driver so I think there is no change for us, but the compile flag changed to a boolean: true for what was before gallium, based on my reading of the change https://cgit.freedesktop.org/mesa/mesa/commit/?id=ee802372180a2b4460cc7abb53438e45c6b6f1e4 Makes sense, thanks for explaining! Ludo’. ^ permalink raw reply [flat|nested] 19+ messages in thread
end of thread, other threads:[~2021-08-02 13:28 UTC | newest] Thread overview: 19+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2021-07-02 15:10 [bug#49339] [PATCH core-updates] gnu: mesa: Update to 21.1.4 Irfan S 2021-07-02 19:29 ` John Kehayias via Guix-patches via 2021-07-05 15:35 ` John Kehayias via Guix-patches via 2021-07-08 1:35 ` John Kehayias via Guix-patches via 2021-07-08 2:24 ` John Kehayias via Guix-patches via 2021-07-08 15:40 ` John Kehayias via Guix-patches via 2021-07-08 20:55 ` Maxime Devos 2021-07-09 2:41 ` John Kehayias via Guix-patches via 2021-07-09 12:48 ` Maxime Devos 2021-07-09 15:34 ` John Kehayias via Guix-patches via 2021-07-13 15:42 ` John Kehayias via Guix-patches via 2021-07-13 16:26 ` John Kehayias via Guix-patches via 2021-07-27 21:54 ` John Kehayias via Guix-patches via 2021-07-13 4:45 ` [bug#49339] Irfan S 2021-07-28 21:35 ` [bug#49339] [PATCH core-updates] gnu: mesa: Update to 21.1.4 Kaelyn via Guix-patches via 2021-07-29 4:52 ` [bug#49339] [PATCH core-updates] gnu: mesa: Update to 21.1.6 John Kehayias via Guix-patches via 2021-07-31 10:33 ` bug#49339: [PATCH core-updates] gnu: mesa: Update to 21.1.4 Ludovic Courtès 2021-07-31 14:01 ` [bug#49339] " John Kehayias via Guix-patches via 2021-08-02 13:27 ` Ludovic Courtès
Code repositories for project(s) associated with this external index https://git.savannah.gnu.org/cgit/guix.git This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.