GNU bug report logs - #57297
[PATCH 0/7] Update vulkan packages and add vulkan-validationlayers

Previous Next

Package: guix-patches;

Reported by: Kaelyn Takata <kaelyn.alexi <at> protonmail.com>

Date: Fri, 19 Aug 2022 14:49:02 UTC

Severity: normal

Tags: patch

Done: Ricardo Wurmus <rekado <at> elephly.net>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 57297 in the body.
You can then email your comments to 57297 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#57297; Package guix-patches. (Fri, 19 Aug 2022 14:49:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Kaelyn Takata <kaelyn.alexi <at> protonmail.com>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Fri, 19 Aug 2022 14:49:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Kaelyn Takata <kaelyn.alexi <at> protonmail.com>
To: guix-patches <at> gnu.org
Cc: Kaelyn Takata <kaelyn.alexi <at> protonmail.com>
Subject: [PATCH 0/7] Update vulkan packages and add vulkan-validationlayers
Date: Fri, 19 Aug 2022 14:48:41 +0000
Hi,

This patch series adds vulkan-validationlayers 1.2.201 and updates the dependent vulkan packages to compatible versions from approximately the same time period. I had added/updated these packages in a local channel about 8 or 9 months ago and have been running multiple systems with them since then. My motivation at the time was to add vulkan-validationlayers for use with the Vulkan tutorial at https://vulkan-tutorial.com.

It was only recently that I was able to fix an issue with the tutorial program not finding the .so for the validation layer, by patching the layer manifest file with the full store path of the .so. A similar phase would need to be added to the mesa package definition for its device selection layer to work properly. The error from the mesa layer not being found when I run the basic tutorial program is:

  !! validation layer: libVkLayer_MESA_device_select.so: cannot open shared object file: No such file or directory

The 'set-layer-path-in-manifest phase in vulkan-validationlayers resolved a similar error about libVkLayer_khronos_validation.so.

Final note: I went to update these packages to their latest versions before submitting the series, but they trigger warnings when running programs using Vulkan with Mesa 21.3.8 due it not supporting Vulkan 1.3 (I forget the exact warning).

Cheers,
Kaelyn


Kaelyn Takata (7):
  gnu: spirv-headers: Update to 1.2.198.0.
  gnu: spirv-tools: Update to 2021.4.
  gnu: vulkan-headers: Update to 1.2.202.
  gnu: vulkan-loader: Update to 1.2.202.
  gnu: vulkan-tools: Update to 1.2.201.
  gnu: shaderc: Update to 2021.3.
  gnu: Add vulkan-validationlayers.

 gnu/packages/vulkan.scm | 94 +++++++++++++++++++++++++++++------------
 1 file changed, 68 insertions(+), 26 deletions(-)


base-commit: 65cabb010e3388d10f9b25ec560bfcfab5f810d4
--
2.37.2





Information forwarded to guix-patches <at> gnu.org:
bug#57297; Package guix-patches. (Fri, 19 Aug 2022 14:51:02 GMT) Full text and rfc822 format available.

Message #8 received at 57297 <at> debbugs.gnu.org (full text, mbox):

From: Kaelyn Takata <kaelyn.alexi <at> protonmail.com>
To: 57297 <at> debbugs.gnu.org
Cc: Kaelyn Takata <kaelyn.alexi <at> protonmail.com>
Subject: [PATCH 1/7] gnu: spirv-headers: Update to 1.2.198.0.
Date: Fri, 19 Aug 2022 14:50:28 +0000
* gnu/packages/vulkan.scm (spirv-headers): Update to 1.2.198.0.
---
 gnu/packages/vulkan.scm | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm
