Message ID | 20250414192210.18008-2-ross.burton@arm.com |
---|---|
State | Accepted, archived |
Commit | 764765e48ff02e412944bdca8885fb30ea0cbb76 |
Headers | show |
Series | [1/2] mesa: remove obsolete deletion of .la files | expand |
> Op 14 apr 2025, om 21:22 heeft Ross Burton via lists.openembedded.org <ross.burton=arm.com@lists.openembedded.org> het volgende geschreven: > > Backport a patch from upstream to fix the build when glx.pc isn't found, > but the glx headers are available. As libglvnd is the only provider of > glx.pc and by default we build without libglvnd, this is common. > > This solves the problem where mesa-demo is missing the GLX demos, such > as glxgears. Thanks for that! I was wondering why I had lots of *gears, but not the GLX ones I needed for testing GLX :) regards, Koen > > [ YOCTO #15825 ] > > Signed-off-by: Ross Burton <ross.burton@arm.com> > --- > ...eson-fix-glx-detection-without-glvnd.patch | 46 +++++++++++++++++++ > .../recipes-graphics/mesa/mesa-demos_9.0.0.bb | 1 + > 2 files changed, 47 insertions(+) > create mode 100644 meta/recipes-graphics/mesa/mesa-demos/0001-meson-fix-glx-detection-without-glvnd.patch > > diff --git a/meta/recipes-graphics/mesa/mesa-demos/0001-meson-fix-glx-detection-without-glvnd.patch b/meta/recipes-graphics/mesa/mesa-demos/0001-meson-fix-glx-detection-without-glvnd.patch > new file mode 100644 > index 00000000000..f16ba4a24c4 > --- /dev/null > +++ b/meta/recipes-graphics/mesa/mesa-demos/0001-meson-fix-glx-detection-without-glvnd.patch > @@ -0,0 +1,46 @@ > +From e16117fc92688d76a042ad2c590c77d5a987a4ac Mon Sep 17 00:00:00 2001 > +From: Erik Faye-Lund <erik.faye-lund@collabora.com> > +Date: Fri, 24 Mar 2023 13:31:58 +0100 > +Subject: [PATCH] meson: fix glx-detection without glvnd > + > +When build without GLVND, Mesa provides GLX as a part of libGL, just > +like XQuartz does on MacOS. There's nothing really macOS specific about > +this fallback, so let's drop the condition. > + > +And just for good measure, let's add in dep_gl as a dependency for > +the header-check here, in case some one decides to install libGL outside > +of the default include directory. > + > +Fixes: 34300551 ("meson: explicitly check for glx dependency") > +Closes: https://gitlab.freedesktop.org/mesa/demos/-/issues/36 > +Reviewed-by: Hoe Hao Cheng <haochengho12907@gmail.com> > + > +Upstream-Status: Backport > +Signed-off-by: Ross Burton <ross.burton@arm.com> > +--- > + meson.build | 9 +++++---- > + 1 file changed, 5 insertions(+), 4 deletions(-) > + > +diff --git a/meson.build b/meson.build > +index c1853f94..bc3278e1 100644 > +--- a/meson.build > ++++ b/meson.build > +@@ -99,10 +99,11 @@ if not dep_glu.found() and host_machine.system() != 'darwin' > + endif > + > + dep_glx = dependency('glx', required: false, disabler : true) > +-if not dep_glx.found() and host_machine.system() == 'darwin' > +- # xquartz doesn't have a glx.pc, but it does have the header. And all the > +- # symbols reside in libGL, so let's just use that. > +- if cc.check_header('GL/glx.h', dependencies: dep_x11) > ++if not dep_glx.found() > ++ # Both Mesa build without GLVND and XQuartz lacks a glx.pc, but does > ++ # provide the header. And all the symbols reside in libGL, so let's > ++ # just use that. > ++ if cc.check_header('GL/glx.h', dependencies: [dep_x11, dep_gl]) > + dep_glx = dep_gl > + endif > + endif > +-- > +2.43.0 > + > diff --git a/meta/recipes-graphics/mesa/mesa-demos_9.0.0.bb b/meta/recipes-graphics/mesa/mesa-demos_9.0.0.bb > index 0301b553611..d92f1ddc5ba 100644 > --- a/meta/recipes-graphics/mesa/mesa-demos_9.0.0.bb > +++ b/meta/recipes-graphics/mesa/mesa-demos_9.0.0.bb > @@ -10,6 +10,7 @@ LIC_FILES_CHKSUM = "file://src/xdemos/glxgears.c;beginline=1;endline=20;md5=9142 > file://src/xdemos/glxdemo.c;beginline=1;endline=8;md5=b01d5ab1aee94d35b7efaa2ef48e1a06" > > SRC_URI = "https://archive.mesa3d.org/demos/${BPN}-${PV}.tar.xz \ > + file://0001-meson-fix-glx-detection-without-glvnd.patch \ > " > SRC_URI[sha256sum] = "3046a3d26a7b051af7ebdd257a5f23bfeb160cad6ed952329cdff1e9f1ed496b" > > -- > 2.43.0 > > > -=-=-=-=-=-=-=-=-=-=-=- > Links: You receive all messages sent to this group. > View/Reply Online (#214808): https://lists.openembedded.org/g/openembedded-core/message/214808 > Mute This Topic: https://lists.openembedded.org/mt/112263751/9418801 > Group Owner: openembedded-core+owner@lists.openembedded.org > Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [koen.kooi@oss.qualcomm.com] > -=-=-=-=-=-=-=-=-=-=-=- >
diff --git a/meta/recipes-graphics/mesa/mesa-demos/0001-meson-fix-glx-detection-without-glvnd.patch b/meta/recipes-graphics/mesa/mesa-demos/0001-meson-fix-glx-detection-without-glvnd.patch new file mode 100644 index 00000000000..f16ba4a24c4 --- /dev/null +++ b/meta/recipes-graphics/mesa/mesa-demos/0001-meson-fix-glx-detection-without-glvnd.patch @@ -0,0 +1,46 @@ +From e16117fc92688d76a042ad2c590c77d5a987a4ac Mon Sep 17 00:00:00 2001 +From: Erik Faye-Lund <erik.faye-lund@collabora.com> +Date: Fri, 24 Mar 2023 13:31:58 +0100 +Subject: [PATCH] meson: fix glx-detection without glvnd + +When build without GLVND, Mesa provides GLX as a part of libGL, just +like XQuartz does on MacOS. There's nothing really macOS specific about +this fallback, so let's drop the condition. + +And just for good measure, let's add in dep_gl as a dependency for +the header-check here, in case some one decides to install libGL outside +of the default include directory. + +Fixes: 34300551 ("meson: explicitly check for glx dependency") +Closes: https://gitlab.freedesktop.org/mesa/demos/-/issues/36 +Reviewed-by: Hoe Hao Cheng <haochengho12907@gmail.com> + +Upstream-Status: Backport +Signed-off-by: Ross Burton <ross.burton@arm.com> +--- + meson.build | 9 +++++---- + 1 file changed, 5 insertions(+), 4 deletions(-) + +diff --git a/meson.build b/meson.build +index c1853f94..bc3278e1 100644 +--- a/meson.build ++++ b/meson.build +@@ -99,10 +99,11 @@ if not dep_glu.found() and host_machine.system() != 'darwin' + endif + + dep_glx = dependency('glx', required: false, disabler : true) +-if not dep_glx.found() and host_machine.system() == 'darwin' +- # xquartz doesn't have a glx.pc, but it does have the header. And all the +- # symbols reside in libGL, so let's just use that. +- if cc.check_header('GL/glx.h', dependencies: dep_x11) ++if not dep_glx.found() ++ # Both Mesa build without GLVND and XQuartz lacks a glx.pc, but does ++ # provide the header. And all the symbols reside in libGL, so let's ++ # just use that. ++ if cc.check_header('GL/glx.h', dependencies: [dep_x11, dep_gl]) + dep_glx = dep_gl + endif + endif +-- +2.43.0 + diff --git a/meta/recipes-graphics/mesa/mesa-demos_9.0.0.bb b/meta/recipes-graphics/mesa/mesa-demos_9.0.0.bb index 0301b553611..d92f1ddc5ba 100644 --- a/meta/recipes-graphics/mesa/mesa-demos_9.0.0.bb +++ b/meta/recipes-graphics/mesa/mesa-demos_9.0.0.bb @@ -10,6 +10,7 @@ LIC_FILES_CHKSUM = "file://src/xdemos/glxgears.c;beginline=1;endline=20;md5=9142 file://src/xdemos/glxdemo.c;beginline=1;endline=8;md5=b01d5ab1aee94d35b7efaa2ef48e1a06" SRC_URI = "https://archive.mesa3d.org/demos/${BPN}-${PV}.tar.xz \ + file://0001-meson-fix-glx-detection-without-glvnd.patch \ " SRC_URI[sha256sum] = "3046a3d26a7b051af7ebdd257a5f23bfeb160cad6ed952329cdff1e9f1ed496b"
Backport a patch from upstream to fix the build when glx.pc isn't found, but the glx headers are available. As libglvnd is the only provider of glx.pc and by default we build without libglvnd, this is common. This solves the problem where mesa-demo is missing the GLX demos, such as glxgears. [ YOCTO #15825 ] Signed-off-by: Ross Burton <ross.burton@arm.com> --- ...eson-fix-glx-detection-without-glvnd.patch | 46 +++++++++++++++++++ .../recipes-graphics/mesa/mesa-demos_9.0.0.bb | 1 + 2 files changed, 47 insertions(+) create mode 100644 meta/recipes-graphics/mesa/mesa-demos/0001-meson-fix-glx-detection-without-glvnd.patch