* [Buildroot] [PATCH v6 1/5] package/{mesa3d, mesa3d-headers}: bump version to 25.1.3
2025-06-11 11:16 [Buildroot] [PATCH v6 0/5] Add vkmark graphics benchmarking tool Alex Bennée
@ 2025-06-11 11:16 ` Alex Bennée
2025-06-11 11:16 ` [Buildroot] [PATCH v6 2/5] package/vulkan-sdk: new package Alex Bennée
` (4 subsequent siblings)
5 siblings, 0 replies; 17+ messages in thread
From: Alex Bennée @ 2025-06-11 11:16 UTC (permalink / raw)
To: buildroot; +Cc: Bernd Kuhls, Romain Naour, Heiko Thiery, Julien Olivain
We can now drop the LIBCLC_INCLUDEDIR patch as the includedir section
was removed in the upstream and should not have been exposed. mesa3d
still builds without it.
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
v6
- version bump to latest mesa3d
- update .checkpackageignore
---
.checkpackageignore | 6 ++-
| 2 +-
...t-proper-value-for-LIBCLC_INCLUDEDIR.patch | 41 -------------------
...ion-to-disable-optional-neon-suppor.patch} | 22 +++++-----
...-Include-stddef.h-to-fix-build-erro.patch} | 6 +--
...uild.patch => 0003-Fix-uClibc-build.patch} | 14 +++----
package/mesa3d/mesa3d.hash | 6 +--
package/mesa3d/mesa3d.mk | 2 +-
8 files changed, 31 insertions(+), 68 deletions(-)
delete mode 100644 package/mesa3d/0001-meson-Set-proper-value-for-LIBCLC_INCLUDEDIR.patch
rename package/mesa3d/{0002-vc4-add-meson-option-to-disable-optional-neon-suppor.patch => 0001-vc4-add-meson-option-to-disable-optional-neon-suppor.patch} (86%)
rename package/mesa3d/{0003-src-util-rand_xor-Include-stddef.h-to-fix-build-erro.patch => 0002-src-util-rand_xor-Include-stddef.h-to-fix-build-erro.patch} (86%)
rename package/mesa3d/{0004-Fix-uClibc-build.patch => 0003-Fix-uClibc-build.patch} (87%)
diff --git a/.checkpackageignore b/.checkpackageignore
index 5a427fe0f1..5cbbbd38ba 100644
--- a/.checkpackageignore
+++ b/.checkpackageignore
@@ -795,7 +795,11 @@ package/memstat/0001-PATH_MAX.patch lib_patch.Upstream
package/mender-connect/S43mender-connect Shellcheck
package/menu-cache/0001-Support-gcc10-compilation.patch lib_patch.Upstream
package/mesa3d-demos/0001-demos-makes-opengl-an-optional-component.patch lib_patch.Upstream
-package/mesa3d/0001-meson-Set-proper-value-for-LIBCLC_INCLUDEDIR.patch lib_patch.Upstream
+package/mesa3d-headers/mesa3d-headers.hash lib_hash.HashSpaces
+package/mesa3d/0001-vc4-add-meson-option-to-disable-optional-neon-suppor.patch lib_patch.NumberedSubject
+package/mesa3d/0002-src-util-rand_xor-Include-stddef.h-to-fix-build-erro.patch lib_patch.NumberedSubject
+package/mesa3d/0003-Fix-uClibc-build.patch lib_patch.NumberedSubject
+package/mesa3d/mesa3d.hash lib_hash.HashSpaces
package/meson-tools/0001-amlbootenc-gxl-remove-non-std-C-convention-in-for.patch lib_patch.Upstream
package/meson/0001-Prefer-ext-static-libs-when-default-library-static.patch lib_patch.Upstream
package/meson/0002-mesonbuild-dependencies-base.py-add-pkg_config_stati.patch lib_patch.Upstream
--git a/package/mesa3d-headers/mesa3d-headers.mk b/package/mesa3d-headers/mesa3d-headers.mk
index cabdbe6595..2ce0465a08 100644
--- a/package/mesa3d-headers/mesa3d-headers.mk
+++ b/package/mesa3d-headers/mesa3d-headers.mk
@@ -12,7 +12,7 @@ endif
# Not possible to directly refer to mesa3d variables, because of
# first/second expansion trickery...
-MESA3D_HEADERS_VERSION = 25.0.6
+MESA3D_HEADERS_VERSION = 25.1.3
MESA3D_HEADERS_SOURCE = mesa-$(MESA3D_HEADERS_VERSION).tar.xz
MESA3D_HEADERS_SITE = https://archive.mesa3d.org
MESA3D_HEADERS_DL_SUBDIR = mesa3d
diff --git a/package/mesa3d/0001-meson-Set-proper-value-for-LIBCLC_INCLUDEDIR.patch b/package/mesa3d/0001-meson-Set-proper-value-for-LIBCLC_INCLUDEDIR.patch
deleted file mode 100644
index ff362551ea..0000000000
--- a/package/mesa3d/0001-meson-Set-proper-value-for-LIBCLC_INCLUDEDIR.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From 7b46756a99aca7f27a45c3b99460f088570f6f53 Mon Sep 17 00:00:00 2001
-From: Romain Naour <romain.naour@smile.fr>
-Date: Wed, 17 Apr 2019 23:07:42 +0200
-Subject: [PATCH] meson: Set proper value for LIBCLC_INCLUDEDIR
-
-LIBCLC_INCLUDEDIR is the location where mesa3d OpenCL implementation
-will look for OpenCL "headers" on the target, when building the OpenCL
-kernels.
-
-The value returned by pkg-config for includedir is relevant when
-cross-compiling, on the build machine. But in this specific case, we
-really need a value that is valid on the target.
-
-Those headers are installed by the libclc package in /usr/share so
-that they are not removed by Buildroot target-finalize logic.
-
-Based on the patch for autotools provided by Valentin Korenblit.
-
-Signed-off-by: Romain Naour <romain.naour@smile.fr>
-Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
-[rebased for 20.2.0, 20.3.0 & 25.0.0]
----
- src/gallium/frontends/clover/meson.build | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/gallium/frontends/clover/meson.build b/src/gallium/frontends/clover/meson.build
-index 62ac5f5278d..ecdeb39669c 100644
---- a/src/gallium/frontends/clover/meson.build
-+++ b/src/gallium/frontends/clover/meson.build
-@@ -10,7 +10,7 @@
- '-DCL_USE_DEPRECATED_OPENCL_2_0_APIS',
- '-DCL_USE_DEPRECATED_OPENCL_2_1_APIS',
- '-DCL_USE_DEPRECATED_OPENCL_2_2_APIS',
-- '-DLIBCLC_INCLUDEDIR="@0@/"'.format(dep_clc.get_variable(pkgconfig : 'includedir')),
-+ '-DLIBCLC_INCLUDEDIR="/usr/share"',
- '-DLIBCLC_LIBEXECDIR="@0@/"'.format(dep_clc.get_variable(pkgconfig : 'libexecdir'))
- ]
- clover_incs = [inc_include, inc_src, inc_gallium, inc_gallium_aux]
---
-2.20.1
-
diff --git a/package/mesa3d/0002-vc4-add-meson-option-to-disable-optional-neon-suppor.patch b/package/mesa3d/0001-vc4-add-meson-option-to-disable-optional-neon-suppor.patch
similarity index 86%
rename from package/mesa3d/0002-vc4-add-meson-option-to-disable-optional-neon-suppor.patch
rename to package/mesa3d/0001-vc4-add-meson-option-to-disable-optional-neon-suppor.patch
index 3b9bca0693..37f7f5a192 100644
--- a/package/mesa3d/0002-vc4-add-meson-option-to-disable-optional-neon-suppor.patch
+++ b/package/mesa3d/0001-vc4-add-meson-option-to-disable-optional-neon-suppor.patch
@@ -1,7 +1,7 @@
-From f719e942dde0a46a9ff0080001cb3466012ffcc0 Mon Sep 17 00:00:00 2001
+From 613c3207b111845d06e05a56953d3dd7dbf4247e Mon Sep 17 00:00:00 2001
From: Peter Seiderer <ps.report@gmx.net>
Date: Mon, 9 Mar 2020 13:01:14 +0100
-Subject: [PATCH] vc4: add meson option to disable optional neon support
+Subject: [PATCH 1/3] vc4: add meson option to disable optional neon support
Not all toolchains are able to compile the runtime
optional vc4 neon support, so add an meson option
@@ -14,15 +14,15 @@ Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
[fix syntax error after previous rebases]
---
- meson_options.txt | 7 +++++++
+ meson.options | 7 +++++++
src/gallium/drivers/vc4/meson.build | 4 ++--
src/gallium/drivers/vc4/vc4_tiling.h | 4 ++--
3 files changed, 11 insertions(+), 4 deletions(-)
-diff --git a/meson_options.txt b/meson_options.txt
-index 8e0bf2a..1cf0e07 100644
---- a/meson_options.txt
-+++ b/meson_options.txt
+diff --git a/meson.options b/meson.options
+index 7a1ff5344fa..6c5c3dbd369 100644
+--- a/meson.options
++++ b/meson.options
@@ -117,6 +117,13 @@ option(
description : 'enable gallium va frontend.',
)
@@ -38,10 +38,10 @@ index 8e0bf2a..1cf0e07 100644
'va-libs-path',
type : 'string',
diff --git a/src/gallium/drivers/vc4/meson.build b/src/gallium/drivers/vc4/meson.build
-index 84da951..7f950de 100644
+index 54b165d69db..8398715bf39 100644
--- a/src/gallium/drivers/vc4/meson.build
+++ b/src/gallium/drivers/vc4/meson.build
-@@ -72,7 +72,7 @@ files_libvc4 = files(
+@@ -72,7 +72,7 @@ vc4_deps = [
]
libvc4_neon = []
@@ -60,7 +60,7 @@ index 84da951..7f950de 100644
if dep_simpenrose.found()
diff --git a/src/gallium/drivers/vc4/vc4_tiling.h b/src/gallium/drivers/vc4/vc4_tiling.h
-index 5afe329..919b299 100644
+index 5afe32939a8..919b2990ab1 100644
--- a/src/gallium/drivers/vc4/vc4_tiling.h
+++ b/src/gallium/drivers/vc4/vc4_tiling.h
@@ -89,7 +89,7 @@ vc4_load_lt_image(void *dst, uint32_t dst_stride,
@@ -82,5 +82,5 @@ index 5afe329..919b299 100644
vc4_store_lt_image_neon(dst, dst_stride, src, src_stride,
cpp, box);
--
-2.41.0
+2.47.2
diff --git a/package/mesa3d/0003-src-util-rand_xor-Include-stddef.h-to-fix-build-erro.patch b/package/mesa3d/0002-src-util-rand_xor-Include-stddef.h-to-fix-build-erro.patch
similarity index 86%
rename from package/mesa3d/0003-src-util-rand_xor-Include-stddef.h-to-fix-build-erro.patch
rename to package/mesa3d/0002-src-util-rand_xor-Include-stddef.h-to-fix-build-erro.patch
index e30cb97a72..3f94422378 100644
--- a/package/mesa3d/0003-src-util-rand_xor-Include-stddef.h-to-fix-build-erro.patch
+++ b/package/mesa3d/0002-src-util-rand_xor-Include-stddef.h-to-fix-build-erro.patch
@@ -1,7 +1,7 @@
-From fdc8b5a205e2116408aeb9fd305e57f656e2e89d Mon Sep 17 00:00:00 2001
+From 770d114a002b712e2a8be18603ee5c0009df2c2e Mon Sep 17 00:00:00 2001
From: Bernd Kuhls <bernd.kuhls@t-online.de>
Date: Sun, 9 Aug 2020 17:06:26 +0200
-Subject: [PATCH] src/util/rand_xor: Include stddef.h to fix build error
+Subject: [PATCH 2/3] src/util/rand_xor: Include stddef.h to fix build error
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
@@ -35,5 +35,5 @@ index 81b64f1ea71..fcb481487fa 100644
#include <sys/random.h>
#endif
--
-2.27.0
+2.47.2
diff --git a/package/mesa3d/0004-Fix-uClibc-build.patch b/package/mesa3d/0003-Fix-uClibc-build.patch
similarity index 87%
rename from package/mesa3d/0004-Fix-uClibc-build.patch
rename to package/mesa3d/0003-Fix-uClibc-build.patch
index faa86b0d1b..42ca6a4ae7 100644
--- a/package/mesa3d/0004-Fix-uClibc-build.patch
+++ b/package/mesa3d/0003-Fix-uClibc-build.patch
@@ -1,7 +1,7 @@
-From 09ce52fe375a6fc1ccf51b6b691aaa2c3f53fbd5 Mon Sep 17 00:00:00 2001
+From c2b68f473d9bf54e2fff1ca7f4cec8dd8922beb5 Mon Sep 17 00:00:00 2001
From: Bernd Kuhls <bernd.kuhls@t-online.de>
Date: Fri, 3 Jun 2022 16:26:03 +0200
-Subject: [PATCH] Fix uClibc build
+Subject: [PATCH 3/3] Fix uClibc build
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
@@ -29,12 +29,12 @@ Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
[rebased for 23.2.0]
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
- src/util/compiler.h | 10 ++++++++++
+ src/util/compiler.h | 11 +++++++++++
src/util/macros.h | 1 +
- 2 files changed, 11 insertions(+)
+ 2 files changed, 12 insertions(+)
diff --git a/src/util/compiler.h b/src/util/compiler.h
-index d184ad455af..b5c56807acc 100644
+index ddd4cfb836b..61a8d176ae2 100644
--- a/src/util/compiler.h
+++ b/src/util/compiler.h
@@ -35,6 +35,17 @@
@@ -56,7 +56,7 @@ index d184ad455af..b5c56807acc 100644
#include <stdarg.h>
#include <stdbool.h>
diff --git a/src/util/macros.h b/src/util/macros.h
-index 22b18303826..8f73ee72693 100644
+index bb8f9b58ffa..9c4c95f3d4e 100644
--- a/src/util/macros.h
+++ b/src/util/macros.h
@@ -31,6 +31,7 @@
@@ -68,5 +68,5 @@ index 22b18303826..8f73ee72693 100644
#ifdef _GAMING_XBOX
#define strdup _strdup
--
-2.34.1
+2.47.2
diff --git a/package/mesa3d/mesa3d.hash b/package/mesa3d/mesa3d.hash
index c94611ff05..8acb23c3c2 100644
--- a/package/mesa3d/mesa3d.hash
+++ b/package/mesa3d/mesa3d.hash
@@ -1,6 +1,6 @@
-# From https://lists.freedesktop.org/archives/mesa-announce/2025-May/000803.html
-sha256 0d179e019e3441f5d957330d7abb3b0ef38e6782cc85a382608cd1a4a77fa2e1 mesa-25.0.6.tar.xz
-sha512 6a0abc8a5bbbb8ffdad7286fc5642f643b1f4183794425ba689c2c9f5c73a4131c8685074241deb1022631b4c1f1c505dbd848190ec60d5d6931e90dd9316e05 mesa-25.0.6.tar.xz
+# From https://lists.freedesktop.org/archives/mesa-announce/2025-June/000807.html
+sha256 ffcb6cadb5fd356d56008e6308641dfe4b2929f30139f6585436ca6e3cddba7f mesa-25.1.3.tar.xz
+sha512 20b72ac4e39e559e36be07f003707cf5e25c5ebac22746d71438edecb9d911f5341373b1632ff08c00b57ac15fc880ce5a203ab9165e5e71057816be31344fd7 mesa-25.1.3.tar.xz2
# License
sha256 0d1a0472ecc81830e75c20d59b0ea02841e3db21255e0ebad97ab682c54d6615 docs/license.rst
sha256 323c587d0ccf10e376f8bf9a7f31fb4ca6078105194b42e0b1e0ee2bc9bde71f licenses/MIT
diff --git a/package/mesa3d/mesa3d.mk b/package/mesa3d/mesa3d.mk
index bc456a43a3..53c3596486 100644
--- a/package/mesa3d/mesa3d.mk
+++ b/package/mesa3d/mesa3d.mk
@@ -5,7 +5,7 @@
################################################################################
# When updating the version, please also update mesa3d-headers
-MESA3D_VERSION = 25.0.6
+MESA3D_VERSION = 25.1.3
MESA3D_SOURCE = mesa-$(MESA3D_VERSION).tar.xz
MESA3D_SITE = https://archive.mesa3d.org
MESA3D_LICENSE = MIT, SGI, Khronos
--
2.47.2
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 17+ messages in thread* [Buildroot] [PATCH v6 2/5] package/vulkan-sdk: new package
2025-06-11 11:16 [Buildroot] [PATCH v6 0/5] Add vkmark graphics benchmarking tool Alex Bennée
2025-06-11 11:16 ` [Buildroot] [PATCH v6 1/5] package/{mesa3d, mesa3d-headers}: bump version to 25.1.3 Alex Bennée
@ 2025-06-11 11:16 ` Alex Bennée
2025-06-14 10:51 ` Julien Olivain
2025-06-11 11:16 ` [Buildroot] [PATCH v6 3/5] package/vulkan-[headers|loader|tools]: bump to 1.4.317 release Alex Bennée
` (3 subsequent siblings)
5 siblings, 1 reply; 17+ messages in thread
From: Alex Bennée @ 2025-06-11 11:16 UTC (permalink / raw)
To: buildroot; +Cc: Heiko Thiery, Julien Olivain
The principle component of this is the new volk meta-loader which is
required for more recent versions of vulkan-tools. There does seem to
be a little confusion with github Releases lagging behind tagged
versions of the sdk. I've gone for the latest SDK version to stay as
closely aligned to the rest of the system as I can.
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
v6
- bump to vulkan-sdk-1.4.313.0
---
package/Config.in | 1 +
package/vulkan-sdk/Config.in | 8 ++++++++
package/vulkan-sdk/vulkan-sdk.hash | 3 +++
package/vulkan-sdk/vulkan-sdk.mk | 18 ++++++++++++++++++
4 files changed, 30 insertions(+)
create mode 100644 package/vulkan-sdk/Config.in
create mode 100644 package/vulkan-sdk/vulkan-sdk.hash
create mode 100644 package/vulkan-sdk/vulkan-sdk.mk
diff --git a/package/Config.in b/package/Config.in
index 579b5ffc87..2db555350d 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -375,6 +375,7 @@ comment "Graphic libraries"
source "package/tk/Config.in"
source "package/vulkan-headers/Config.in"
source "package/vulkan-loader/Config.in"
+ source "package/vulkan-sdk/Config.in"
source "package/vulkan-tools/Config.in"
comment "Other GUIs"
diff --git a/package/vulkan-sdk/Config.in b/package/vulkan-sdk/Config.in
new file mode 100644
index 0000000000..05bda237bb
--- /dev/null
+++ b/package/vulkan-sdk/Config.in
@@ -0,0 +1,8 @@
+config BR2_PACKAGE_VULKAN_SDK
+ bool "vulkan-sdk"
+ select BR2_PACKAGE_VULKAN_HEADERS
+
+ help
+ The Vulkan meta-loader
+
+ https://github.com/zeux/volk
diff --git a/package/vulkan-sdk/vulkan-sdk.hash b/package/vulkan-sdk/vulkan-sdk.hash
new file mode 100644
index 0000000000..f0f3da0e79
--- /dev/null
+++ b/package/vulkan-sdk/vulkan-sdk.hash
@@ -0,0 +1,3 @@
+# Locally calculated
+sha256 d86bcf1aff499f41a3e445b55df5e393a5ce49b1bda689eb7335b0a0a54a3c0b vulkan-sdk-1.4.313.0.tar.gz
+sha256 33c831f76b79501665e66c23ac8f876020457c216d44526a8f747da897999b35 LICENSE.md
diff --git a/package/vulkan-sdk/vulkan-sdk.mk b/package/vulkan-sdk/vulkan-sdk.mk
new file mode 100644
index 0000000000..050f6c03f3
--- /dev/null
+++ b/package/vulkan-sdk/vulkan-sdk.mk
@@ -0,0 +1,18 @@
+################################################################################
+#
+# vulkan-sdk
+#
+################################################################################
+
+VULKAN_SDK_VERSION = 1.4.313.0
+VULKAN_SDK_SITE = https://github.com/zeux/volk/archive/refs/tags
+VULKAN_SDK_SOURCE= vulkan-sdk-$(VULKAN_SDK_VERSION).tar.gz
+VULKAN_SDK_LICENSE = MIT
+VULKAN_SDK_LICENSE_FILES = LICENSE.md
+VULKAN_SDK_INSTALL_STAGING = YES
+
+VULKAN_SDK_DEPENDENCIES = vulkan-headers
+
+VULKAN_SDK_CONF_OPTS += -DVOLK_INSTALL=ON
+
+$(eval $(cmake-package))
--
2.47.2
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 17+ messages in thread* Re: [Buildroot] [PATCH v6 2/5] package/vulkan-sdk: new package
2025-06-11 11:16 ` [Buildroot] [PATCH v6 2/5] package/vulkan-sdk: new package Alex Bennée
@ 2025-06-14 10:51 ` Julien Olivain
0 siblings, 0 replies; 17+ messages in thread
From: Julien Olivain @ 2025-06-14 10:51 UTC (permalink / raw)
To: Alex Bennée; +Cc: buildroot, Heiko Thiery
Hi Alex,
Thanks for the patch! I have few comments, see below.
On 11/06/2025 13:16, Alex Bennée wrote:
> The principle component of this is the new volk meta-loader which is
> required for more recent versions of vulkan-tools. There does seem to
> be a little confusion with github Releases lagging behind tagged
> versions of the sdk. I've gone for the latest SDK version to stay as
> closely aligned to the rest of the system as I can.
>
> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
>
> ---
> v6
> - bump to vulkan-sdk-1.4.313.0
> ---
[...]
> diff --git a/package/vulkan-sdk/Config.in
> b/package/vulkan-sdk/Config.in
> new file mode 100644
> index 0000000000..05bda237bb
> --- /dev/null
> +++ b/package/vulkan-sdk/Config.in
> @@ -0,0 +1,8 @@
> +config BR2_PACKAGE_VULKAN_SDK
> + bool "vulkan-sdk"
When testing with the command:
utils/test-pkg -a -p vulkan-sdk
There is few build failures reported:
bootlin-armv7m-uclibc [ 6/40]: FAILED
bootlin-m68k-5208-uclibc [ 8/40]: FAILED
br-arm-basic [28/40]: FAILED
br-arm-full-static [30/40]: FAILED
There is possibly a missing dependency missing here, like:
depends on !BR2_STATIC_LIBS # dlfcn.h
Could you also add the corresponding comment (see other packages
for example).
To better keep track of those dependencies, you should also update
the comment in package/vulkan-tools/Config.in, to:
depends on !BR2_STATIC_LIBS # vulkan-loader, vulkan-sdk
> + select BR2_PACKAGE_VULKAN_HEADERS
> +
To keep some consistency with all other packages in Buildroot, could
you remove this new line, please?
> + help
> + The Vulkan meta-loader
> +
> + https://github.com/zeux/volk
Could you send an updated patch fixing those issue, please?
Best regards,
Julien.
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Buildroot] [PATCH v6 3/5] package/vulkan-[headers|loader|tools]: bump to 1.4.317 release
2025-06-11 11:16 [Buildroot] [PATCH v6 0/5] Add vkmark graphics benchmarking tool Alex Bennée
2025-06-11 11:16 ` [Buildroot] [PATCH v6 1/5] package/{mesa3d, mesa3d-headers}: bump version to 25.1.3 Alex Bennée
2025-06-11 11:16 ` [Buildroot] [PATCH v6 2/5] package/vulkan-sdk: new package Alex Bennée
@ 2025-06-11 11:16 ` Alex Bennée
2025-06-14 11:11 ` Julien Olivain
2025-06-11 11:16 ` [Buildroot] [PATCH v6 4/5] package/vkmark: add vkmark benchmarking tool Alex Bennée
` (2 subsequent siblings)
5 siblings, 1 reply; 17+ messages in thread
From: Alex Bennée @ 2025-06-11 11:16 UTC (permalink / raw)
To: buildroot; +Cc: Heiko Thiery, Julien Olivain
Update to the current release. We now need the recently added
vulkan-sdk to have access to the volk loader.
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
v5
- 1.4.316 -> 1.4.317
v4
- 1.4.306 -> 1.4.316
- doesn't seem to need isystem patch now
v3
- fix up comment, properly select the SDK package
---
| 2 +-
| 2 +-
package/vulkan-loader/vulkan-loader.hash | 2 +-
package/vulkan-tools/Config.in | 3 ++-
package/vulkan-tools/vulkan-tools.hash | 2 +-
package/vulkan-tools/vulkan-tools.mk | 3 ++-
6 files changed, 8 insertions(+), 6 deletions(-)
--git a/package/vulkan-headers/vulkan-headers.hash b/package/vulkan-headers/vulkan-headers.hash
index b38bfcff47..286639b579 100644
--- a/package/vulkan-headers/vulkan-headers.hash
+++ b/package/vulkan-headers/vulkan-headers.hash
@@ -1,3 +1,3 @@
# Locally calculated
-sha256 317e467a5fb2eaa6a18b984ec70fdbfaccd93595a3e6f4bcceca7d3fab280505 vulkan-headers-1.3.262.tar.gz
+sha256 78665959d10b09061d8c3e21db8bf3e8b699e2d3d532fce850a32312dba7228b vulkan-headers-1.4.317.tar.gz
sha256 ac24e5ea920e4318e4d02c4086ae51f53cfb03feed06c18df1019e7ada1ec7bc LICENSE.md
--git a/package/vulkan-headers/vulkan-headers.mk b/package/vulkan-headers/vulkan-headers.mk
index 20b248364d..52d5b56086 100644
--- a/package/vulkan-headers/vulkan-headers.mk
+++ b/package/vulkan-headers/vulkan-headers.mk
@@ -6,7 +6,7 @@
# Note: changing this version will also affect vulkan-loader and
# vulkan-tools, so please update those packages as well.
-VULKAN_HEADERS_VERSION = 1.3.262
+VULKAN_HEADERS_VERSION = 1.4.317
VULKAN_HEADERS_SITE = $(call github,KhronosGroup,Vulkan-Headers,v$(VULKAN_HEADERS_VERSION))
VULKAN_HEADERS_LICENSE = Apache-2.0, MIT
VULKAN_HEADERS_LICENSE_FILES = LICENSE.md
diff --git a/package/vulkan-loader/vulkan-loader.hash b/package/vulkan-loader/vulkan-loader.hash
index e09ecda8a9..5bfc02f5c8 100644
--- a/package/vulkan-loader/vulkan-loader.hash
+++ b/package/vulkan-loader/vulkan-loader.hash
@@ -1,3 +1,3 @@
# Locally calculated
-sha256 3bbaa5ee64058a89949eb777de66ce94bfe3141892514172cfc9451c756802d5 vulkan-loader-1.3.262.tar.gz
+sha256 e4e18585fe902ee04e86c1cdb2996b686bffef2cab02cb6079221fe69df05af8 vulkan-loader-1.4.317.tar.gz
sha256 43c0a37e6a0fa7ff3c843b3ec5a4fac84b712558ddac103fbd4c1649662a9ece LICENSE.txt
diff --git a/package/vulkan-tools/Config.in b/package/vulkan-tools/Config.in
index 54fa539dab..bb0dce8282 100644
--- a/package/vulkan-tools/Config.in
+++ b/package/vulkan-tools/Config.in
@@ -6,12 +6,13 @@ config BR2_PACKAGE_VULKAN_TOOLS
depends on BR2_TOOLCHAIN_HAS_THREADS # vulkan-loader
select BR2_PACKAGE_VULKAN_HEADERS
select BR2_PACKAGE_VULKAN_LOADER
+ select BR2_PACKAGE_VULKAN_SDK
help
The Khronos official Vulkan Tools and Utilities.
https://github.com/KhronosGroup/Vulkan-Tools
-comment "vulkan-tools needs a toolchain w/ C++, dynamic library, threads, gcc >= 4.9"
+comment "vulkan-tools needs a toolchain w/ C++, dynamic library, threads, gcc >= 4.9, vulkan-sdk"
depends on !BR2_INSTALL_LIBSTDCPP || BR2_STATIC_LIBS || \
!BR2_TOOLCHAIN_HAS_THREADS || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
diff --git a/package/vulkan-tools/vulkan-tools.hash b/package/vulkan-tools/vulkan-tools.hash
index 24c0697784..504177379b 100644
--- a/package/vulkan-tools/vulkan-tools.hash
+++ b/package/vulkan-tools/vulkan-tools.hash
@@ -1,3 +1,3 @@
# Locally calculated
-sha256 8c77d02694d0516ae2ba3f3718745647e87e788ef93faabb2e3674ff32608010 vulkan-tools-1.3.262.tar.gz
+sha256 4586309ab5b2a9584fde62fd85b0ef5bb98b4cdbca9cb1ba3a2b4978dc2f355c vulkan-tools-1.4.317.tar.gz
sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE.txt
diff --git a/package/vulkan-tools/vulkan-tools.mk b/package/vulkan-tools/vulkan-tools.mk
index 9f5bf46b79..9deeda6086 100644
--- a/package/vulkan-tools/vulkan-tools.mk
+++ b/package/vulkan-tools/vulkan-tools.mk
@@ -11,7 +11,8 @@ VULKAN_TOOLS_LICENSE_FILES = LICENSE.txt
VULKAN_TOOLS_DEPENDENCIES = \
vulkan-headers \
- vulkan-loader
+ vulkan-loader \
+ vulkan-sdk
VULKAN_TOOLS_CONF_OPTS += \
-DBUILD_CUBE=OFF \
--
2.47.2
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 17+ messages in thread* Re: [Buildroot] [PATCH v6 3/5] package/vulkan-[headers|loader|tools]: bump to 1.4.317 release
2025-06-11 11:16 ` [Buildroot] [PATCH v6 3/5] package/vulkan-[headers|loader|tools]: bump to 1.4.317 release Alex Bennée
@ 2025-06-14 11:11 ` Julien Olivain
0 siblings, 0 replies; 17+ messages in thread
From: Julien Olivain @ 2025-06-14 11:11 UTC (permalink / raw)
To: Alex Bennée; +Cc: buildroot, Heiko Thiery
Hi Alex,
On 11/06/2025 13:16, Alex Bennée wrote:
> Update to the current release. We now need the recently added
> vulkan-sdk to have access to the volk loader.
>
> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
>
> ---
> v5
> - 1.4.316 -> 1.4.317
> v4
> - 1.4.306 -> 1.4.316
> - doesn't seem to need isystem patch now
> v3
> - fix up comment, properly select the SDK package
[...]
> diff --git a/package/vulkan-tools/Config.in
> b/package/vulkan-tools/Config.in
> index 54fa539dab..bb0dce8282 100644
> --- a/package/vulkan-tools/Config.in
> +++ b/package/vulkan-tools/Config.in
> @@ -6,12 +6,13 @@ config BR2_PACKAGE_VULKAN_TOOLS
As I mentioned in:
https://lore.kernel.org/buildroot/1215059662f277baf90c9d16a7edac02@free.fr/T/#u
Could you update the dependency comment in this patch:
depends on !BR2_STATIC_LIBS # vulkan-loader, vulkan-sdk
> depends on BR2_TOOLCHAIN_HAS_THREADS # vulkan-loader
> select BR2_PACKAGE_VULKAN_HEADERS
> select BR2_PACKAGE_VULKAN_LOADER
> + select BR2_PACKAGE_VULKAN_SDK
>
> help
> The Khronos official Vulkan Tools and Utilities.
>
> https://github.com/KhronosGroup/Vulkan-Tools
>
> -comment "vulkan-tools needs a toolchain w/ C++, dynamic library,
> threads, gcc >= 4.9"
> +comment "vulkan-tools needs a toolchain w/ C++, dynamic library,
> threads, gcc >= 4.9, vulkan-sdk"
Here, adding "vulkan-sdk" is not needed (because it is "select"ed and
not a "depends on").
Could you remove it.
> depends on !BR2_INSTALL_LIBSTDCPP || BR2_STATIC_LIBS || \
> !BR2_TOOLCHAIN_HAS_THREADS || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
Could you send an updated patch addressing those comments, please?
Best regards,
Julien.
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Buildroot] [PATCH v6 4/5] package/vkmark: add vkmark benchmarking tool
2025-06-11 11:16 [Buildroot] [PATCH v6 0/5] Add vkmark graphics benchmarking tool Alex Bennée
` (2 preceding siblings ...)
2025-06-11 11:16 ` [Buildroot] [PATCH v6 3/5] package/vulkan-[headers|loader|tools]: bump to 1.4.317 release Alex Bennée
@ 2025-06-11 11:16 ` Alex Bennée
2025-06-11 13:11 ` Heiko Thiery
2025-06-14 10:59 ` Julien Olivain
2025-06-11 11:16 ` [Buildroot] [PATCH v6 5/5] support/testing: add test for vkmark package Alex Bennée
[not found] ` <20250611111640.702572-2-alex.bennee__11620.3121536941$1749640635$gmane$org@linaro.org>
5 siblings, 2 replies; 17+ messages in thread
From: Alex Bennée @ 2025-06-11 11:16 UTC (permalink / raw)
To: buildroot; +Cc: Eric Le Bihan, Heiko Thiery, Julien Olivain
We build from a recent HEAD to ensure we have the fixes to better
handle the missing KHR_display extension.
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
v6
- add patches from https://github.com/vkmark/vkmark/pull/76
- sort Kconfig symbols
- update .checkpackageignore
v5
- move from 2025.1 to HEAD (36e7d9b build: Enable precompiled headers)
- drop old patch (see adf1aa3 for final fix)
v4
- fix tab vs space damage
- don't if BR2_PACKAGE_VKMARK_FLAVOR_ANY
- make comments properly depend
- use the new 2025.01 release
- add sha256sum of COPYING-LGPL2.1
- alphabetic sort of initial VKMARK_DEPENDENCIES
- add vulkan error probing patch
v3
- add xcb-util-wm deps under X11
- add assimp directly to VKMARK_DEPENDENCIES
- drop duplicate BR2_INSTALL_LIBSTDCPP
- drop BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
v2
- fix whitespace errors in Config.in
- fix sorting of sources
- add DEVELOPERS entry
- rework KConfig based on review
- drop unused sha256sum
- explicitly enable/disable the backends
---
.checkpackageignore | 2 +
DEVELOPERS | 3 +
package/Config.in | 1 +
...ce-deprecated-get_pkgconfig_variable.patch | 66 +++++++++++++++++++
...02-meson-fix-cross-compilation-50-75.patch | 35 ++++++++++
package/vkmark/Config.in | 48 ++++++++++++++
package/vkmark/vkmark.hash | 3 +
package/vkmark/vkmark.mk | 34 ++++++++++
8 files changed, 192 insertions(+)
create mode 100644 package/vkmark/0001-meson-replace-deprecated-get_pkgconfig_variable.patch
create mode 100644 package/vkmark/0002-meson-fix-cross-compilation-50-75.patch
create mode 100644 package/vkmark/Config.in
create mode 100644 package/vkmark/vkmark.hash
create mode 100644 package/vkmark/vkmark.mk
diff --git a/.checkpackageignore b/.checkpackageignore
index 5cbbbd38ba..2f8f717aec 100644
--- a/.checkpackageignore
+++ b/.checkpackageignore
@@ -1203,6 +1203,8 @@ package/valgrind/0001-workaround-SIGSEGV-on-PPC.patch lib_patch.Upstream
package/valgrind/0002-Define-PTRACE_GETSIGINFO-on-PowerPC-when-not-availab.patch lib_patch.Upstream
package/vboot-utils/0001-Add-missing-definition-of-MTD_CHAR_MAJOR.patch lib_patch.Upstream
package/vdr/0001-getloadavg.patch lib_patch.Upstream
+package/vkmark/0001-meson-replace-deprecated-get_pkgconfig_variable.patch lib_patch.NumberedSubject lib_patch.Upstream
+package/vkmark/0002-meson-fix-cross-compilation-50-75.patch lib_patch.NumberedSubject lib_patch.Upstream
package/vlc/0001-Disable-building-of-statically-linked-vlc-binary.patch lib_patch.Upstream
package/vlc/0002-automake-add-subdir-objects-option.patch lib_patch.Upstream
package/vlc/0003-build-use-pkg-config-to-get-tremor-libs.patch lib_patch.Upstream
diff --git a/DEVELOPERS b/DEVELOPERS
index a7bb3bd834..774381e77c 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -141,6 +141,9 @@ F: package/liblog4c-localtime/
N: Alexandre Belloni <alexandre.belloni@bootlin.com>
F: package/tz/
+N: Alex Bennée <alex.bennee@linaro.org>
+F: package/vkmark/
+
N: Alexandre Esse <alexandre.esse.dev@gmail.com>
F: package/kvazaar/
F: package/v4l2loopback/
diff --git a/package/Config.in b/package/Config.in
index 2db555350d..804c7979b0 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -339,6 +339,7 @@ comment "Graphic applications"
source "package/swaybg/Config.in"
source "package/tesseract-ocr/Config.in"
source "package/tinifier/Config.in"
+ source "package/vkmark/Config.in"
comment "Graphic libraries"
source "package/cegui/Config.in"
diff --git a/package/vkmark/0001-meson-replace-deprecated-get_pkgconfig_variable.patch b/package/vkmark/0001-meson-replace-deprecated-get_pkgconfig_variable.patch
new file mode 100644
index 0000000000..1a24a62526
--- /dev/null
+++ b/package/vkmark/0001-meson-replace-deprecated-get_pkgconfig_variable.patch
@@ -0,0 +1,66 @@
+From d14487a31026a25ca0c294989e1db4d5039a6270 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>
+Date: Fri, 6 Jun 2025 17:40:02 +0100
+Subject: [PATCH 1/2] meson: replace deprecated get_pkgconfig_variable
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+This function will be deprecated on modern mesons. Update the minimum
+version to 0.56 which is enough for most of the current LTS's and
+replace with calls to get_variable().
+
+Looking at repology this covers:
+
+ Debian Bookworm (soon to be oldstable): 1.0.1-5
+ Ubuntu 22.04: 0.61.2
+ CentOS Stream 8: 0.58.2 (CentOS 8 Power Tools is 0.55.3)
+ openSUSE Leap 15.6: 1.3.1
+ FreeBSD Ports: 1.7.0
+
+Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
+---
+ meson.build | 2 +-
+ src/meson.build | 6 +++---
+ 2 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/meson.build b/meson.build
+index e7bdb18..2d08d53 100644
+--- a/meson.build
++++ b/meson.build
+@@ -3,7 +3,7 @@ project(
+ ['cpp', 'c'],
+ default_options : ['cpp_std=c++17'],
+ version : '2025.01',
+- meson_version: '>=0.45'
++ meson_version: '>=0.58'
+ )
+
+ root_incdir = include_directories('.')
+diff --git a/src/meson.build b/src/meson.build
+index 5c543d6..a664ddc 100644
+--- a/src/meson.build
++++ b/src/meson.build
+@@ -1,7 +1,7 @@
+ prog_python = find_program('python3')
+
+ vk_xml = join_paths([
+- vulkan_dep.get_pkgconfig_variable('prefix'),
++ vulkan_dep.get_variable('prefix'),
+ 'share', 'vulkan', 'registry',
+ 'vk.xml'
+ ])
+@@ -111,8 +111,8 @@ if build_xcb_ws
+ endif
+
+ if build_wayland_ws
+- wayland_scanner = find_program(wayland_scanner_dep.get_pkgconfig_variable('wayland_scanner'))
+- wayland_protocols_dir = wayland_protocols_dep.get_pkgconfig_variable('pkgdatadir')
++ wayland_scanner = find_program(wayland_scanner_dep.get_variable('wayland_scanner'))
++ wayland_protocols_dir = wayland_protocols_dep.get_variable('pkgdatadir')
+
+ xdg_shell_xml_path = wayland_protocols_dir + '/stable/xdg-shell/xdg-shell.xml'
+ xdg_shell_client_header = custom_target(
+--
+2.47.2
+
diff --git a/package/vkmark/0002-meson-fix-cross-compilation-50-75.patch b/package/vkmark/0002-meson-fix-cross-compilation-50-75.patch
new file mode 100644
index 0000000000..92b8cbc1b9
--- /dev/null
+++ b/package/vkmark/0002-meson-fix-cross-compilation-50-75.patch
@@ -0,0 +1,35 @@
+From dc9a0c2d8687501ddf97c97599fa7a69d07d3d3d Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>
+Date: Fri, 6 Jun 2025 17:48:40 +0100
+Subject: [PATCH 2/2] meson: fix cross-compilation (#50, #75)
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Now we have updated the minimum meson version we can apply sys_root to
+the prefix variable to ensure we can find the right vk.xml when
+cross-compiling.
+
+Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
+---
+ src/meson.build | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/src/meson.build b/src/meson.build
+index a664ddc..b0e8c4a 100644
+--- a/src/meson.build
++++ b/src/meson.build
+@@ -1,7 +1,9 @@
+ prog_python = find_program('python3')
+
++vulkan_prefix = meson.get_external_property('sys_root', '') + vulkan_dep.get_variable('prefix')
++
+ vk_xml = join_paths([
+- vulkan_dep.get_variable('prefix'),
++ vulkan_prefix,
+ 'share', 'vulkan', 'registry',
+ 'vk.xml'
+ ])
+--
+2.47.2
+
diff --git a/package/vkmark/Config.in b/package/vkmark/Config.in
new file mode 100644
index 0000000000..b0e85c9c55
--- /dev/null
+++ b/package/vkmark/Config.in
@@ -0,0 +1,48 @@
+config BR2_PACKAGE_VKMARK_FLAVOR_ANY
+ bool
+
+config BR2_PACKAGE_VKMARK_FLAVOR_KMS
+ bool
+ default y if BR2_PACKAGE_HAS_LIBGBM
+ select BR2_PACKAGE_VKMARK_FLAVOR_ANY
+
+config BR2_PACKAGE_VKMARK_FLAVOR_WAYLAND
+ bool
+ default y if BR2_PACKAGE_WAYLAND
+ select BR2_PACKAGE_VKMARK_FLAVOR_ANY
+
+config BR2_PACKAGE_VKMARK_FLAVOR_X11
+ bool
+ default y if BR2_PACKAGE_XORG7
+ select BR2_PACKAGE_VKMARK_FLAVOR_ANY
+
+config BR2_PACKAGE_VKMARK
+ bool "vkmark"
+ depends on BR2_PACKAGE_VKMARK_FLAVOR_ANY
+ depends on !BR2_STATIC_LIBS # vulkan-loader
+ depends on BR2_TOOLCHAIN_HAS_THREADS # vulkan-loader
+ depends on BR2_USE_WCHAR # assimp
+ depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7 # assimp
+ depends on BR2_INSTALL_LIBSTDCPP # vulkan-loader, glm, assimp, vkmark
+ select BR2_PACKAGE_VULKAN_HEADERS
+ select BR2_PACKAGE_VULKAN_LOADER
+ select BR2_PACKAGE_GLM
+ select BR2_PACKAGE_ASSIMP
+ select BR2_PACKAGE_WAYLAND_PROTOCOLS if BR2_PACKAGE_VKMARK_FLAVOR_WAYLAND
+ select BR2_PACKAGE_LIBXCB if BR2_PACKAGE_VKMARK_FLAVOR_X11
+ select BR2_PACKAGE_XCB_UTIL_WM if BR2_PACKAGE_VKMARK_FLAVOR_X11
+ select BR2_PACKAGE_LIBDRM if BR2_PACKAGE_VKMARK_FLAVOR_KMS
+ help
+ vmmark is an Vulkan GPU benchmark.
+
+ https://github.com/vkmark/vkmark
+
+comment "vkmark needs a toolchain w/ dynamic library, threads, wchar, gcc >= 7, C++"
+ depends on BR2_STATIC_LIBS || \
+ !BR2_TOOLCHAIN_HAS_THREADS || \
+ !BR2_USE_WCHAR || \
+ !BR2_TOOLCHAIN_GCC_AT_LEAST_7 || \
+ !BR2_INSTALL_LIBSTDCPP
+
+comment "vkmark needs a backend: gbm, wayland or xcb"
+ depends on !BR2_PACKAGE_VKMARK_FLAVOR_ANY
diff --git a/package/vkmark/vkmark.hash b/package/vkmark/vkmark.hash
new file mode 100644
index 0000000000..34c3121939
--- /dev/null
+++ b/package/vkmark/vkmark.hash
@@ -0,0 +1,3 @@
+# Locally computed
+sha256 2225ef4e3ba785abcc249664644908b909517cae6c04bf37e9f3d0cf206efe83 vkmark-36e7d9b2ecf723e876add65534e95f55ec1bc79d.tar.gz
+sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING-LGPL2.1
diff --git a/package/vkmark/vkmark.mk b/package/vkmark/vkmark.mk
new file mode 100644
index 0000000000..d7e8ea2e6d
--- /dev/null
+++ b/package/vkmark/vkmark.mk
@@ -0,0 +1,34 @@
+################################################################################
+#
+# vkmark
+#
+################################################################################
+
+VKMARK_VERSION = 36e7d9b2ecf723e876add65534e95f55ec1bc79d
+VKMARK_SITE = $(call github,vkmark,vkmark,$(VKMARK_VERSION))
+VKMARK_LICENSE = LGPL-2.1
+VKMARK_LICENSE_FILES = COPYING-LGPL2.1
+VKMARK_DEPENDENCIES = assimp glm host-pkgconf vulkan-headers vulkan-loader
+
+ifeq ($(BR2_PACKAGE_VKMARK_FLAVOR_KMS),y)
+VKMARK_DEPENDENCIES += libdrm libgbm
+VKMARK_CONF_OPTS += -Dkms=true
+else
+VKMARK_CONF_OPTS += -Dkms=false
+endif
+
+ifeq ($(BR2_PACKAGE_VKMARK_FLAVOR_WAYLAND),y)
+VKMARK_DEPENDENCIES += wayland wayland-protocols
+VKMARK_CONF_OPTS += -Dwayland=true
+else
+VKMARK_CONF_OPTS += -Dwayland=false
+endif
+
+ifeq ($(BR2_PACKAGE_VKMARK_FLAVOR_X11),y)
+VKMARK_DEPENDENCIES += libxcb xcb-util-wm
+VKMARK_CONF_OPTS += -Dxcb=true
+else
+VKMARK_CONF_OPTS += -Dxcb=false
+endif
+
+$(eval $(meson-package))
--
2.47.2
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 17+ messages in thread* Re: [Buildroot] [PATCH v6 4/5] package/vkmark: add vkmark benchmarking tool
2025-06-11 11:16 ` [Buildroot] [PATCH v6 4/5] package/vkmark: add vkmark benchmarking tool Alex Bennée
@ 2025-06-11 13:11 ` Heiko Thiery
2025-06-11 13:55 ` Alex Bennée
2025-06-14 10:59 ` Julien Olivain
1 sibling, 1 reply; 17+ messages in thread
From: Heiko Thiery @ 2025-06-11 13:11 UTC (permalink / raw)
To: Alex Bennée; +Cc: buildroot, Julien Olivain, Eric Le Bihan
[-- Attachment #1.1: Type: text/plain, Size: 13007 bytes --]
Hi Alex,
Am Mi., 11. Juni 2025 um 13:16 Uhr schrieb Alex Bennée <
alex.bennee@linaro.org>:
> We build from a recent HEAD to ensure we have the fixes to better
> handle the missing KHR_display extension.
>
> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
>
>
I tried to build vkmark against, now with wayland enabled and I see this:
Program /usr/bin/wayland-scanner found: NO
../out-weston/build/vkmark-36e7d9b2ecf723e876add65534e95f55ec1bc79d/src/meson.build:116:22:
ERROR: Program '/usr/bin/wayland-scanner' not found or not executable
A full log can be found at
/srv/storage/hthiery/sources/sa67/out-weston/build/vkmark-36e7d9b2ecf723e876add65534e95f55ec1bc79d/buildroot-build/meson-logs/meson-log.txt
make[1]: *** [package/pkg-generic.mk:263:
/srv/storage/hthiery/sources/sa67/out-weston/build/vkmark-36e7d9b2ecf723e876add65534e95f55ec1bc79d/.stamp_configured]
Error 1
make: *** [Makefile:23: _all] Error 2
It looks like here we have something similar like before. It looks under
'/usr/bin/wayland-scanner' but the prefix is missing.
> ---
> v6
> - add patches from https://github.com/vkmark/vkmark/pull/76
> - sort Kconfig symbols
> - update .checkpackageignore
> v5
> - move from 2025.1 to HEAD (36e7d9b build: Enable precompiled headers)
> - drop old patch (see adf1aa3 for final fix)
> v4
> - fix tab vs space damage
> - don't if BR2_PACKAGE_VKMARK_FLAVOR_ANY
> - make comments properly depend
> - use the new 2025.01 release
> - add sha256sum of COPYING-LGPL2.1
> - alphabetic sort of initial VKMARK_DEPENDENCIES
> - add vulkan error probing patch
> v3
> - add xcb-util-wm deps under X11
> - add assimp directly to VKMARK_DEPENDENCIES
> - drop duplicate BR2_INSTALL_LIBSTDCPP
> - drop BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
> v2
> - fix whitespace errors in Config.in
> - fix sorting of sources
> - add DEVELOPERS entry
> - rework KConfig based on review
> - drop unused sha256sum
> - explicitly enable/disable the backends
> ---
> .checkpackageignore | 2 +
> DEVELOPERS | 3 +
> package/Config.in | 1 +
> ...ce-deprecated-get_pkgconfig_variable.patch | 66 +++++++++++++++++++
> ...02-meson-fix-cross-compilation-50-75.patch | 35 ++++++++++
> package/vkmark/Config.in | 48 ++++++++++++++
> package/vkmark/vkmark.hash | 3 +
> package/vkmark/vkmark.mk | 34 ++++++++++
> 8 files changed, 192 insertions(+)
> create mode 100644
> package/vkmark/0001-meson-replace-deprecated-get_pkgconfig_variable.patch
> create mode 100644
> package/vkmark/0002-meson-fix-cross-compilation-50-75.patch
> create mode 100644 package/vkmark/Config.in
> create mode 100644 package/vkmark/vkmark.hash
> create mode 100644 package/vkmark/vkmark.mk
>
> diff --git a/.checkpackageignore b/.checkpackageignore
> index 5cbbbd38ba..2f8f717aec 100644
> --- a/.checkpackageignore
> +++ b/.checkpackageignore
> @@ -1203,6 +1203,8 @@
> package/valgrind/0001-workaround-SIGSEGV-on-PPC.patch lib_patch.Upstream
> package/valgrind/0002-Define-PTRACE_GETSIGINFO-on-PowerPC-when-not-availab.patch
> lib_patch.Upstream
> package/vboot-utils/0001-Add-missing-definition-of-MTD_CHAR_MAJOR.patch
> lib_patch.Upstream
> package/vdr/0001-getloadavg.patch lib_patch.Upstream
> +package/vkmark/0001-meson-replace-deprecated-get_pkgconfig_variable.patch
> lib_patch.NumberedSubject lib_patch.Upstream
> +package/vkmark/0002-meson-fix-cross-compilation-50-75.patch
> lib_patch.NumberedSubject lib_patch.Upstream
> package/vlc/0001-Disable-building-of-statically-linked-vlc-binary.patch
> lib_patch.Upstream
> package/vlc/0002-automake-add-subdir-objects-option.patch
> lib_patch.Upstream
> package/vlc/0003-build-use-pkg-config-to-get-tremor-libs.patch
> lib_patch.Upstream
> diff --git a/DEVELOPERS b/DEVELOPERS
> index a7bb3bd834..774381e77c 100644
> --- a/DEVELOPERS
> +++ b/DEVELOPERS
> @@ -141,6 +141,9 @@ F: package/liblog4c-localtime/
> N: Alexandre Belloni <alexandre.belloni@bootlin.com>
> F: package/tz/
>
> +N: Alex Bennée <alex.bennee@linaro.org>
> +F: package/vkmark/
> +
> N: Alexandre Esse <alexandre.esse.dev@gmail.com>
> F: package/kvazaar/
> F: package/v4l2loopback/
> diff --git a/package/Config.in b/package/Config.in
> index 2db555350d..804c7979b0 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -339,6 +339,7 @@ comment "Graphic applications"
> source "package/swaybg/Config.in"
> source "package/tesseract-ocr/Config.in"
> source "package/tinifier/Config.in"
> + source "package/vkmark/Config.in"
>
> comment "Graphic libraries"
> source "package/cegui/Config.in"
> diff --git
> a/package/vkmark/0001-meson-replace-deprecated-get_pkgconfig_variable.patch
> b/package/vkmark/0001-meson-replace-deprecated-get_pkgconfig_variable.patch
> new file mode 100644
> index 0000000000..1a24a62526
> --- /dev/null
> +++
> b/package/vkmark/0001-meson-replace-deprecated-get_pkgconfig_variable.patch
> @@ -0,0 +1,66 @@
> +From d14487a31026a25ca0c294989e1db4d5039a6270 Mon Sep 17 00:00:00 2001
> +From: =?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>
> +Date: Fri, 6 Jun 2025 17:40:02 +0100
> +Subject: [PATCH 1/2] meson: replace deprecated get_pkgconfig_variable
> +MIME-Version: 1.0
> +Content-Type: text/plain; charset=UTF-8
> +Content-Transfer-Encoding: 8bit
> +
> +This function will be deprecated on modern mesons. Update the minimum
> +version to 0.56 which is enough for most of the current LTS's and
> +replace with calls to get_variable().
> +
> +Looking at repology this covers:
> +
> + Debian Bookworm (soon to be oldstable): 1.0.1-5
> + Ubuntu 22.04: 0.61.2
> + CentOS Stream 8: 0.58.2 (CentOS 8 Power Tools is 0.55.3)
> + openSUSE Leap 15.6: 1.3.1
> + FreeBSD Ports: 1.7.0
> +
> +Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
> +---
> + meson.build | 2 +-
> + src/meson.build | 6 +++---
> + 2 files changed, 4 insertions(+), 4 deletions(-)
> +
> +diff --git a/meson.build b/meson.build
> +index e7bdb18..2d08d53 100644
> +--- a/meson.build
> ++++ b/meson.build
> +@@ -3,7 +3,7 @@ project(
> + ['cpp', 'c'],
> + default_options : ['cpp_std=c++17'],
> + version : '2025.01',
> +- meson_version: '>=0.45'
> ++ meson_version: '>=0.58'
> + )
> +
> + root_incdir = include_directories('.')
> +diff --git a/src/meson.build b/src/meson.build
> +index 5c543d6..a664ddc 100644
> +--- a/src/meson.build
> ++++ b/src/meson.build
> +@@ -1,7 +1,7 @@
> + prog_python = find_program('python3')
> +
> + vk_xml = join_paths([
> +- vulkan_dep.get_pkgconfig_variable('prefix'),
> ++ vulkan_dep.get_variable('prefix'),
> + 'share', 'vulkan', 'registry',
> + 'vk.xml'
> + ])
> +@@ -111,8 +111,8 @@ if build_xcb_ws
> + endif
> +
> + if build_wayland_ws
> +- wayland_scanner =
> find_program(wayland_scanner_dep.get_pkgconfig_variable('wayland_scanner'))
> +- wayland_protocols_dir =
> wayland_protocols_dep.get_pkgconfig_variable('pkgdatadir')
> ++ wayland_scanner =
> find_program(wayland_scanner_dep.get_variable('wayland_scanner'))
> ++ wayland_protocols_dir =
> wayland_protocols_dep.get_variable('pkgdatadir')
> +
> + xdg_shell_xml_path = wayland_protocols_dir +
> '/stable/xdg-shell/xdg-shell.xml'
> + xdg_shell_client_header = custom_target(
> +--
> +2.47.2
> +
> diff --git a/package/vkmark/0002-meson-fix-cross-compilation-50-75.patch
> b/package/vkmark/0002-meson-fix-cross-compilation-50-75.patch
> new file mode 100644
> index 0000000000..92b8cbc1b9
> --- /dev/null
> +++ b/package/vkmark/0002-meson-fix-cross-compilation-50-75.patch
> @@ -0,0 +1,35 @@
> +From dc9a0c2d8687501ddf97c97599fa7a69d07d3d3d Mon Sep 17 00:00:00 2001
> +From: =?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>
> +Date: Fri, 6 Jun 2025 17:48:40 +0100
> +Subject: [PATCH 2/2] meson: fix cross-compilation (#50, #75)
> +MIME-Version: 1.0
> +Content-Type: text/plain; charset=UTF-8
> +Content-Transfer-Encoding: 8bit
> +
> +Now we have updated the minimum meson version we can apply sys_root to
> +the prefix variable to ensure we can find the right vk.xml when
> +cross-compiling.
> +
> +Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
> +---
> + src/meson.build | 4 +++-
> + 1 file changed, 3 insertions(+), 1 deletion(-)
> +
> +diff --git a/src/meson.build b/src/meson.build
> +index a664ddc..b0e8c4a 100644
> +--- a/src/meson.build
> ++++ b/src/meson.build
> +@@ -1,7 +1,9 @@
> + prog_python = find_program('python3')
> +
> ++vulkan_prefix = meson.get_external_property('sys_root', '') +
> vulkan_dep.get_variable('prefix')
> ++
> + vk_xml = join_paths([
> +- vulkan_dep.get_variable('prefix'),
> ++ vulkan_prefix,
> + 'share', 'vulkan', 'registry',
> + 'vk.xml'
> + ])
> +--
> +2.47.2
> +
> diff --git a/package/vkmark/Config.in b/package/vkmark/Config.in
> new file mode 100644
> index 0000000000..b0e85c9c55
> --- /dev/null
> +++ b/package/vkmark/Config.in
> @@ -0,0 +1,48 @@
> +config BR2_PACKAGE_VKMARK_FLAVOR_ANY
> + bool
> +
> +config BR2_PACKAGE_VKMARK_FLAVOR_KMS
> + bool
> + default y if BR2_PACKAGE_HAS_LIBGBM
> + select BR2_PACKAGE_VKMARK_FLAVOR_ANY
> +
> +config BR2_PACKAGE_VKMARK_FLAVOR_WAYLAND
> + bool
> + default y if BR2_PACKAGE_WAYLAND
> + select BR2_PACKAGE_VKMARK_FLAVOR_ANY
> +
> +config BR2_PACKAGE_VKMARK_FLAVOR_X11
> + bool
> + default y if BR2_PACKAGE_XORG7
> + select BR2_PACKAGE_VKMARK_FLAVOR_ANY
> +
> +config BR2_PACKAGE_VKMARK
> + bool "vkmark"
> + depends on BR2_PACKAGE_VKMARK_FLAVOR_ANY
> + depends on !BR2_STATIC_LIBS # vulkan-loader
> + depends on BR2_TOOLCHAIN_HAS_THREADS # vulkan-loader
> + depends on BR2_USE_WCHAR # assimp
> + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7 # assimp
> + depends on BR2_INSTALL_LIBSTDCPP # vulkan-loader, glm, assimp,
> vkmark
> + select BR2_PACKAGE_VULKAN_HEADERS
> + select BR2_PACKAGE_VULKAN_LOADER
> + select BR2_PACKAGE_GLM
> + select BR2_PACKAGE_ASSIMP
> + select BR2_PACKAGE_WAYLAND_PROTOCOLS if
> BR2_PACKAGE_VKMARK_FLAVOR_WAYLAND
> + select BR2_PACKAGE_LIBXCB if BR2_PACKAGE_VKMARK_FLAVOR_X11
> + select BR2_PACKAGE_XCB_UTIL_WM if BR2_PACKAGE_VKMARK_FLAVOR_X11
> + select BR2_PACKAGE_LIBDRM if BR2_PACKAGE_VKMARK_FLAVOR_KMS
> + help
> + vmmark is an Vulkan GPU benchmark.
> +
> + https://github.com/vkmark/vkmark
> +
> +comment "vkmark needs a toolchain w/ dynamic library, threads, wchar, gcc
> >= 7, C++"
> + depends on BR2_STATIC_LIBS || \
> + !BR2_TOOLCHAIN_HAS_THREADS || \
> + !BR2_USE_WCHAR || \
> + !BR2_TOOLCHAIN_GCC_AT_LEAST_7 || \
> + !BR2_INSTALL_LIBSTDCPP
> +
> +comment "vkmark needs a backend: gbm, wayland or xcb"
> + depends on !BR2_PACKAGE_VKMARK_FLAVOR_ANY
> diff --git a/package/vkmark/vkmark.hash b/package/vkmark/vkmark.hash
> new file mode 100644
> index 0000000000..34c3121939
> --- /dev/null
> +++ b/package/vkmark/vkmark.hash
> @@ -0,0 +1,3 @@
> +# Locally computed
> +sha256 2225ef4e3ba785abcc249664644908b909517cae6c04bf37e9f3d0cf206efe83
> vkmark-36e7d9b2ecf723e876add65534e95f55ec1bc79d.tar.gz
> +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551
> COPYING-LGPL2.1
> diff --git a/package/vkmark/vkmark.mk b/package/vkmark/vkmark.mk
> new file mode 100644
> index 0000000000..d7e8ea2e6d
> --- /dev/null
> +++ b/package/vkmark/vkmark.mk
> @@ -0,0 +1,34 @@
>
> +################################################################################
> +#
> +# vkmark
> +#
>
> +################################################################################
> +
> +VKMARK_VERSION = 36e7d9b2ecf723e876add65534e95f55ec1bc79d
> +VKMARK_SITE = $(call github,vkmark,vkmark,$(VKMARK_VERSION))
> +VKMARK_LICENSE = LGPL-2.1
> +VKMARK_LICENSE_FILES = COPYING-LGPL2.1
> +VKMARK_DEPENDENCIES = assimp glm host-pkgconf vulkan-headers vulkan-loader
> +
> +ifeq ($(BR2_PACKAGE_VKMARK_FLAVOR_KMS),y)
> +VKMARK_DEPENDENCIES += libdrm libgbm
> +VKMARK_CONF_OPTS += -Dkms=true
> +else
> +VKMARK_CONF_OPTS += -Dkms=false
> +endif
> +
> +ifeq ($(BR2_PACKAGE_VKMARK_FLAVOR_WAYLAND),y)
> +VKMARK_DEPENDENCIES += wayland wayland-protocols
> +VKMARK_CONF_OPTS += -Dwayland=true
> +else
> +VKMARK_CONF_OPTS += -Dwayland=false
> +endif
> +
> +ifeq ($(BR2_PACKAGE_VKMARK_FLAVOR_X11),y)
> +VKMARK_DEPENDENCIES += libxcb xcb-util-wm
> +VKMARK_CONF_OPTS += -Dxcb=true
> +else
> +VKMARK_CONF_OPTS += -Dxcb=false
> +endif
> +
> +$(eval $(meson-package))
> --
> 2.47.2
>
>
[-- Attachment #1.2: Type: text/html, Size: 15927 bytes --]
[-- Attachment #2: Type: text/plain, Size: 150 bytes --]
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 17+ messages in thread* Re: [Buildroot] [PATCH v6 4/5] package/vkmark: add vkmark benchmarking tool
2025-06-11 13:11 ` Heiko Thiery
@ 2025-06-11 13:55 ` Alex Bennée
2025-06-11 13:57 ` Heiko Thiery
2025-06-11 15:39 ` Nicolas Cavallari
0 siblings, 2 replies; 17+ messages in thread
From: Alex Bennée @ 2025-06-11 13:55 UTC (permalink / raw)
To: Heiko Thiery; +Cc: buildroot, Julien Olivain, Eric Le Bihan
Heiko Thiery <heiko.thiery@gmail.com> writes:
> Hi Alex,
>
> Am Mi., 11. Juni 2025 um 13:16 Uhr schrieb Alex Bennée <alex.bennee@linaro.org>:
>
> We build from a recent HEAD to ensure we have the fixes to better
> handle the missing KHR_display extension.
>
> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
>
> I tried to build vkmark against, now with wayland enabled and I see this:
>
> Program /usr/bin/wayland-scanner found: NO
>
> ../out-weston/build/vkmark-36e7d9b2ecf723e876add65534e95f55ec1bc79d/src/meson.build:116:22: ERROR: Program
> '/usr/bin/wayland-scanner' not found or not executable
Hmm this seems odd. At least wayland-scanner has a pkgconf variable:
🕙14:51:21 alex@draig:buildroot.git/builds/x86_64 on add-virtio-vulkan-vkmark:master [$!?⇡]
➜ pkg-config --variable=wayland_scanner wayland-scanner
/usr/bin/wayland-scanner
🕙14:52:16 alex@draig:buildroot.git/builds/x86_64 on add-virtio-vulkan-vkmark:master [$!?⇡]
➜ ./host/bin/pkgconf --variable=wayland_scanner wayland-scanner
/home/alex/lsrc/tests/buildroot.git/builds/x86_64/host/bin/wayland-scanner
🕙14:52:29 alex@draig:buildroot.git/builds/x86_64 on add-virtio-vulkan-vkmark:master [$!?⇡]
➜
And the meson should find it with the normal dependency logic:
wayland_scanner = find_program(wayland_scanner_dep.get_variable('wayland_scanner'))
>
> A full log can be found at
> /srv/storage/hthiery/sources/sa67/out-weston/build/vkmark-36e7d9b2ecf723e876add65534e95f55ec1bc79d/buildroot-build/meson-logs/meson-log.txt
>
> make[1]: *** [package/pkg-generic.mk:263:
> /srv/storage/hthiery/sources/sa67/out-weston/build/vkmark-36e7d9b2ecf723e876add65534e95f55ec1bc79d/.stamp_configured]
> Error 1
> make: *** [Makefile:23: _all] Error 2
>
> It looks like here we have something similar like before. It looks under '/usr/bin/wayland-scanner' but the prefix is missing.
<snip>
Yeah I see the same:
Found pkg-config: YES (/home/alex/lsrc/tests/buildroot.git/builds/arm64/host/bin/pkgconf) 2.3.0
Run-time dependency vulkan found: YES 1.4.317
Library dl found: YES
Found CMake: /usr/bin/cmake (3.31.6)
Run-time dependency glm found: YES 1.0.0
Run-time dependency assimp found: YES 5.4.3
Run-time dependency xcb found: YES 1.15
Run-time dependency xcb-icccm found: YES 0.4.2
Run-time dependency wayland-client found: YES 1.23.1
Run-time dependency wayland-protocols found: YES 1.42
Run-time dependency wayland-scanner found: YES 1.23.1
Run-time dependency libdrm found: YES 2.4.124
Run-time dependency gbm found: YES 25.1.3
Program python3 found: YES (/home/alex/lsrc/tests/buildroot.git/builds/arm64/host/bin/python3)
Program /usr/bin/wayland-scanner found: YES (/usr/bin/wayland-scanner)
--
Alex Bennée
Virtualisation Tech Lead @ Linaro
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 17+ messages in thread* Re: [Buildroot] [PATCH v6 4/5] package/vkmark: add vkmark benchmarking tool
2025-06-11 13:55 ` Alex Bennée
@ 2025-06-11 13:57 ` Heiko Thiery
2025-06-11 15:39 ` Nicolas Cavallari
1 sibling, 0 replies; 17+ messages in thread
From: Heiko Thiery @ 2025-06-11 13:57 UTC (permalink / raw)
To: Alex Bennée; +Cc: buildroot, Julien Olivain, Eric Le Bihan
[-- Attachment #1.1: Type: text/plain, Size: 3361 bytes --]
Hi,
Am Mi., 11. Juni 2025 um 15:55 Uhr schrieb Alex Bennée <
alex.bennee@linaro.org>:
> Heiko Thiery <heiko.thiery@gmail.com> writes:
>
> > Hi Alex,
> >
> > Am Mi., 11. Juni 2025 um 13:16 Uhr schrieb Alex Bennée <
> alex.bennee@linaro.org>:
> >
> > We build from a recent HEAD to ensure we have the fixes to better
> > handle the missing KHR_display extension.
> >
> > Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
> >
> > I tried to build vkmark against, now with wayland enabled and I see this:
> >
> > Program /usr/bin/wayland-scanner found: NO
> >
> >
> ../out-weston/build/vkmark-36e7d9b2ecf723e876add65534e95f55ec1bc79d/src/meson.build:116:22:
> ERROR: Program
> > '/usr/bin/wayland-scanner' not found or not executable
>
> Hmm this seems odd. At least wayland-scanner has a pkgconf variable:
>
> 🕙14:51:21 alex@draig:buildroot.git/builds/x86_64 on
> add-virtio-vulkan-vkmark:master [$!?⇡]
> ➜ pkg-config --variable=wayland_scanner wayland-scanner
> /usr/bin/wayland-scanner
> 🕙14:52:16 alex@draig:buildroot.git/builds/x86_64 on
> add-virtio-vulkan-vkmark:master [$!?⇡]
> ➜ ./host/bin/pkgconf --variable=wayland_scanner wayland-scanner
>
> /home/alex/lsrc/tests/buildroot.git/builds/x86_64/host/bin/wayland-scanner
> 🕙14:52:29 alex@draig:buildroot.git/builds/x86_64 on
> add-virtio-vulkan-vkmark:master [$!?⇡]
> ➜
>
> And the meson should find it with the normal dependency logic:
>
> wayland_scanner =
> find_program(wayland_scanner_dep.get_variable('wayland_scanner'))
>
> >
> > A full log can be found at
> >
> /srv/storage/hthiery/sources/sa67/out-weston/build/vkmark-36e7d9b2ecf723e876add65534e95f55ec1bc79d/buildroot-build/meson-logs/meson-log.txt
> >
> > make[1]: *** [package/pkg-generic.mk:263:
> >
> /srv/storage/hthiery/sources/sa67/out-weston/build/vkmark-36e7d9b2ecf723e876add65534e95f55ec1bc79d/.stamp_configured]
> > Error 1
> > make: *** [Makefile:23: _all] Error 2
> >
> > It looks like here we have something similar like before. It looks
> under '/usr/bin/wayland-scanner' but the prefix is missing.
> <snip>
>
> Yeah I see the same:
>
> Found pkg-config: YES
> (/home/alex/lsrc/tests/buildroot.git/builds/arm64/host/bin/pkgconf) 2.3.0
>
>
> Run-time dependency vulkan found: YES 1.4.317
>
>
> Library dl found: YES
>
>
> Found CMake: /usr/bin/cmake (3.31.6)
>
>
> Run-time dependency glm found: YES 1.0.0
>
>
> Run-time dependency assimp found: YES 5.4.3
>
>
> Run-time dependency xcb found: YES 1.15
>
>
> Run-time dependency xcb-icccm found: YES 0.4.2
>
>
> Run-time dependency wayland-client found: YES 1.23.1
>
>
> Run-time dependency wayland-protocols found: YES 1.42
>
>
> Run-time dependency wayland-scanner found: YES 1.23.1
>
>
> Run-time dependency libdrm found: YES 2.4.124
>
>
> Run-time dependency gbm found: YES 25.1.3
>
>
> Program python3 found: YES
> (/home/alex/lsrc/tests/buildroot.git/builds/arm64/host/bin/python3)
>
> Program /usr/bin/wayland-scanner found: YES (/usr/bin/wayland-scanner)
>
>
yes .. the program is installed on your machine under
/usr/bin/wayland-scanner (from your distro) ... but on my build-server it
is not ;-/
> --
> Alex Bennée
> Virtualisation Tech Lead @ Linaro
>
[-- Attachment #1.2: Type: text/html, Size: 6882 bytes --]
[-- Attachment #2: Type: text/plain, Size: 150 bytes --]
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 17+ messages in thread* Re: [Buildroot] [PATCH v6 4/5] package/vkmark: add vkmark benchmarking tool
2025-06-11 13:55 ` Alex Bennée
2025-06-11 13:57 ` Heiko Thiery
@ 2025-06-11 15:39 ` Nicolas Cavallari
2025-06-11 16:39 ` Alex Bennée
1 sibling, 1 reply; 17+ messages in thread
From: Nicolas Cavallari @ 2025-06-11 15:39 UTC (permalink / raw)
To: Alex Bennée, Heiko Thiery; +Cc: buildroot, Julien Olivain, Eric Le Bihan
On 11/06/2025 15:55, Alex Bennée wrote:
> Heiko Thiery <heiko.thiery@gmail.com> writes:
>
>> Hi Alex,
>>
>> Am Mi., 11. Juni 2025 um 13:16 Uhr schrieb Alex Bennée <alex.bennee@linaro.org>:
>>
>> We build from a recent HEAD to ensure we have the fixes to better
>> handle the missing KHR_display extension.
>>
>> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
>>
>> I tried to build vkmark against, now with wayland enabled and I see this:
>>
>> Program /usr/bin/wayland-scanner found: NO
>>
>> ../out-weston/build/vkmark-36e7d9b2ecf723e876add65534e95f55ec1bc79d/src/meson.build:116:22: ERROR: Program
>> '/usr/bin/wayland-scanner' not found or not executable
>
> Hmm this seems odd. At least wayland-scanner has a pkgconf variable:
>
> 🕙14:51:21 alex@draig:buildroot.git/builds/x86_64 on add-virtio-vulkan-vkmark:master [$!?⇡]
> ➜ pkg-config --variable=wayland_scanner wayland-scanner
> /usr/bin/wayland-scanner
> 🕙14:52:16 alex@draig:buildroot.git/builds/x86_64 on add-virtio-vulkan-vkmark:master [$!?⇡]
> ➜ ./host/bin/pkgconf --variable=wayland_scanner wayland-scanner
> /home/alex/lsrc/tests/buildroot.git/builds/x86_64/host/bin/wayland-scanner
> 🕙14:52:29 alex@draig:buildroot.git/builds/x86_64 on add-virtio-vulkan-vkmark:master [$!?⇡]
> ➜
>
> And the meson should find it with the normal dependency logic:
>
> wayland_scanner = find_program(wayland_scanner_dep.get_variable('wayland_scanner'))
wayland_scanner_dep is defined as:
wayland_scanner_dep = dependency('wayland-scanner', required :
get_option('wayland') == 'true')
So it is searching for a wayland-scanner compiled for the target, not
for one on the host. It should probably changed to
wayland_scanner_dep = dependency('wayland-scanner', required :
get_option('wayland') == 'true', native: true)
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 17+ messages in thread* Re: [Buildroot] [PATCH v6 4/5] package/vkmark: add vkmark benchmarking tool
2025-06-11 15:39 ` Nicolas Cavallari
@ 2025-06-11 16:39 ` Alex Bennée
0 siblings, 0 replies; 17+ messages in thread
From: Alex Bennée @ 2025-06-11 16:39 UTC (permalink / raw)
To: Nicolas Cavallari; +Cc: Heiko Thiery, buildroot, Julien Olivain, Eric Le Bihan
Nicolas Cavallari <nicolas.cavallari@green-communications.fr> writes:
> On 11/06/2025 15:55, Alex Bennée wrote:
>> Heiko Thiery <heiko.thiery@gmail.com> writes:
>>
>>> Hi Alex,
>>>
>>> Am Mi., 11. Juni 2025 um 13:16 Uhr schrieb Alex Bennée <alex.bennee@linaro.org>:
>>>
>>> We build from a recent HEAD to ensure we have the fixes to better
>>> handle the missing KHR_display extension.
>>>
>>> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
>>>
>>> I tried to build vkmark against, now with wayland enabled and I see this:
>>>
>>> Program /usr/bin/wayland-scanner found: NO
>>>
>>> ../out-weston/build/vkmark-36e7d9b2ecf723e876add65534e95f55ec1bc79d/src/meson.build:116:22: ERROR: Program
>>> '/usr/bin/wayland-scanner' not found or not executable
>> Hmm this seems odd. At least wayland-scanner has a pkgconf variable:
>> 🕙14:51:21 alex@draig:buildroot.git/builds/x86_64 on
>> add-virtio-vulkan-vkmark:master [$!?⇡]
>> ➜ pkg-config --variable=wayland_scanner wayland-scanner
>> /usr/bin/wayland-scanner
>> 🕙14:52:16 alex@draig:buildroot.git/builds/x86_64 on add-virtio-vulkan-vkmark:master [$!?⇡]
>> ➜ ./host/bin/pkgconf --variable=wayland_scanner wayland-scanner
>> /home/alex/lsrc/tests/buildroot.git/builds/x86_64/host/bin/wayland-scanner
>> 🕙14:52:29 alex@draig:buildroot.git/builds/x86_64 on add-virtio-vulkan-vkmark:master [$!?⇡]
>> ➜
>> And the meson should find it with the normal dependency logic:
>> wayland_scanner =
>> find_program(wayland_scanner_dep.get_variable('wayland_scanner'))
>
> wayland_scanner_dep is defined as:
>
> wayland_scanner_dep = dependency('wayland-scanner', required :
> get_option('wayland') == 'true')
>
> So it is searching for a wayland-scanner compiled for the target, not
> for one on the host. It should probably changed to
>
> wayland_scanner_dep = dependency('wayland-scanner', required :
> get_option('wayland') == 'true', native: true)
That works:
Build-time dependency wayland-scanner found: YES 1.23.1
Run-time dependency libdrm found: YES 2.4.124
Run-time dependency gbm found: YES 25.1.3
Program python3 found: YES (/home/alex/lsrc/tests/buildroot.git/builds/arm64/host/bin/python3)
Program /home/alex/lsrc/tests/buildroot.git/builds/arm64/host/bin/wayland-scanner found: YES (/home/alex/lsrc/tests/buildroot.git/builds/arm64/host/bin/wayland-scanner)
--8<---------------cut here---------------start------------->8---
modified package/vkmark/0002-meson-fix-cross-compilation-50-75.patch
@@ -1,4 +1,4 @@
-From dc9a0c2d8687501ddf97c97599fa7a69d07d3d3d Mon Sep 17 00:00:00 2001
+From 0cb1a627ccb2da3c0cfd287e407c3e85fb750c94 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>
Date: Fri, 6 Jun 2025 17:48:40 +0100
Subject: [PATCH 2/2] meson: fix cross-compilation (#50, #75)
@@ -6,15 +6,33 @@ MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
-Now we have updated the minimum meson version we can apply sys_root to
-the prefix variable to ensure we can find the right vk.xml when
-cross-compiling.
+Currently there are a few problems getting in the way of cross
+compilation:
+
+ - we need to apply sys_root to the prefix variable to find the right vk.xml
+ - we need to force the native wayland-scanner to generate headers
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
+ meson.build | 4 +++-
src/meson.build | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
+ 2 files changed, 6 insertions(+), 2 deletions(-)
+diff --git a/meson.build b/meson.build
+index 2d08d53..6cb56f5 100644
+--- a/meson.build
++++ b/meson.build
+@@ -29,7 +29,9 @@ xcb_icccm_dep = dependency('xcb-icccm', required : get_option('xcb') == 'true')
+ wayland_client_dep = dependency('wayland-client', required : get_option('wayland') == 'true')
+ wayland_protocols_dep = dependency('wayland-protocols', version : '>= 1.12',
+ required : get_option('wayland') == 'true')
+-wayland_scanner_dep = dependency('wayland-scanner', required : get_option('wayland') == 'true')
++wayland_scanner_dep = dependency('wayland-scanner',
++ required : get_option('wayland') == 'true',
++ native: true)
+ libdrm_dep = dependency('libdrm', required : get_option('kms') == 'true')
+ gbm_dep = dependency('gbm', required : get_option('kms') == 'true')
+
diff --git a/src/meson.build b/src/meson.build
index a664ddc..b0e8c4a 100644
--- a/src/meson.build
--8<---------------cut here---------------end--------------->8---
--
Alex Bennée
Virtualisation Tech Lead @ Linaro
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [Buildroot] [PATCH v6 4/5] package/vkmark: add vkmark benchmarking tool
2025-06-11 11:16 ` [Buildroot] [PATCH v6 4/5] package/vkmark: add vkmark benchmarking tool Alex Bennée
2025-06-11 13:11 ` Heiko Thiery
@ 2025-06-14 10:59 ` Julien Olivain
1 sibling, 0 replies; 17+ messages in thread
From: Julien Olivain @ 2025-06-14 10:59 UTC (permalink / raw)
To: Alex Bennée; +Cc: buildroot, Eric Le Bihan, Heiko Thiery
Hi Alex,
Thanks for the patch! I have few comments, see below.
On 11/06/2025 13:16, Alex Bennée wrote:
> We build from a recent HEAD to ensure we have the fixes to better
> handle the missing KHR_display extension.
Trying to compile on a host without the file
/usr/share/vulkan/registry/vk.xml
or running the runtime test in the docker reference image is still
failing.
The root cause seems to still be:
https://github.com/vkmark/vkmark/issues/75
There is also the following opened PR:
https://github.com/vkmark/vkmark/pull/76
maybe those patches could be added in this new package introduction,
in the meantime this gets resolved upstream?
>
> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
>
> ---
[...]
> diff --git a/.checkpackageignore b/.checkpackageignore
> index 5cbbbd38ba..2f8f717aec 100644
> --- a/.checkpackageignore
> +++ b/.checkpackageignore
> @@ -1203,6 +1203,8 @@
> package/valgrind/0001-workaround-SIGSEGV-on-PPC.patch
> lib_patch.Upstream
>
> package/valgrind/0002-Define-PTRACE_GETSIGINFO-on-PowerPC-when-not-availab.patch
> lib_patch.Upstream
>
> package/vboot-utils/0001-Add-missing-definition-of-MTD_CHAR_MAJOR.patch
> lib_patch.Upstream
> package/vdr/0001-getloadavg.patch lib_patch.Upstream
> +package/vkmark/0001-meson-replace-deprecated-get_pkgconfig_variable.patch
> lib_patch.NumberedSubject lib_patch.Upstream
> +package/vkmark/0002-meson-fix-cross-compilation-50-75.patch
> lib_patch.NumberedSubject lib_patch.Upstream
Instead of adding exception here, could you make sure the patches files
are properly formatted, please? See:
https://buildroot.org/downloads/manual/manual.html#_within_buildroot
>
> package/vlc/0001-Disable-building-of-statically-linked-vlc-binary.patch
> lib_patch.Upstream
> package/vlc/0002-automake-add-subdir-objects-option.patch
> lib_patch.Upstream
> package/vlc/0003-build-use-pkg-config-to-get-tremor-libs.patch
> lib_patch.Upstream
Could you send an updated patch fixing those issues please?
Best regards,
Julien.
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Buildroot] [PATCH v6 5/5] support/testing: add test for vkmark package
2025-06-11 11:16 [Buildroot] [PATCH v6 0/5] Add vkmark graphics benchmarking tool Alex Bennée
` (3 preceding siblings ...)
2025-06-11 11:16 ` [Buildroot] [PATCH v6 4/5] package/vkmark: add vkmark benchmarking tool Alex Bennée
@ 2025-06-11 11:16 ` Alex Bennée
2025-06-14 11:05 ` Julien Olivain
[not found] ` <20250611111640.702572-2-alex.bennee__11620.3121536941$1749640635$gmane$org@linaro.org>
5 siblings, 1 reply; 17+ messages in thread
From: Alex Bennée @ 2025-06-11 11:16 UTC (permalink / raw)
To: buildroot; +Cc: Heiko Thiery, Julien Olivain, Ricardo Martincoski
To test vkmark we need a headless Weston compositor so we can run the
test without messing around with actual displays. Because to run proper
accelerated Vulkan pass-through you need a modern QEMU we also enabled
the VULKAN_DRIVER_SWRAST driver. This will allow us to run vkmark
under CI and other places where we don't have a very modern host
system.
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
v5
- simplify package list
- add SWRAST driver for fall-back
- don't use accelerated device in test, document the difference
v4
- add BR2_PACKAGE_WESTON_SHELL_KIOSK=y
v3
- fix ordering of select/depend as suggested by check-package
- fix some flake8 complaints
v2
- add overlay image
- ensure we expose DISPLAY/DBUS env vars
- shorten runtime of vkmark
---
support/testing/infra/emulator.py | 4 +-
support/testing/tests/package/test_vkmark.py | 80 +++++++++++++++++++
.../etc/profile.d/10-xdg-runtime.sh | 1 +
3 files changed, 84 insertions(+), 1 deletion(-)
create mode 100644 support/testing/tests/package/test_vkmark.py
create mode 100644 support/testing/tests/package/test_vkmark/rootfs-overlay/etc/profile.d/10-xdg-runtime.sh
diff --git a/support/testing/infra/emulator.py b/support/testing/infra/emulator.py
index 3702ee2d48..a6fe9613b7 100644
--- a/support/testing/infra/emulator.py
+++ b/support/testing/infra/emulator.py
@@ -121,7 +121,9 @@ class Emulator(object):
host_bin = os.path.join(self.builddir, "host", "bin")
br_path = host_bin + os.pathsep + os.environ["PATH"]
qemu_env = {"QEMU_AUDIO_DRV": "none",
- "PATH": br_path}
+ "PATH": br_path,
+ "DBUS_SESSION_BUS_ADDRESS": os.environ["DBUS_SESSION_BUS_ADDRESS"],
+ "DISPLAY": os.environ["DISPLAY"]}
pexpect.run(f"{qemu_cmd[0]} --version",
encoding='utf-8',
logfile=self.logfile,
diff --git a/support/testing/tests/package/test_vkmark.py b/support/testing/tests/package/test_vkmark.py
new file mode 100644
index 0000000000..80caa01fdc
--- /dev/null
+++ b/support/testing/tests/package/test_vkmark.py
@@ -0,0 +1,80 @@
+import os
+
+import infra.basetest
+
+VULKANINFO_TIMEOUT = 120
+
+
+class TestVkMark(infra.basetest.BRTest):
+ config = \
+ """
+ BR2_aarch64=y
+ BR2_cortex_a72=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_OPTIMIZE_S=y
+ BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y
+ BR2_ROOTFS_MERGED_USR=y
+ BR2_LINUX_KERNEL=y
+ BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
+ BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/aarch64-virt/linux.config"
+ BR2_PACKAGE_DBUS=y
+ BR2_PACKAGE_LIBMD=y
+ BR2_PACKAGE_MESA3D=y
+ BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_VIRGL=y
+ BR2_PACKAGE_MESA3D_LLVM=y
+ BR2_PACKAGE_MESA3D_OPENGL_ES=y
+ BR2_PACKAGE_MESA3D_VULKAN_DRIVER_SWRAST=y
+ BR2_PACKAGE_MESA3D_VULKAN_DRIVER_VIRTIO=y
+ BR2_PACKAGE_UTIL_LINUX_AGETTY=y
+ BR2_PACKAGE_UTIL_LINUX_BINARIES=y
+ BR2_PACKAGE_VKMARK=y
+ BR2_PACKAGE_VULKAN_TOOLS=y
+ BR2_PACKAGE_WESTON=y
+ BR2_PACKAGE_WESTON_DEFAULT_DRM=y
+ BR2_PACKAGE_WESTON_HEADLESS=y
+ BR2_PACKAGE_WESTON_SHELL_KIOSK=y
+ BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0"
+ BR2_TARGET_ROOTFS_EXT2=y
+ BR2_TARGET_ROOTFS_EXT2_SIZE="250M"
+ BR2_ROOTFS_OVERLAY="{}"
+ """.format(
+ infra.filepath("tests/package/test_vkmark/rootfs-overlay"))
+
+ def login(self):
+ img = os.path.join(self.builddir, "images", "rootfs.ext2")
+ kern = os.path.join(self.builddir, "images", "Image")
+
+ # We have built the image to contain both the SWRAST and
+ # VIRTIO vulkan drivers. However to test with proper pass
+ # through you need a modern QEMU with Venus support.
+ #
+ # That would modify the command line to:
+ # -display dbus,gl=on
+ # -device virtio-gpu-gl-pci,hostmem=4G,blob=on,venus=on
+ #
+ self.emulator.boot(arch="aarch64",
+ kernel=kern,
+ kernel_cmdline=["root=/dev/vda console=ttyAMA0"],
+ options=["-M", "virt", "-cpu", "cortex-a72", "-m", "512",
+ "-drive",
+ f"file={img},if=virtio,format=raw",
+ "-display", "egl-headless",
+ "-display", "dbus",
+ "-device", "virtio-gpu-pci"])
+
+ self.emulator.login()
+
+ def test_run(self):
+ self.login()
+
+ # The test case verifies that Vulkan is enabled and vkmark can run
+ cmd = "weston -B headless --renderer gl --shell kiosk -- vkmark -b :duration=1.0"
+ output, exit_code = self.emulator.run(cmd, VULKANINFO_TIMEOUT)
+ self.assertEqual(exit_code, 0)
+
+ # check we got to the end and emitted a score
+ found_vkmark = False
+ for line in output:
+ found_vkmark |= "vkmark Score:" in line
+
+ self.assertEqual(found_vkmark, True)
diff --git a/support/testing/tests/package/test_vkmark/rootfs-overlay/etc/profile.d/10-xdg-runtime.sh b/support/testing/tests/package/test_vkmark/rootfs-overlay/etc/profile.d/10-xdg-runtime.sh
new file mode 100644
index 0000000000..5e0ccb1d3e
--- /dev/null
+++ b/support/testing/tests/package/test_vkmark/rootfs-overlay/etc/profile.d/10-xdg-runtime.sh
@@ -0,0 +1 @@
+export XDG_RUNTIME_DIR=/tmp
--
2.47.2
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 17+ messages in thread* Re: [Buildroot] [PATCH v6 5/5] support/testing: add test for vkmark package
2025-06-11 11:16 ` [Buildroot] [PATCH v6 5/5] support/testing: add test for vkmark package Alex Bennée
@ 2025-06-14 11:05 ` Julien Olivain
0 siblings, 0 replies; 17+ messages in thread
From: Julien Olivain @ 2025-06-14 11:05 UTC (permalink / raw)
To: Alex Bennée; +Cc: buildroot, Heiko Thiery, Ricardo Martincoski
Hi Alex,
Thanks for the patch! I have few comments, see below.
On 11/06/2025 13:16, Alex Bennée wrote:
> To test vkmark we need a headless Weston compositor so we can run the
> test without messing around with actual displays. Because to run proper
> accelerated Vulkan pass-through you need a modern QEMU we also enabled
> the VULKAN_DRIVER_SWRAST driver. This will allow us to run vkmark
> under CI and other places where we don't have a very modern host
> system.
>
> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
>
> ---
> v5
> - simplify package list
> - add SWRAST driver for fall-back
> - don't use accelerated device in test, document the difference
> v4
> - add BR2_PACKAGE_WESTON_SHELL_KIOSK=y
> v3
> - fix ordering of select/depend as suggested by check-package
> - fix some flake8 complaints
> v2
> - add overlay image
> - ensure we expose DISPLAY/DBUS env vars
> - shorten runtime of vkmark
> ---
> support/testing/infra/emulator.py | 4 +-
> support/testing/tests/package/test_vkmark.py | 80 +++++++++++++++++++
> .../etc/profile.d/10-xdg-runtime.sh | 1 +
> 3 files changed, 84 insertions(+), 1 deletion(-)
> create mode 100644 support/testing/tests/package/test_vkmark.py
> create mode 100644
> support/testing/tests/package/test_vkmark/rootfs-overlay/etc/profile.d/10-xdg-runtime.sh
>
> diff --git a/support/testing/infra/emulator.py
> b/support/testing/infra/emulator.py
> index 3702ee2d48..a6fe9613b7 100644
> --- a/support/testing/infra/emulator.py
> +++ b/support/testing/infra/emulator.py
> @@ -121,7 +121,9 @@ class Emulator(object):
> host_bin = os.path.join(self.builddir, "host", "bin")
> br_path = host_bin + os.pathsep + os.environ["PATH"]
> qemu_env = {"QEMU_AUDIO_DRV": "none",
> - "PATH": br_path}
> + "PATH": br_path,
> + "DBUS_SESSION_BUS_ADDRESS":
> os.environ["DBUS_SESSION_BUS_ADDRESS"],
> + "DISPLAY": os.environ["DISPLAY"]}
Could you move those emulator.py changes in a separate patch, please?
I am not sure we want to include it for now, while the Vulkan SWRAST
part could be merged sooner.
> pexpect.run(f"{qemu_cmd[0]} --version",
> encoding='utf-8',
> logfile=self.logfile,
> diff --git a/support/testing/tests/package/test_vkmark.py
> b/support/testing/tests/package/test_vkmark.py
> new file mode 100644
> index 0000000000..80caa01fdc
> --- /dev/null
> +++ b/support/testing/tests/package/test_vkmark.py
> @@ -0,0 +1,80 @@
> +import os
> +
> +import infra.basetest
> +
> +VULKANINFO_TIMEOUT = 120
> +
> +
> +class TestVkMark(infra.basetest.BRTest):
Technically, this test covers mesa3d (vulkan swrast), vkmark,
weston, ... But I think the most important configuration being
tested is mesa3d enabling a Vulkan (swrast) driver. Other programs
are supporting tools.
So, I think it would be better to rename and move this test as a
sub-case in support/testing/tests/package/test_mesa3d.py in a class
named for example TestMesa3DVulkan.
> + config = \
> + """
> + BR2_aarch64=y
> + BR2_cortex_a72=y
> + BR2_TOOLCHAIN_EXTERNAL=y
> + BR2_OPTIMIZE_S=y
> + BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y
> + BR2_ROOTFS_MERGED_USR=y
> + BR2_LINUX_KERNEL=y
> + BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
> +
> BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/aarch64-virt/linux.config"
> + BR2_PACKAGE_DBUS=y
> + BR2_PACKAGE_LIBMD=y
> + BR2_PACKAGE_MESA3D=y
> + BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_VIRGL=y
> + BR2_PACKAGE_MESA3D_LLVM=y
> + BR2_PACKAGE_MESA3D_OPENGL_ES=y
> + BR2_PACKAGE_MESA3D_VULKAN_DRIVER_SWRAST=y
> + BR2_PACKAGE_MESA3D_VULKAN_DRIVER_VIRTIO=y
> + BR2_PACKAGE_UTIL_LINUX_AGETTY=y
> + BR2_PACKAGE_UTIL_LINUX_BINARIES=y
> + BR2_PACKAGE_VKMARK=y
> + BR2_PACKAGE_VULKAN_TOOLS=y
> + BR2_PACKAGE_WESTON=y
> + BR2_PACKAGE_WESTON_DEFAULT_DRM=y
> + BR2_PACKAGE_WESTON_HEADLESS=y
> + BR2_PACKAGE_WESTON_SHELL_KIOSK=y
> + BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0"
> + BR2_TARGET_ROOTFS_EXT2=y
> + BR2_TARGET_ROOTFS_EXT2_SIZE="250M"
> + BR2_ROOTFS_OVERLAY="{}"
> + """.format(
> + infra.filepath("tests/package/test_vkmark/rootfs-overlay"))
> +
> + def login(self):
> + img = os.path.join(self.builddir, "images", "rootfs.ext2")
> + kern = os.path.join(self.builddir, "images", "Image")
> +
> + # We have built the image to contain both the SWRAST and
> + # VIRTIO vulkan drivers. However to test with proper pass
> + # through you need a modern QEMU with Venus support.
> + #
> + # That would modify the command line to:
> + # -display dbus,gl=on
> + # -device virtio-gpu-gl-pci,hostmem=4G,blob=on,venus=on
> + #
> + self.emulator.boot(arch="aarch64",
> + kernel=kern,
> + kernel_cmdline=["root=/dev/vda
> console=ttyAMA0"],
> + options=["-M", "virt", "-cpu",
> "cortex-a72", "-m", "512",
> + "-drive",
> +
> f"file={img},if=virtio,format=raw",
> + "-display", "egl-headless",
> + "-display", "dbus",
> + "-device", "virtio-gpu-pci"])
I don't think we will be able to keep those "-display" options,
as they need to be paired with either VNC or SPICE displays.
I will test that in the updated series fixing the vkmark build issue
in the docker reference image. Maybe they could be moved in the
comment just before, to allow doing the virtio case by starting
qemu outside the Buildroot run-tests script.
What do you think?
> +
> + self.emulator.login()
> +
> + def test_run(self):
> + self.login()
> +
> + # The test case verifies that Vulkan is enabled and vkmark can
> run
> + cmd = "weston -B headless --renderer gl --shell kiosk --
> vkmark -b :duration=1.0"
> + output, exit_code = self.emulator.run(cmd, VULKANINFO_TIMEOUT)
> + self.assertEqual(exit_code, 0)
> +
> + # check we got to the end and emitted a score
> + found_vkmark = False
> + for line in output:
> + found_vkmark |= "vkmark Score:" in line
> +
> + self.assertEqual(found_vkmark, True)
> diff --git
> a/support/testing/tests/package/test_vkmark/rootfs-overlay/etc/profile.d/10-xdg-runtime.sh
> b/support/testing/tests/package/test_vkmark/rootfs-overlay/etc/profile.d/10-xdg-runtime.sh
> new file mode 100644
> index 0000000000..5e0ccb1d3e
> --- /dev/null
> +++
> b/support/testing/tests/package/test_vkmark/rootfs-overlay/etc/profile.d/10-xdg-runtime.sh
> @@ -0,0 +1 @@
> +export XDG_RUNTIME_DIR=/tmp
> --
> 2.47.2
Could you send an updated patch addressing those comments, please?
Best regards,
Julien.
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 17+ messages in thread
[parent not found: <20250611111640.702572-2-alex.bennee__11620.3121536941$1749640635$gmane$org@linaro.org>]