Hi Andrew, On 17/10/2022 15:30, Andrew Davis wrote: > I'm attaching a patch for meta-ti that should > get both core-image-x11 and core-image-weston building for Kirkstone.
I'll give this a test this week. I've included some review comments below so we can hopefully get something merged to fix this issue... > From c81fbae2cf7787ed01ee00b378e95be9d653d7df Mon Sep 17 00:00:00 2001 > From: Andrew Davis <[email protected]> > Date: Thu, 13 Oct 2022 09:59:46 -0500 > Subject: [PATCH] Add core-image-weston and core-image-x11 support > > This is more changes than I would normally like in a single commit > but these all do seem so logically connected. The goal being to > enable the two oe-core graphical images. > > These changes are needed due to our MACHINES all only having GLES2 > and not the desktop OpenGL versions. That would mean these belong > in the layer that adds the machines and not in a distro layer. > > At some point we should add a new MACHINE_FEATURE that lets a BSP > layer specify the API supported by the hardware. Until then > we append these key recipes to switch them over to GLES2. > > Signed-off-by: Andrew Davis <[email protected]> I expect the long-term solution will be to add a "gles2" entry to MACHINE_FEATURES on the Yocto master branch, but I doubt that will be accepted onto the existing kirkstone branch. In the meantime we do need a solution which can be applied for kirkstone. Are the changes here expected to work for all TI targets or just the AM335x SoC? i.e. can this be applied to the kirkstone branch in meta-ti once refactored into a couple of different commits (e.g. one per package)? > --- > .../recipes-graphics/cairo/cairo_%.bbappend | 3 ++ > ...abling-patch-to-not-exclude-libepoxy.patch | 46 +++++++++++++++++++ > .../recipes-graphics/gtk+/gtk+3_%.bbappend | 9 ++++ > .../libepoxy/libepoxy_%.bbappend | 3 ++ > .../xorg-xserver/xserver-xorg_%.bbappend | 2 + > .../xwayland/xwayland_%.bbappend | 3 ++ > 6 files changed, 66 insertions(+) > create mode 100644 meta-ti-bsp/recipes-graphics/cairo/cairo_%.bbappend > create mode 100644 > meta-ti-bsp/recipes-graphics/gtk+/gtk+3/0001-Fix-OpenGL-disabling-patch-to-not-exclude-libepoxy.patch > create mode 100644 meta-ti-bsp/recipes-graphics/gtk+/gtk+3_%.bbappend > create mode 100644 meta-ti-bsp/recipes-graphics/libepoxy/libepoxy_%.bbappend > create mode 100644 > meta-ti-bsp/recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend > create mode 100644 meta-ti-bsp/recipes-graphics/xwayland/xwayland_%.bbappend > > diff --git a/meta-ti-bsp/recipes-graphics/cairo/cairo_%.bbappend > b/meta-ti-bsp/recipes-graphics/cairo/cairo_%.bbappend > new file mode 100644 > index 00000000..726f3911 > --- /dev/null > +++ b/meta-ti-bsp/recipes-graphics/cairo/cairo_%.bbappend > @@ -0,0 +1,3 @@ > +PR:append:ti-soc = ".ti1" > +PACKAGECONFIG:append:ti-soc = " ${@bb.utils.contains('MACHINE_FEATURES', > 'gpu', 'egl glesv2', '', d)}" > +PACKAGECONFIG:remove:ti-soc = "opengl" > diff --git > a/meta-ti-bsp/recipes-graphics/gtk+/gtk+3/0001-Fix-OpenGL-disabling-patch-to-not-exclude-libepoxy.patch > > b/meta-ti-bsp/recipes-graphics/gtk+/gtk+3/0001-Fix-OpenGL-disabling-patch-to-not-exclude-libepoxy.patch > new file mode 100644 > index 00000000..c873fb8d > --- /dev/null > +++ > b/meta-ti-bsp/recipes-graphics/gtk+/gtk+3/0001-Fix-OpenGL-disabling-patch-to-not-exclude-libepoxy.patch > @@ -0,0 +1,46 @@ > +From eb16e80bf1f7c51024f3ed950ae85541e5ba2233 Mon Sep 17 00:00:00 2001 > +From: Andrew Davis <[email protected]> > +Date: Wed, 12 Oct 2022 13:05:45 -0500 > +Subject: [PATCH] Fix OpenGL disabling patch to not exclude libepoxy > + > +Upstream-Status: Inappropriate > +Signed-off-by: Andrew Davis <[email protected]> I think this is appropriate to fix upstream. > +--- > + configure.ac | 9 ++++----- > + 1 file changed, 4 insertions(+), 5 deletions(-) > + > +diff --git a/configure.ac b/configure.ac > +index 3cb24e9..aa365be 100644 > +--- a/configure.ac > ++++ b/configure.ac > +@@ -348,10 +348,9 @@ AC_ARG_ENABLE(cloudproviders, > + [cloudproviders_set=yes]) > + AC_ARG_ENABLE(opengl, > + [AS_HELP_STRING([--enable-opengl], > +- [When enabled, Gtk+ will use libepoxy and > exposes GtkGLArea widget ])]) > ++ [When enabled, Gtk+ exposes GtkGLArea widget > ])]) > + AS_IF([test "x$enable_opengl" != "xno"], [ > +- AC_DEFINE([HAVE_OPENGL], [1], [libepoxy and opengl APIs are available at > buildtime]) > +- EPOXY_PACKAGES="epoxy >= epoxy_required_version" > ++ AC_DEFINE([HAVE_OPENGL], [1], [OpenGL APIs are available at buildtime]) This section can be changed to always define EPOXY_PACKAGES, or to define it when `--enable-epoxy` is passed on the command line if we need a way to enable/disable this dependency to be able to submit the patch upstream. > + ]) > + AM_CONDITIONAL([HAVE_OPENGL],[test "x$enable_opengl" != "xno"]) > + > +@@ -1365,7 +1364,7 @@ CFLAGS="$saved_cflags" > + LDFLAGS="$saved_ldflags" > + > + GDK_PACKAGES="$PANGO_PACKAGES gdk-pixbuf-2.0 >= gdk_pixbuf_required_version > cairo >= cairo_required_version cairo-gobject >= cairo_required_version" > +-GDK_PRIVATE_PACKAGES="$GDK_GIO_PACKAGE $X_PACKAGES $WAYLAND_PACKAGES > $cairo_backends $EPOXY_PACKAGES $CLOUDPROVIDER_PACKAGES $PROFILER_PACKAGES > fribidi >= fribidi_required_version" > ++GDK_PRIVATE_PACKAGES="$GDK_GIO_PACKAGE $X_PACKAGES $WAYLAND_PACKAGES > $cairo_backends epoxy >= epoxy_required_version $CLOUDPROVIDER_PACKAGES > $PROFILER_PACKAGES fribidi >= fribidi_required_version" This line can remain unchanged if EPOXY_PACKAGES is unconditionally defined above. > + > + PKG_CHECK_MODULES(GDK_DEP, $GDK_PACKAGES $GDK_PRIVATE_PACKAGES) > + GDK_DEP_LIBS="$GDK_EXTRA_LIBS $GDK_DEP_LIBS $MATH_LIB" > +@@ -1399,7 +1398,7 @@ fi > + PKG_CHECK_MODULES(ATK, $ATK_PACKAGES) > + > + GTK_PACKAGES="atk >= atk_required_version cairo >= cairo_required_version > cairo-gobject >= cairo_required_version gdk-pixbuf-2.0 >= > gdk_pixbuf_required_version gio-2.0 >= glib_required_version" > +-GTK_PRIVATE_PACKAGES="$ATK_PACKAGES $WAYLAND_PACKAGES $EPOXY_PACKAGES > fribidi >= fribidi_required_version" > ++GTK_PRIVATE_PACKAGES="$ATK_PACKAGES $WAYLAND_PACKAGES epoxy >= > epoxy_required_version fribidi >= fribidi_required_version" As above. > + if test "x$enable_x11_backend" = xyes -o "x$enable_wayland_backend" = xyes; > then > + GTK_PRIVATE_PACKAGES="$GTK_PRIVATE_PACKAGES pangoft2" > + fi > diff --git a/meta-ti-bsp/recipes-graphics/gtk+/gtk+3_%.bbappend > b/meta-ti-bsp/recipes-graphics/gtk+/gtk+3_%.bbappend > new file mode 100644 > index 00000000..b6e82d14 > --- /dev/null > +++ b/meta-ti-bsp/recipes-graphics/gtk+/gtk+3_%.bbappend > @@ -0,0 +1,9 @@ > +FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" > + > +SRC_URI:append:ti-soc = " \ > + file://0001-Fix-OpenGL-disabling-patch-to-not-exclude-libepoxy.patch \ > +" > + > +PR:append:ti-soc = ".ti1" > +PACKAGECONFIG:remove:ti-soc = "opengl" > +DEPENDS:append:ti-soc = " libepoxy" > diff --git a/meta-ti-bsp/recipes-graphics/libepoxy/libepoxy_%.bbappend > b/meta-ti-bsp/recipes-graphics/libepoxy/libepoxy_%.bbappend > new file mode 100644 > index 00000000..aadf5bab > --- /dev/null > +++ b/meta-ti-bsp/recipes-graphics/libepoxy/libepoxy_%.bbappend > @@ -0,0 +1,3 @@ > +PR:append:ti-soc = ".ti1" > +PACKAGECONFIG:append:ti-soc = " ${@bb.utils.contains('MACHINE_FEATURES', > 'gpu', 'egl', '', d)}" > +PACKAGECONFIG:remove:ti-soc = "x11" > diff --git > a/meta-ti-bsp/recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend > b/meta-ti-bsp/recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend > new file mode 100644 > index 00000000..86c1e714 > --- /dev/null > +++ b/meta-ti-bsp/recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend > @@ -0,0 +1,2 @@ > +PR:append:ti-soc = ".ti1" > +OPENGL_PKGCONFIGS:ti-soc = "" > diff --git a/meta-ti-bsp/recipes-graphics/xwayland/xwayland_%.bbappend > b/meta-ti-bsp/recipes-graphics/xwayland/xwayland_%.bbappend > new file mode 100644 > index 00000000..e7163207 > --- /dev/null > +++ b/meta-ti-bsp/recipes-graphics/xwayland/xwayland_%.bbappend > @@ -0,0 +1,3 @@ > +PR:append:ti-soc = ".ti1" > +PACKAGECONFIG:remove:ti-soc = "glx" > +DEPENDS:append:ti-soc = " libxshmfence" Thanks, -- Paul Barker Principal Software Engineer SanCloud Ltd e: [email protected] w: https://sancloud.com/
OpenPGP_0xA67255DFCCE62ECD.asc
Description: OpenPGP public key
OpenPGP_signature
Description: OpenPGP digital signature
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#15197): https://lists.yoctoproject.org/g/meta-ti/message/15197 Mute This Topic: https://lists.yoctoproject.org/mt/93954566/21656 Group Owner: [email protected] Unsubscribe: https://lists.yoctoproject.org/g/meta-ti/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