index f5c619a2b2..5517bca47b 100644
--- a/gnu/packages/vulkan.scm
+++ b/gnu/packages/vulkan.scm
@@ -45,16 +45,16 @@ (define-module (gnu packages vulkan)
 (define-public spirv-headers
   (package
     (name "spirv-headers")
-    (version "1.5.3")
+    (version "1.2.198.0")
     (source
      (origin
        (method git-fetch)
        (uri (git-reference
              (url "https://github.com/KhronosGroup/SPIRV-Headers")
-             (commit version)))
+             (commit (string-append "sdk-" version))))
        (sha256
         (base32
-         "069sivqajp7z4p44lmrz23lvf237xpkjxd4lzrg27836pwqcz9bj"))
+         "0v6ycgfxh9d2gzhxrnxgrn5gyg2cshg55767qdg46px8412j5lbi"))
        (file-name (git-file-name name version))))
     (build-system cmake-build-system)
     (arguments
--
2.37.2






Information forwarded to guix-patches <at> gnu.org:
bug#57297; Package guix-patches. (Fri, 19 Aug 2022 14:51:02 GMT) Full text and rfc822 format available.

Message #11 received at 57297 <at> debbugs.gnu.org (full text, mbox):

From: Kaelyn Takata <kaelyn.alexi <at> protonmail.com>
To: 57297 <at> debbugs.gnu.org
Cc: Kaelyn Takata <kaelyn.alexi <at> protonmail.com>
Subject: [PATCH 2/7] gnu: spirv-tools: Update to 2021.4.
Date: Fri, 19 Aug 2022 14:50:40 +0000
* gnu/packages/vulkan.scm (spirv-tools): Update to 2021.4.
---
 gnu/packages/vulkan.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm
index 5517bca47b..5cfb94cd6f 100644
--- a/gnu/packages/vulkan.scm
+++ b/gnu/packages/vulkan.scm
@@ -77,7 +77,7 @@ (define-public spirv-headers
 (define-public spirv-tools
   (package
     (name "spirv-tools")
-    (version "2020.2")
+    (version "2021.4")
     (source
      (origin
       (method git-fetch)
@@ -85,7 +85,7 @@ (define-public spirv-tools
             (url "https://github.com/KhronosGroup/SPIRV-Tools")
             (commit (string-append "v" version))))
       (sha256
-       (base32 "00b7xgyrcb2qq63pp3cnw5q1xqx2d9rfn65lai6n6r89s1vh3vg6"))
+       (base32 "1f0kzgx8ishzxhzrcvcmpkmb3cigyya92p3bdabsgbjr6mkmcdj3"))
       (file-name (git-file-name name version))))
     (build-system cmake-build-system)
     (arguments
--
2.37.2






Information forwarded to guix-patches <at> gnu.org:
bug#57297; Package guix-patches. (Fri, 19 Aug 2022 14:52:02 GMT) Full text and rfc822 format available.

Message #14 received at 57297 <at> debbugs.gnu.org (full text, mbox):

From: Kaelyn Takata <kaelyn.alexi <at> protonmail.com>
To: 57297 <at> debbugs.gnu.org
Cc: Kaelyn Takata <kaelyn.alexi <at> protonmail.com>
Subject: [PATCH 3/7] gnu: vulkan-headers: Update to 1.2.202.
Date: Fri, 19 Aug 2022 14:50:55 +0000
* gnu/packages/vulkan.scm (vulkan-headers): Update to 1.2.202.
---
 gnu/packages/vulkan.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm
index 5cfb94cd6f..61cbcf8411 100644
--- a/gnu/packages/vulkan.scm
+++ b/gnu/packages/vulkan.scm
@@ -183,7 +183,7 @@ (define-public glslang
 (define-public vulkan-headers
   (package
     (name "vulkan-headers")
-    (version "1.2.164")
+    (version "1.2.202")
     (source
      (origin
        (method git-fetch)
@@ -193,7 +193,7 @@ (define-public vulkan-headers
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "11wzxvwim4jna1yssbmprl211dhmz8vmrd498zww3bghzlj7bljv"))))
+         "0lsjpxqb7k2mf0w1qadpki6vnwxr29kjg5y1jafl3pvk0mdy1azj"))))
     (build-system cmake-build-system)
     (arguments
      `(#:tests? #f))                    ; No tests.
--
2.37.2






Information forwarded to guix-patches <at> gnu.org:
bug#57297; Package guix-patches. (Fri, 19 Aug 2022 14:52:02 GMT) Full text and rfc822 format available.

Message #17 received at 57297 <at> debbugs.gnu.org (full text, mbox):

From: Kaelyn Takata <kaelyn.alexi <at> protonmail.com>
To: 57297 <at> debbugs.gnu.org
Cc: Kaelyn Takata <kaelyn.alexi <at> protonmail.com>
Subject: [PATCH 4/7] gnu: vulkan-loader: Update to 1.2.202.
Date: Fri, 19 Aug 2022 14:51:03 +0000
* gnu/packages/vulkan.scm (vulkan-loader): Update to 1.2.202.
---
 gnu/packages/vulkan.scm | 21 ++++++---------------
 1 file changed, 6 insertions(+), 15 deletions(-)

diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm
index 61cbcf8411..74432298f8 100644
--- a/gnu/packages/vulkan.scm
+++ b/gnu/packages/vulkan.scm
@@ -207,7 +207,7 @@ (define-public vulkan-headers
 (define-public vulkan-loader
   (package
     (name "vulkan-loader")
-    (version "1.2.162")
+    (version "1.2.202")
     (source
      (origin
        (method git-fetch)
@@ -217,32 +217,23 @@ (define-public vulkan-loader
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "15gx9ab6w1sjq9hkpbas7z2f8f47j6mlln6p3w26qmydjj8gfjjv"))))
+         "1vsaa16clncz19lihgj39rdg4dspkxjay1ii6pkf6fpl1vkw1dh2"))))
     (build-system cmake-build-system)
     (arguments
      `(#:configure-flags
        ,#~(list
            (string-append "-DVULKAN_HEADERS_INSTALL_DIR="
                           #$(this-package-input "vulkan-headers"))
-           (string-append "-DCMAKE_INSTALL_INCLUDEDIR="
-                          #$(this-package-input "vulkan-headers")
-                          "/include"))
+           (string-append "-DGOOGLETEST_INSTALL_DIR="
+                          (getcwd) "/source/external/googletest")
+           "-DBUILD_TESTS=ON")
        #:phases (modify-phases %standard-phases
                   (add-after 'unpack 'unpack-googletest
                     (lambda* (#:key inputs #:allow-other-keys)
                       (let ((gtest (assoc-ref inputs "googletest:source")))
                         (when gtest
                           (copy-recursively gtest "external/googletest"))
-                        #t)))
-                  (add-after 'unpack 'disable-loader-tests
-                    (lambda _
-                      ;; Many tests require a Vulkan driver.  Skip those.
-                      (substitute* "tests/loader_validation_tests.cpp"
-                        ((".*= vkCreateInstance.*" all)
-                         (string-append "GTEST_SKIP();\n" all))
-                        (("TEST_F.*InstanceExtensionEnumerated.*" all)
-                         (string-append all "\nGTEST_SKIP();\n")))
-                      #t)))))
+                        #t))))))
     (native-inputs
      `(("googletest:source" ,(package-source googletest))
        ("libxrandr" ,libxrandr)
--
2.37.2






Information forwarded to guix-patches <at> gnu.org:
bug#57297; Package guix-patches. (Fri, 19 Aug 2022 14:52:02 GMT) Full text and rfc822 format available.

Message #20 received at 57297 <at> debbugs.gnu.org (full text, mbox):

From: Kaelyn Takata <kaelyn.alexi <at> protonmail.com>
To: 57297 <at> debbugs.gnu.org
Cc: Kaelyn Takata <kaelyn.alexi <at> protonmail.com>
Subject: [PATCH 5/7] gnu: vulkan-tools: Update to 1.2.201.
Date: Fri, 19 Aug 2022 14:51:16 +0000
* gnu/packages/vulkan.scm (vulkan-tools): Update to 1.2.201.
---
 gnu/packages/vulkan.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm
index 74432298f8..104f4336f3 100644
--- a/gnu/packages/vulkan.scm
+++ b/gnu/packages/vulkan.scm
@@ -260,7 +260,7 @@ (define-public vulkan-loader
 (define-public vulkan-tools
   (package
     (name "vulkan-tools")
-    (version "1.2.162")
+    (version "1.2.201")
     (source
      (origin
        (method git-fetch)
@@ -270,7 +270,7 @@ (define-public vulkan-tools
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "129wzk7xj3vn3c8b4p7fzkd0npl58118s2i1d88gsfnlix54nagq"))))
+         "1ik90d7pygaw2pq81brqmcjiczag3biqvgpqp3cpws07glf29lf9"))))
     (build-system cmake-build-system)
     (inputs
      (list glslang libxrandr vulkan-loader wayland))
--
2.37.2






Information forwarded to guix-patches <at> gnu.org:
bug#57297; Package guix-patches. (Fri, 19 Aug 2022 14:52:03 GMT) Full text and rfc822 format available.

Message #23 received at 57297 <at> debbugs.gnu.org (full text, mbox):

From: Kaelyn Takata <kaelyn.alexi <at> protonmail.com>
To: 57297 <at> debbugs.gnu.org
Cc: Kaelyn Takata <kaelyn.alexi <at> protonmail.com>
Subject: [PATCH 6/7] gnu: shaderc: Update to 2021.3.
Date: Fri, 19 Aug 2022 14:51:20 +0000
* gnu/packages/vulkan.scm (shaderc): Update to 2021.3.
---
 gnu/packages/vulkan.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm
index 104f4336f3..62b5b88732 100644
--- a/gnu/packages/vulkan.scm
+++ b/gnu/packages/vulkan.scm
@@ -292,7 +292,7 @@ (define-public vulkan-tools
 (define-public shaderc
   (package
     (name "shaderc")
-    (version "2020.4")
+    (version "2021.3")
     (source
      (origin
        (method git-fetch)
@@ -302,7 +302,7 @@ (define-public shaderc
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "07h78nd964h2bdm4drzws8i1gvyal8a3wlhbcm5qxqk6vknv8hrk"))))
+         "0qjwixcx74dvx68jl51x2mp2q1346hvhwxr8w3wk36nzla62k2s6"))))
     (build-system cmake-build-system)
     (arguments
      `(;; FIXME: Skip most of the tests, because enabling system gtest breaks
--
2.37.2






Information forwarded to guix-patches <at> gnu.org:
bug#57297; Package guix-patches. (Fri, 19 Aug 2022 14:52:03 GMT) Full text and rfc822 format available.

Message #26 received at 57297 <at> debbugs.gnu.org (full text, mbox):

From: Kaelyn Takata <kaelyn.alexi <at> protonmail.com>
To: 57297 <at> debbugs.gnu.org
Cc: Kaelyn Takata <kaelyn.alexi <at> protonmail.com>
Subject: [PATCH 7/7] gnu: Add vulkan-validationlayers.
Date: Fri, 19 Aug 2022 14:51:26 +0000
* gnu/packages/vulkan.scm (vulkan-validationlayers): New variable.
---
 gnu/packages/vulkan.scm | 51 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 51 insertions(+)

diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm
index 62b5b88732..f458cef99c 100644
--- a/gnu/packages/vulkan.scm
+++ b/gnu/packages/vulkan.scm
@@ -4,6 +4,7 @@
 ;;; Copyright © 2018 Efraim Flashner <efraim <at> flashner.co.il>
 ;;; Copyright © 2020 Marius Bakke <mbakke <at> fastmail.com>
 ;;; Copyright © 2021 Mathieu Othacehe <othacehe <at> gnu.org>
+;;; Copyright © 2022 Kaelyn Takata <kaelyn.alexi <at> protonmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -393,3 +394,53 @@ (define-public vkd3d
      (synopsis "Direct3D 12 to Vulkan translation library")
      (description "vkd3d is a library for translating Direct3D 12 to Vulkan.")
      (license license:lgpl2.1))))
+
+(define-public vulkan-validationlayers
+  (package
+    (name "vulkan-validationlayers")
+    (version "1.2.201")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url
+                     "https://github.com/KhronosGroup/Vulkan-ValidationLayers")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1jnz9cmy5d5g6jh9p4wr0qrlqlpfp07b3cizq37i5p1bcabdgmrz"))))
+    (build-system cmake-build-system)
+    (inputs (list glslang
+                  libxrandr
+                  mesa
+                  shaderc
+                  spirv-tools
+                  vulkan-loader
+                  wayland))
+    (native-inputs (list pkg-config python spirv-headers vulkan-headers))
+    (arguments
+     (list #:tests? #f ;no tests
+           #:configure-flags #~(list "-DUSE_ROBIN_HOOD_HASHING=OFF"
+                                     (string-append "-DGLSLANG_INSTALL_DIR="
+                                                    #$glslang)
+                                     (string-append
+                                      "-DSPIRV_HEADERS_INSTALL_DIR="
+                                      #$spirv-headers) "-Wno-dev")
+           #:phases #~(modify-phases %standard-phases
+                        (add-after 'install 'set-layer-path-in-manifest
+                          (lambda* (#:key outputs #:allow-other-keys)
+                            (let* ((out (assoc-ref outputs "out"))
+                                   (manifest (string-append out
+                                              "/share/vulkan/explicit_layer.d"
+                                              "/VkLayer_khronos_validation.json")))
+                              (substitute* manifest
+                                (("\"libVkLayer_khronos_validation.so\"")
+                                 (string-append "\"" out
+                                  "/lib/libVkLayer_khronos_validation.so\"")))))))))
+    (home-page "https://github.com/KhronosGroup/Vulkan-ValidationLayers")
+    (synopsis "Khronos official validation layers for Vulkan")
+    (description
+     "Vulkan-ValidationLayers provides the Khronos official validation layers that
+can assist development by enabling developers to verify their applications correctly
+use the Vulkan API.")
+    (license license:asl2.0)))
--
2.37.2






Information forwarded to guix-patches <at> gnu.org:
bug#57297; Package guix-patches. (Thu, 01 Sep 2022 07:49:01 GMT) Full text and rfc822 format available.

Message #29 received at 57297 <at> debbugs.gnu.org (full text, mbox):

From: Ricardo Wurmus <rekado <at> elephly.net>
To: 57297 <at> debbugs.gnu.org
Subject: [PATCH 0/7] Update vulkan packages and add vulkan-validationlayers
Date: Thu, 01 Sep 2022 09:44:04 +0200
Thank you for the patches.  Overall they look good to me, but I have
some comments:

- the first patch updates spriv-headers from 1.5.3 to 1.2.198.0.  This
  looks like a downgrade.  Is this jump in version numbers expected?

- the commit message for the vulkan-loader update should mention the
  changes in the build system arguments:

* gnu/packages/vulkan.scm (vulkan-loader): Update to 1.2.202.
[arguments]: Enable tests by removing obsolete build phase
'disable-loader-tests and adjusting configure flags.

- in the patch for vulkan-validationlayers I’d use #$output instead of
  binding out to (assoc-ref outputs "out").

Other than that this all looks good to me!

-- 
Ricardo




Information forwarded to guix-patches <at> gnu.org:
bug#57297; Package guix-patches. (Thu, 01 Sep 2022 16:27:02 GMT) Full text and rfc822 format available.

Message #32 received at 57297 <at> debbugs.gnu.org (full text, mbox):

From: Kaelyn Takata <kaelyn.alexi <at> protonmail.com>
To: 57297 <at> debbugs.gnu.org
Cc: Kaelyn Takata <kaelyn.alexi <at> protonmail.com>
Subject: [PATCH v2 0/7] Update vulkan packages and add vulkan-validationlayers
Date: Thu, 01 Sep 2022 16:26:31 +0000
This is a small V2 update to rebase against master and address review
feedback. The changes are:

* Update the commit message for the vulkan-loader update to include the
  [arguments] change.
* Use #$output instead of binding (assoc outputs "out") in the package
  definition for vulkan-validationlayers

Also worth noting is that the versioning scheme for spirv-headers has changed;
the old version scheme went up to 1.5.4 in late 2020, and starting in 2021 the
version tags are the sdk-1.x.y.z tags used with other Vulkan SDK components
(ref: https://github.com/KhronosGroup/SPIRV-Headers/tags).

Kaelyn Takata (7):
  gnu: spirv-headers: Update to 1.2.198.0.
  gnu: spirv-tools: Update to 2021.4.
  gnu: vulkan-headers: Update to 1.2.202.
  gnu: vulkan-loader: Update to 1.2.202.
  gnu: vulkan-tools: Update to 1.2.201.
  gnu: shaderc: Update to 2021.3.
  gnu: Add vulkan-validationlayers.

 gnu/packages/vulkan.scm | 93 +++++++++++++++++++++++++++++------------
 1 file changed, 67 insertions(+), 26 deletions(-)


base-commit: c053dfa52dc778eb3d965f58a85c435ae7fab0dd
--
2.37.2





Information forwarded to guix-patches <at> gnu.org:
bug#57297; Package guix-patches. (Thu, 01 Sep 2022 16:27:02 GMT) Full text and rfc822 format available.

Message #35 received at 57297 <at> debbugs.gnu.org (full text, mbox):

From: Kaelyn Takata <kaelyn.alexi <at> protonmail.com>
To: 57297 <at> debbugs.gnu.org
Cc: Kaelyn Takata <kaelyn.alexi <at> protonmail.com>
Subject: [PATCH v2 1/7] gnu: spirv-headers: Update to 1.2.198.0.
Date: Thu, 01 Sep 2022 16:26:40 +0000
* gnu/packages/vulkan.scm (spirv-headers): Update to 1.2.198.0.
---
 gnu/packages/vulkan.scm | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm
index f5c619a2b2..5517bca47b 100644
--- a/gnu/packages/vulkan.scm
+++ b/gnu/packages/vulkan.scm
@@ -45,16 +45,16 @@ (define-module (gnu packages vulkan)
 (define-public spirv-headers
   (package
     (name "spirv-headers")
-    (version "1.5.3")
+    (version "1.2.198.0")
     (source
      (origin
        (method git-fetch)
        (uri (git-reference
              (url "https://github.com/KhronosGroup/SPIRV-Headers")
-             (commit version)))
+             (commit (string-append "sdk-" version))))
        (sha256
         (base32
-         "069sivqajp7z4p44lmrz23lvf237xpkjxd4lzrg27836pwqcz9bj"))
+         "0v6ycgfxh9d2gzhxrnxgrn5gyg2cshg55767qdg46px8412j5lbi"))
        (file-name (git-file-name name version))))
     (build-system cmake-build-system)
     (arguments
--
2.37.2






Information forwarded to guix-patches <at> gnu.org:
bug#57297; Package guix-patches. (Thu, 01 Sep 2022 16:27:03 GMT) Full text and rfc822 format available.

Message #38 received at 57297 <at> debbugs.gnu.org (full text, mbox):

From: Kaelyn Takata <kaelyn.alexi <at> protonmail.com>
To: 57297 <at> debbugs.gnu.org
Cc: Kaelyn Takata <kaelyn.alexi <at> protonmail.com>
Subject: [PATCH v2 2/7] gnu: spirv-tools: Update to 2021.4.
Date: Thu, 01 Sep 2022 16:26:48 +0000
* gnu/packages/vulkan.scm (spirv-tools): Update to 2021.4.
---
 gnu/packages/vulkan.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm
index 5517bca47b..5cfb94cd6f 100644
--- a/gnu/packages/vulkan.scm
+++ b/gnu/packages/vulkan.scm
@@ -77,7 +77,7 @@ (define-public spirv-headers
 (define-public spirv-tools
   (package
     (name "spirv-tools")
-    (version "2020.2")
+    (version "2021.4")
     (source
      (origin
       (method git-fetch)
@@ -85,7 +85,7 @@ (define-public spirv-tools
             (url "https://github.com/KhronosGroup/SPIRV-Tools")
             (commit (string-append "v" version))))
       (sha256
-       (base32 "00b7xgyrcb2qq63pp3cnw5q1xqx2d9rfn65lai6n6r89s1vh3vg6"))
+       (base32 "1f0kzgx8ishzxhzrcvcmpkmb3cigyya92p3bdabsgbjr6mkmcdj3"))
       (file-name (git-file-name name version))))
     (build-system cmake-build-system)
     (arguments
--
2.37.2






Information forwarded to guix-patches <at> gnu.org:
bug#57297; Package guix-patches. (Thu, 01 Sep 2022 16:28:02 GMT) Full text and rfc822 format available.

Message #41 received at 57297 <at> debbugs.gnu.org (full text, mbox):

From: Kaelyn Takata <kaelyn.alexi <at> protonmail.com>
To: 57297 <at> debbugs.gnu.org
Cc: Kaelyn Takata <kaelyn.alexi <at> protonmail.com>
Subject: [PATCH v2 3/7] gnu: vulkan-headers: Update to 1.2.202.
Date: Thu, 01 Sep 2022 16:27:00 +0000
* gnu/packages/vulkan.scm (vulkan-headers): Update to 1.2.202.
---
 gnu/packages/vulkan.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm
index 5cfb94cd6f..61cbcf8411 100644
--- a/gnu/packages/vulkan.scm
+++ b/gnu/packages/vulkan.scm
@@ -183,7 +183,7 @@ (define-public glslang
 (define-public vulkan-headers
   (package
     (name "vulkan-headers")
-    (version "1.2.164")
+    (version "1.2.202")
     (source
      (origin
        (method git-fetch)
@@ -193,7 +193,7 @@ (define-public vulkan-headers
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "11wzxvwim4jna1yssbmprl211dhmz8vmrd498zww3bghzlj7bljv"))))
+         "0lsjpxqb7k2mf0w1qadpki6vnwxr29kjg5y1jafl3pvk0mdy1azj"))))
     (build-system cmake-build-system)
     (arguments
      `(#:tests? #f))                    ; No tests.
--
2.37.2






Information forwarded to guix-patches <at> gnu.org:
bug#57297; Package guix-patches. (Thu, 01 Sep 2022 16:28:02 GMT) Full text and rfc822 format available.

Message #44 received at 57297 <at> debbugs.gnu.org (full text, mbox):

From: Kaelyn Takata <kaelyn.alexi <at> protonmail.com>
To: 57297 <at> debbugs.gnu.org
Cc: Kaelyn Takata <kaelyn.alexi <at> protonmail.com>
Subject: [PATCH v2 4/7] gnu: vulkan-loader: Update to 1.2.202.
Date: Thu, 01 Sep 2022 16:27:09 +0000
* gnu/packages/vulkan.scm (vulkan-loader): Update to 1.2.202.
[arguments]: Enable tests by removing obsolete build phase
'disable-loader-tests and adjusting configure flags.
---
 gnu/packages/vulkan.scm | 21 ++++++---------------
 1 file changed, 6 insertions(+), 15 deletions(-)

diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm
index 61cbcf8411..74432298f8 100644
--- a/gnu/packages/vulkan.scm
+++ b/gnu/packages/vulkan.scm
@@ -207,7 +207,7 @@ (define-public vulkan-headers
 (define-public vulkan-loader
   (package
     (name "vulkan-loader")
-    (version "1.2.162")
+    (version "1.2.202")
     (source
      (origin
        (method git-fetch)
@@ -217,32 +217,23 @@ (define-public vulkan-loader
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "15gx9ab6w1sjq9hkpbas7z2f8f47j6mlln6p3w26qmydjj8gfjjv"))))
+         "1vsaa16clncz19lihgj39rdg4dspkxjay1ii6pkf6fpl1vkw1dh2"))))
     (build-system cmake-build-system)
     (arguments
      `(#:configure-flags
        ,#~(list
            (string-append "-DVULKAN_HEADERS_INSTALL_DIR="
                           #$(this-package-input "vulkan-headers"))
-           (string-append "-DCMAKE_INSTALL_INCLUDEDIR="
-                          #$(this-package-input "vulkan-headers")
-                          "/include"))
+           (string-append "-DGOOGLETEST_INSTALL_DIR="
+                          (getcwd) "/source/external/googletest")
+           "-DBUILD_TESTS=ON")
        #:phases (modify-phases %standard-phases
                   (add-after 'unpack 'unpack-googletest
                     (lambda* (#:key inputs #:allow-other-keys)
                       (let ((gtest (assoc-ref inputs "googletest:source")))
                         (when gtest
                           (copy-recursively gtest "external/googletest"))
-                        #t)))
-                  (add-after 'unpack 'disable-loader-tests
-                    (lambda _
-                      ;; Many tests require a Vulkan driver.  Skip those.
-                      (substitute* "tests/loader_validation_tests.cpp"
-                        ((".*= vkCreateInstance.*" all)
-                         (string-append "GTEST_SKIP();\n" all))
-                        (("TEST_F.*InstanceExtensionEnumerated.*" all)
-                         (string-append all "\nGTEST_SKIP();\n")))
-                      #t)))))
+                        #t))))))
     (native-inputs
      `(("googletest:source" ,(package-source googletest))
        ("libxrandr" ,libxrandr)
--
2.37.2






Information forwarded to guix-patches <at> gnu.org:
bug#57297; Package guix-patches. (Thu, 01 Sep 2022 16:28:03 GMT) Full text and rfc822 format available.

Message #47 received at 57297 <at> debbugs.gnu.org (full text, mbox):

From: Kaelyn Takata <kaelyn.alexi <at> protonmail.com>
To: 57297 <at> debbugs.gnu.org
Cc: Kaelyn Takata <kaelyn.alexi <at> protonmail.com>
Subject: [PATCH v2 5/7] gnu: vulkan-tools: Update to 1.2.201.
Date: Thu, 01 Sep 2022 16:27:22 +0000
* gnu/packages/vulkan.scm (vulkan-tools): Update to 1.2.201.
---
 gnu/packages/vulkan.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm
index 74432298f8..104f4336f3 100644
--- a/gnu/packages/vulkan.scm
+++ b/gnu/packages/vulkan.scm
@@ -260,7 +260,7 @@ (define-public vulkan-loader
 (define-public vulkan-tools
   (package
     (name "vulkan-tools")
-    (version "1.2.162")
+    (version "1.2.201")
     (source
      (origin
        (method git-fetch)
@@ -270,7 +270,7 @@ (define-public vulkan-tools
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "129wzk7xj3vn3c8b4p7fzkd0npl58118s2i1d88gsfnlix54nagq"))))
+         "1ik90d7pygaw2pq81brqmcjiczag3biqvgpqp3cpws07glf29lf9"))))
     (build-system cmake-build-system)
     (inputs
      (list glslang libxrandr vulkan-loader wayland))
--
2.37.2






Information forwarded to guix-patches <at> gnu.org:
bug#57297; Package guix-patches. (Thu, 01 Sep 2022 16:28:03 GMT) Full text and rfc822 format available.

Message #50 received at 57297 <at> debbugs.gnu.org (full text, mbox):

From: Kaelyn Takata <kaelyn.alexi <at> protonmail.com>
To: 57297 <at> debbugs.gnu.org
Cc: Kaelyn Takata <kaelyn.alexi <at> protonmail.com>
Subject: [PATCH v2 6/7] gnu: shaderc: Update to 2021.3.
Date: Thu, 01 Sep 2022 16:27:30 +0000
* gnu/packages/vulkan.scm (shaderc): Update to 2021.3.
---
 gnu/packages/vulkan.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm
index 104f4336f3..62b5b88732 100644
--- a/gnu/packages/vulkan.scm
+++ b/gnu/packages/vulkan.scm
@@ -292,7 +292,7 @@ (define-public vulkan-tools
 (define-public shaderc
   (package
     (name "shaderc")
-    (version "2020.4")
+    (version "2021.3")
     (source
      (origin
        (method git-fetch)
@@ -302,7 +302,7 @@ (define-public shaderc
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "07h78nd964h2bdm4drzws8i1gvyal8a3wlhbcm5qxqk6vknv8hrk"))))
+         "0qjwixcx74dvx68jl51x2mp2q1346hvhwxr8w3wk36nzla62k2s6"))))
     (build-system cmake-build-system)
     (arguments
      `(;; FIXME: Skip most of the tests, because enabling system gtest breaks
--
2.37.2






Information forwarded to guix-patches <at> gnu.org:
bug#57297; Package guix-patches. (Thu, 01 Sep 2022 16:28:04 GMT) Full text and rfc822 format available.

Message #53 received at 57297 <at> debbugs.gnu.org (full text, mbox):

From: Kaelyn Takata <kaelyn.alexi <at> protonmail.com>
To: 57297 <at> debbugs.gnu.org
Cc: Kaelyn Takata <kaelyn.alexi <at> protonmail.com>
Subject: [PATCH v2 7/7] gnu: Add vulkan-validationlayers.
Date: Thu, 01 Sep 2022 16:27:40 +0000
* gnu/packages/vulkan.scm (vulkan-validationlayers): New variable.
---
 gnu/packages/vulkan.scm | 50 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 50 insertions(+)

diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm
index 62b5b88732..8f664334d4 100644
--- a/gnu/packages/vulkan.scm
+++ b/gnu/packages/vulkan.scm
@@ -4,6 +4,7 @@
 ;;; Copyright © 2018 Efraim Flashner <efraim <at> flashner.co.il>
 ;;; Copyright © 2020 Marius Bakke <mbakke <at> fastmail.com>
 ;;; Copyright © 2021 Mathieu Othacehe <othacehe <at> gnu.org>
+;;; Copyright © 2022 Kaelyn Takata <kaelyn.alexi <at> protonmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -393,3 +394,52 @@ (define-public vkd3d
      (synopsis "Direct3D 12 to Vulkan translation library")
      (description "vkd3d is a library for translating Direct3D 12 to Vulkan.")
      (license license:lgpl2.1))))
+
+(define-public vulkan-validationlayers
+  (package
+    (name "vulkan-validationlayers")
+    (version "1.2.201")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url
+                     "https://github.com/KhronosGroup/Vulkan-ValidationLayers")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1jnz9cmy5d5g6jh9p4wr0qrlqlpfp07b3cizq37i5p1bcabdgmrz"))))
+    (build-system cmake-build-system)
+    (inputs (list glslang
+                  libxrandr
+                  mesa
+                  shaderc
+                  spirv-tools
+                  vulkan-loader
+                  wayland))
+    (native-inputs (list pkg-config python spirv-headers vulkan-headers))
+    (arguments
+     (list #:tests? #f ;no tests
+           #:configure-flags #~(list "-DUSE_ROBIN_HOOD_HASHING=OFF"
+                                     (string-append "-DGLSLANG_INSTALL_DIR="
+                                                    #$glslang)
+                                     (string-append
+                                      "-DSPIRV_HEADERS_INSTALL_DIR="
+                                      #$spirv-headers) "-Wno-dev")
+           #:phases #~(modify-phases %standard-phases
+                        (add-after 'install 'set-layer-path-in-manifest
+                          (lambda _
+                            (let ((manifest (string-append #$output
+                                             "/share/vulkan/explicit_layer.d"
+                                             "/VkLayer_khronos_validation.json")))
+                              (substitute* manifest
+                                (("\"libVkLayer_khronos_validation.so\"")
+                                 (string-append "\"" #$output
+                                  "/lib/libVkLayer_khronos_validation.so\"")))))))))
+    (home-page "https://github.com/KhronosGroup/Vulkan-ValidationLayers")
+    (synopsis "Khronos official validation layers for Vulkan")
+    (description
+     "Vulkan-ValidationLayers provides the Khronos official validation layers that
+can assist development by enabling developers to verify their applications correctly
+use the Vulkan API.")
+    (license license:asl2.0)))
--
2.37.2






Reply sent to Ricardo Wurmus <rekado <at> elephly.net>:
You have taken responsibility. (Thu, 01 Sep 2022 17:21:02 GMT) Full text and rfc822 format available.

Notification sent to Kaelyn Takata <kaelyn.alexi <at> protonmail.com>:
bug acknowledged by developer. (Thu, 01 Sep 2022 17:21:02 GMT) Full text and rfc822 format available.

Message #58 received at 57297-done <at> debbugs.gnu.org (full text, mbox):

From: Ricardo Wurmus <rekado <at> elephly.net>
To: 57297-done <at> debbugs.gnu.org
Subject: [PATCH v2 0/7] Update vulkan packages and add vulkan-validationlayers
Date: Thu, 01 Sep 2022 19:17:51 +0200
This looks good, thank you!

Because updating vulkan-headers leads to rebuilds of 1000+ packages I
pushed it all to a new branch update-vulkan-headers and asked
ci.guix.gnu.org to build it on x86_64:

  https://ci.guix.gnu.org/jobset/update-vulkan-headers

Once it’s all been built and we see that it doesn’t break any existing
packages we can merge it into the “master” branch.

-- 
Ricardo




Information forwarded to guix-patches <at> gnu.org:
bug#57297; Package guix-patches. (Fri, 16 Sep 2022 06:39:02 GMT) Full text and rfc822 format available.

Message #61 received at 57297 <at> debbugs.gnu.org (full text, mbox):

From: Ricardo Wurmus <rekado <at> elephly.net>
To: 57297 <at> debbugs.gnu.org, Kaelyn <kaelyn.alexi <at> protonmail.com>
Subject: [PATCH 0/7] Update vulkan packages and add vulkan-validationlayers
Date: Fri, 16 Sep 2022 08:34:44 +0200
I had rebased this on top of the “staging” branch.  It seems that these
changes break a lot of downstream packages, such as weston, which builds
fine on staging, but fails on update-vulkan-headers-staging.

You can see all new failures here:
https://ci.guix.gnu.org/jobset/update-vulkan-headers

Here is the failing build of weston:
https://ci.guix.gnu.org/build/1444003/details

(I just restarted it to see if it’s a transient problem.)

Could you please take a look?

-- 
Ricardo




Information forwarded to guix-patches <at> gnu.org:
bug#57297; Package guix-patches. (Fri, 16 Sep 2022 14:27:02 GMT) Full text and rfc822 format available.

Message #64 received at 57297 <at> debbugs.gnu.org (full text, mbox):

From: Kaelyn <kaelyn.alexi <at> protonmail.com>
To: Ricardo Wurmus <rekado <at> elephly.net>
Cc: 57297 <at> debbugs.gnu.org
Subject: Re: [PATCH 0/7] Update vulkan packages and add vulkan-validationlayers
Date: Fri, 16 Sep 2022 14:26:09 +0000
------- Original Message -------
On Friday, September 16th, 2022 at 6:34 AM, Ricardo Wurmus <rekado <at> elephly.net> wrote:


> I had rebased this on top of the “staging” branch. It seems that these
> changes break a lot of downstream packages, such as weston, which builds
> fine on staging, but fails on update-vulkan-headers-staging.
> 
> You can see all new failures here:
> https://ci.guix.gnu.org/jobset/update-vulkan-headers
> 
> Here is the failing build of weston:
> https://ci.guix.gnu.org/build/1444003/details
> 
> (I just restarted it to see if it’s a transient problem.)
> 
> Could you please take a look?
> 
> --
> Ricardo

Thank you for rebasing the patches, and for letting me know of the failures. I'm starting to investigate now, and have already reproduced the weston failure locally. At first glance the weston failure at least might be an (unfortunate) incompatibility with the old version of weston--weston 9.0.0 was released just over two years ago, and over a year before the vulkan versions on the branch.

Cheers,
Kaelyn




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Sat, 15 Oct 2022 11:24:09 GMT) Full text and rfc822 format available.

bug unarchived. Request was from Kaelyn <kaelyn.alexi <at> protonmail.com> to control <at> debbugs.gnu.org. (Sat, 15 Oct 2022 16:51:02 GMT) Full text and rfc822 format available.

Information forwarded to guix-patches <at> gnu.org:
bug#57297; Package guix-patches. (Sat, 15 Oct 2022 16:54:02 GMT) Full text and rfc822 format available.

Message #71 received at 57297 <at> debbugs.gnu.org (full text, mbox):

From: Kaelyn <kaelyn.alexi <at> protonmail.com>
To: "57297 <at> debbugs.gnu.org" <57297 <at> debbugs.gnu.org>
Subject: Re: [PATCH 0/7] Update vulkan packages and add vulkan-validationlayers
Date: Sat, 15 Oct 2022 16:52:50 +0000
Hi,

Sorry for the long period of silence on this patch set! I have finally found a fix for the mpv build failure with the updated spirv-headers and spirv-tools (and likely any others that failed with similar undefined symbols as well). While trying to figure out why mpv wasn't building when other distros have been shipping the same version of mpv against updated spirv & vulkan packages, I started examining their package definitions to see why that may be.

The fix is to add "-DSPIRV_TOOLS_BUILD_STATIC=OFF" to the configure flags for spirv-tools. Apparently a change to spirv-tools in late 2020 caused issues when statically linking (lost the link to the ML thread), and the common packaging approach seems to be to disable the static libs with that flag[1][2].

Quick question on procedure: would it be better to send to this bug a revised version of the single patch (#2 of 7), or to rebase the set against the tip of the staging branch and send in a v3 of all 7 patches?

Cheers,
Kaelyn


[1] https://github.com/archlinux/svntogit-packages/blob/packages/spirv-tools/trunk/PKGBUILD#L27
[2] https://gitweb.gentoo.org/repo/gentoo.git/tree/dev-util/spirv-tools/spirv-tools-1.3.224.ebuild#n39





bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Sun, 13 Nov 2022 12:24:09 GMT) Full text and rfc822 format available.

This bug report was last modified 1 year and 165 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.