Message ID | 20230511184049.1074923-1-denis@denix.org |
---|---|
State | Accepted |
Delegated to: | Ryan Eatmon |
Headers | show |
Series | [master/kirkstone] mesa-pvr: convert bbappend into standalone alternative provider | expand |
This does not apply against kirkstone cleanly because of the mesa version change from 22 to 23 for master. I'll fix it as I apply the patch, but I wanted to inform anyone trying it themselves. On 5/11/2023 1:40 PM, Denys Dmytriyenko wrote: > From: Denys Dmytriyenko <denys@konsulko.com> > > There are some unobvious issues with adding PVR support to Mesa > via a bbappend: > > 1. We need to mark mesa package as machine-specific, due to > differences in builds between SGX, Rogue and software-rendering > > 2. We also need to then mark mesa package as providing safe > ABIs (EGL/GLES/GBM) in order for all generic dependent packages > to not be treated as machine-specific, allowing their re-use > across different machines of the same architecture > > But doing the above alters the upstream mesa package and changes > its signatures even when not building for TI platforms, which is > a Yocto Project compliance violation. > > In order to resolve this issue, convert Mesa bbappend, that adds > PVR support, into its own standalone alternative provider, called > mesa-pvr and allow selecting it with PREFERRED_PROVIDER settings. > > Signed-off-by: Denys Dmytriyenko <denys@konsulko.com> > --- > meta-ti-bsp/conf/layer.conf | 2 +- > meta-ti-bsp/conf/machine/beagleplay.conf | 1 + > meta-ti-bsp/conf/machine/include/am62xx.inc | 1 + > meta-ti-bsp/conf/machine/include/am65xx.inc | 1 + > meta-ti-bsp/conf/machine/include/j721e.inc | 1 + > meta-ti-bsp/conf/machine/include/j721s2.inc | 1 + > meta-ti-bsp/conf/machine/include/j784s4.inc | 1 + > meta-ti-bsp/conf/machine/include/mesa-pvr.inc | 8 ++++++++ > meta-ti-bsp/conf/machine/include/omap-a15.inc | 1 + > meta-ti-bsp/conf/machine/include/ti33x.inc | 1 + > meta-ti-bsp/conf/machine/include/ti43x.inc | 1 + > .../recipes-graphics/mesa/mesa-gl_23.%.bbappend | 1 - > .../mesa/{pvr-mesa.inc => mesa-pvr_22.3.5.bb} | 10 ++++++---- > meta-ti-bsp/recipes-graphics/mesa/mesa_23.%.bbappend | 1 - > 14 files changed, 24 insertions(+), 7 deletions(-) > create mode 100644 meta-ti-bsp/conf/machine/include/mesa-pvr.inc > delete mode 100644 meta-ti-bsp/recipes-graphics/mesa/mesa-gl_23.%.bbappend > rename meta-ti-bsp/recipes-graphics/mesa/{pvr-mesa.inc => mesa-pvr_22.3.5.bb} (88%) > delete mode 100644 meta-ti-bsp/recipes-graphics/mesa/mesa_23.%.bbappend > > diff --git a/meta-ti-bsp/conf/layer.conf b/meta-ti-bsp/conf/layer.conf > index 5520c7c2..bb286c2b 100644 > --- a/meta-ti-bsp/conf/layer.conf > +++ b/meta-ti-bsp/conf/layer.conf > @@ -19,7 +19,7 @@ LAYERDEPENDS_meta-ti-bsp = " \ > " > > SIGGEN_EXCLUDERECIPES_ABISAFE += " \ > - mesa \ > + mesa-pvr \ > " > > HOSTTOOLS_NONFATAL += "truncate xxd comm" > diff --git a/meta-ti-bsp/conf/machine/beagleplay.conf b/meta-ti-bsp/conf/machine/beagleplay.conf > index e8d25cd9..c7b1414a 100644 > --- a/meta-ti-bsp/conf/machine/beagleplay.conf > +++ b/meta-ti-bsp/conf/machine/beagleplay.conf > @@ -10,6 +10,7 @@ MACHINE_FEATURES += "screen gpu" > SERIAL_CONSOLES = "115200;ttyS2" > SERIAL_CONSOLES_CHECK = "${SERIAL_CONSOLES}" > > +require conf/machine/include/mesa-pvr.inc > PREFERRED_PROVIDER_virtual/gpudriver ?= "ti-img-rogue-driver" > > TFA_BOARD = "lite" > diff --git a/meta-ti-bsp/conf/machine/include/am62xx.inc b/meta-ti-bsp/conf/machine/include/am62xx.inc > index 623d90eb..c4582c13 100644 > --- a/meta-ti-bsp/conf/machine/include/am62xx.inc > +++ b/meta-ti-bsp/conf/machine/include/am62xx.inc > @@ -3,6 +3,7 @@ SOC_FAMILY:append = ":am62xx" > > MACHINE_FEATURES += "screen gpu" > > +require conf/machine/include/mesa-pvr.inc > PREFERRED_PROVIDER_virtual/gpudriver ?= "ti-img-rogue-driver" > > # Default tiboot3.bin on AM62x is for HS-FS > diff --git a/meta-ti-bsp/conf/machine/include/am65xx.inc b/meta-ti-bsp/conf/machine/include/am65xx.inc > index 9fe851f4..9cbce243 100644 > --- a/meta-ti-bsp/conf/machine/include/am65xx.inc > +++ b/meta-ti-bsp/conf/machine/include/am65xx.inc > @@ -3,6 +3,7 @@ SOC_FAMILY:append = ":am65xx" > > MACHINE_FEATURES += "screen touchscreen gpu" > > +require conf/machine/include/mesa-pvr.inc > PREFERRED_PROVIDER_virtual/gpudriver ?= "" > > KERNEL_DEVICETREE_PREFIX = "ti/k3-am654" > diff --git a/meta-ti-bsp/conf/machine/include/j721e.inc b/meta-ti-bsp/conf/machine/include/j721e.inc > index 5e325ffe..f707cf26 100644 > --- a/meta-ti-bsp/conf/machine/include/j721e.inc > +++ b/meta-ti-bsp/conf/machine/include/j721e.inc > @@ -3,6 +3,7 @@ SOC_FAMILY:append = ":j721e" > > MACHINE_FEATURES += "screen gpu" > > +require conf/machine/include/mesa-pvr.inc > PREFERRED_PROVIDER_virtual/gpudriver ?= "ti-img-rogue-driver" > > # On J721e the file tiboot3.bin comes from the bootloader not ti-sci-fw > diff --git a/meta-ti-bsp/conf/machine/include/j721s2.inc b/meta-ti-bsp/conf/machine/include/j721s2.inc > index 70569a16..98cc611f 100644 > --- a/meta-ti-bsp/conf/machine/include/j721s2.inc > +++ b/meta-ti-bsp/conf/machine/include/j721s2.inc > @@ -3,6 +3,7 @@ SOC_FAMILY:append = ":j721s2" > > MACHINE_FEATURES += "screen gpu" > > +require conf/machine/include/mesa-pvr.inc > PREFERRED_PROVIDER_virtual/gpudriver ?= "ti-img-rogue-driver" > > TFA_BOARD = "generic" > diff --git a/meta-ti-bsp/conf/machine/include/j784s4.inc b/meta-ti-bsp/conf/machine/include/j784s4.inc > index d03ee4a4..de207687 100644 > --- a/meta-ti-bsp/conf/machine/include/j784s4.inc > +++ b/meta-ti-bsp/conf/machine/include/j784s4.inc > @@ -3,6 +3,7 @@ SOC_FAMILY:append = ":j784s4" > > MACHINE_FEATURES += "screen gpu" > > +require conf/machine/include/mesa-pvr.inc > PREFERRED_PROVIDER_virtual/gpudriver ?= "ti-img-rogue-driver" > > TFA_BOARD = "j784s4" > diff --git a/meta-ti-bsp/conf/machine/include/mesa-pvr.inc b/meta-ti-bsp/conf/machine/include/mesa-pvr.inc > new file mode 100644 > index 00000000..d5581315 > --- /dev/null > +++ b/meta-ti-bsp/conf/machine/include/mesa-pvr.inc > @@ -0,0 +1,8 @@ > +PREFERRED_PROVIDER_virtual/mesa ?= "mesa-pvr" > +PREFERRED_PROVIDER_virtual/egl ?= "mesa-pvr" > +PREFERRED_PROVIDER_virtual/libgles1 ?= "mesa-pvr" > +PREFERRED_PROVIDER_virtual/libgles2 ?= "mesa-pvr" > +PREFERRED_PROVIDER_virtual/libgles3 ?= "mesa-pvr" > +PREFERRED_PROVIDER_virtual/libgbm ?= "mesa-pvr" > +PREFERRED_PROVIDER_virtual/libglx ?= "mesa-pvr" > +PREFERRED_PROVIDER_virtual/libgl ?= "mesa-pvr" > diff --git a/meta-ti-bsp/conf/machine/include/omap-a15.inc b/meta-ti-bsp/conf/machine/include/omap-a15.inc > index 49db1cb6..700b1a11 100644 > --- a/meta-ti-bsp/conf/machine/include/omap-a15.inc > +++ b/meta-ti-bsp/conf/machine/include/omap-a15.inc > @@ -12,6 +12,7 @@ PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot-ti-staging" > PREFERRED_PROVIDER_u-boot ?= "u-boot-ti-staging" > > # Graphics providers and variables > +require conf/machine/include/mesa-pvr.inc > PREFERRED_PROVIDER_virtual/gpudriver ?= "" > PVR_DISPLAY_CONTROLLER_ALIAS ?= "omapdrm" > > diff --git a/meta-ti-bsp/conf/machine/include/ti33x.inc b/meta-ti-bsp/conf/machine/include/ti33x.inc > index 4f6d90bf..bce88309 100644 > --- a/meta-ti-bsp/conf/machine/include/ti33x.inc > +++ b/meta-ti-bsp/conf/machine/include/ti33x.inc > @@ -13,6 +13,7 @@ PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot-ti-staging" > PREFERRED_PROVIDER_u-boot ?= "u-boot-ti-staging" > > # Graphics providers and variables > +require conf/machine/include/mesa-pvr.inc > PREFERRED_PROVIDER_virtual/gpudriver ?= "" > PVR_DISPLAY_CONTROLLER_ALIAS ?= "tilcdc" > > diff --git a/meta-ti-bsp/conf/machine/include/ti43x.inc b/meta-ti-bsp/conf/machine/include/ti43x.inc > index 5b40925e..c1009dc6 100644 > --- a/meta-ti-bsp/conf/machine/include/ti43x.inc > +++ b/meta-ti-bsp/conf/machine/include/ti43x.inc > @@ -13,6 +13,7 @@ PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot-ti-staging" > PREFERRED_PROVIDER_u-boot ?= "u-boot-ti-staging" > > # Graphics providers and variables > +require conf/machine/include/mesa-pvr.inc > PREFERRED_PROVIDER_virtual/gpudriver ?= "" > PVR_DISPLAY_CONTROLLER_ALIAS ?= "omapdrm" > > diff --git a/meta-ti-bsp/recipes-graphics/mesa/mesa-gl_23.%.bbappend b/meta-ti-bsp/recipes-graphics/mesa/mesa-gl_23.%.bbappend > deleted file mode 100644 > index 912e9e9d..00000000 > --- a/meta-ti-bsp/recipes-graphics/mesa/mesa-gl_23.%.bbappend > +++ /dev/null > @@ -1 +0,0 @@ > -require ${@bb.utils.contains_any('PREFERRED_PROVIDER_virtual/gpudriver', 'ti-img-rogue-driver ti-sgx-ddk-km', 'pvr-mesa.inc', '', d)} > diff --git a/meta-ti-bsp/recipes-graphics/mesa/pvr-mesa.inc b/meta-ti-bsp/recipes-graphics/mesa/mesa-pvr_22.3.5.bb > similarity index 88% > rename from meta-ti-bsp/recipes-graphics/mesa/pvr-mesa.inc > rename to meta-ti-bsp/recipes-graphics/mesa/mesa-pvr_22.3.5.bb > index caf94156..0de3cb94 100644 > --- a/meta-ti-bsp/recipes-graphics/mesa/pvr-mesa.inc > +++ b/meta-ti-bsp/recipes-graphics/mesa/mesa-pvr_22.3.5.bb > @@ -2,11 +2,13 @@ > # upstream yet. This allows us to build the shims we need without completely > # clobbering mesa. > > -FILESEXTRAPATHS:prepend := "${THISDIR}/files:" > +require recipes-graphics/mesa/mesa.inc > + > +SUMMARY += " (with PowerVR support for TI platforms)" > > LIC_FILES_CHKSUM = "file://docs/license.rst;md5=63779ec98d78d823a9dc533a0735ef10" > > -BRANCH = "powervr/kirkstone/22.3.5" > +BRANCH = "powervr/kirkstone/${PV}" > > SRC_URI = " \ > git://gitlab.freedesktop.org/StaticRocket/mesa.git;protocol=https;branch=${BRANCH} \ > @@ -38,7 +40,6 @@ PACKAGECONFIG:remove = "xvmc" > PACKAGECONFIG[xvmc] = "" > > PACKAGE_ARCH = "${MACHINE_ARCH}" > -PV = "22.3.5+pvr" > > GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'pvr', ',pvr', '', d)}" > GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'sgx', ',sgx', '', d)}" > @@ -50,6 +51,7 @@ do_install:append () { > rm -rf ${D}${datadir}/pkgconfig > } > > -FILES:mesa-vulkan-drivers += " ${libdir}/libpvr_mesa_wsi.so" > +FILES:${PN}-dev += "${datadir}/mesa/wayland-drm.xml" > +FILES:mesa-vulkan-drivers += "${libdir}/libpvr_mesa_wsi.so" > > RRECOMMENDS:mesa-megadriver:append:class-target = " ${@d.getVar('PREFERRED_PROVIDER_virtual/gpudriver')}" > diff --git a/meta-ti-bsp/recipes-graphics/mesa/mesa_23.%.bbappend b/meta-ti-bsp/recipes-graphics/mesa/mesa_23.%.bbappend > deleted file mode 100644 > index 912e9e9d..00000000 > --- a/meta-ti-bsp/recipes-graphics/mesa/mesa_23.%.bbappend > +++ /dev/null > @@ -1 +0,0 @@ > -require ${@bb.utils.contains_any('PREFERRED_PROVIDER_virtual/gpudriver', 'ti-img-rogue-driver ti-sgx-ddk-km', 'pvr-mesa.inc', '', d)} > > > > -=-=-=-=-=-=-=-=-=-=-=- > Links: You receive all messages sent to this group. > View/Reply Online (#16516): https://lists.yoctoproject.org/g/meta-ti/message/16516 > Mute This Topic: https://lists.yoctoproject.org/mt/98834047/6551054 > Group Owner: meta-ti+owner@lists.yoctoproject.org > Unsubscribe: https://lists.yoctoproject.org/g/meta-ti/leave/10828724/6551054/1815494134/xyzzy [reatmon@ti.com] > -=-=-=-=-=-=-=-=-=-=-=- >
On 5/11/23 13:40, Denys Dmytriyenko wrote: > From: Denys Dmytriyenko <denys@konsulko.com> > > There are some unobvious issues with adding PVR support to Mesa > via a bbappend: > > 1. We need to mark mesa package as machine-specific, due to > differences in builds between SGX, Rogue and software-rendering > > 2. We also need to then mark mesa package as providing safe > ABIs (EGL/GLES/GBM) in order for all generic dependent packages > to not be treated as machine-specific, allowing their re-use > across different machines of the same architecture > > But doing the above alters the upstream mesa package and changes > its signatures even when not building for TI platforms, which is > a Yocto Project compliance violation. > > In order to resolve this issue, convert Mesa bbappend, that adds > PVR support, into its own standalone alternative provider, called > mesa-pvr and allow selecting it with PREFERRED_PROVIDER settings. > > Signed-off-by: Denys Dmytriyenko <denys@konsulko.com> > --- > meta-ti-bsp/conf/layer.conf | 2 +- > meta-ti-bsp/conf/machine/beagleplay.conf | 1 + > meta-ti-bsp/conf/machine/include/am62xx.inc | 1 + > meta-ti-bsp/conf/machine/include/am65xx.inc | 1 + > meta-ti-bsp/conf/machine/include/j721e.inc | 1 + > meta-ti-bsp/conf/machine/include/j721s2.inc | 1 + > meta-ti-bsp/conf/machine/include/j784s4.inc | 1 + > meta-ti-bsp/conf/machine/include/mesa-pvr.inc | 8 ++++++++ > meta-ti-bsp/conf/machine/include/omap-a15.inc | 1 + > meta-ti-bsp/conf/machine/include/ti33x.inc | 1 + > meta-ti-bsp/conf/machine/include/ti43x.inc | 1 + > .../recipes-graphics/mesa/mesa-gl_23.%.bbappend | 1 - > .../mesa/{pvr-mesa.inc => mesa-pvr_22.3.5.bb} | 10 ++++++---- > meta-ti-bsp/recipes-graphics/mesa/mesa_23.%.bbappend | 1 - > 14 files changed, 24 insertions(+), 7 deletions(-) > create mode 100644 meta-ti-bsp/conf/machine/include/mesa-pvr.inc > delete mode 100644 meta-ti-bsp/recipes-graphics/mesa/mesa-gl_23.%.bbappend > rename meta-ti-bsp/recipes-graphics/mesa/{pvr-mesa.inc => mesa-pvr_22.3.5.bb} (88%) > delete mode 100644 meta-ti-bsp/recipes-graphics/mesa/mesa_23.%.bbappend > > diff --git a/meta-ti-bsp/conf/layer.conf b/meta-ti-bsp/conf/layer.conf > index 5520c7c2..bb286c2b 100644 > --- a/meta-ti-bsp/conf/layer.conf > +++ b/meta-ti-bsp/conf/layer.conf > @@ -19,7 +19,7 @@ LAYERDEPENDS_meta-ti-bsp = " \ > " > > SIGGEN_EXCLUDERECIPES_ABISAFE += " \ > - mesa \ > + mesa-pvr \ > " > > HOSTTOOLS_NONFATAL += "truncate xxd comm" > diff --git a/meta-ti-bsp/conf/machine/beagleplay.conf b/meta-ti-bsp/conf/machine/beagleplay.conf > index e8d25cd9..c7b1414a 100644 > --- a/meta-ti-bsp/conf/machine/beagleplay.conf > +++ b/meta-ti-bsp/conf/machine/beagleplay.conf > @@ -10,6 +10,7 @@ MACHINE_FEATURES += "screen gpu" > SERIAL_CONSOLES = "115200;ttyS2" > SERIAL_CONSOLES_CHECK = "${SERIAL_CONSOLES}" > > +require conf/machine/include/mesa-pvr.inc > PREFERRED_PROVIDER_virtual/gpudriver ?= "ti-img-rogue-driver" > > TFA_BOARD = "lite" > diff --git a/meta-ti-bsp/conf/machine/include/am62xx.inc b/meta-ti-bsp/conf/machine/include/am62xx.inc > index 623d90eb..c4582c13 100644 > --- a/meta-ti-bsp/conf/machine/include/am62xx.inc > +++ b/meta-ti-bsp/conf/machine/include/am62xx.inc > @@ -3,6 +3,7 @@ SOC_FAMILY:append = ":am62xx" > > MACHINE_FEATURES += "screen gpu" > > +require conf/machine/include/mesa-pvr.inc > PREFERRED_PROVIDER_virtual/gpudriver ?= "ti-img-rogue-driver" > > # Default tiboot3.bin on AM62x is for HS-FS > diff --git a/meta-ti-bsp/conf/machine/include/am65xx.inc b/meta-ti-bsp/conf/machine/include/am65xx.inc > index 9fe851f4..9cbce243 100644 > --- a/meta-ti-bsp/conf/machine/include/am65xx.inc > +++ b/meta-ti-bsp/conf/machine/include/am65xx.inc > @@ -3,6 +3,7 @@ SOC_FAMILY:append = ":am65xx" > > MACHINE_FEATURES += "screen touchscreen gpu" > > +require conf/machine/include/mesa-pvr.inc > PREFERRED_PROVIDER_virtual/gpudriver ?= "" > > KERNEL_DEVICETREE_PREFIX = "ti/k3-am654" > diff --git a/meta-ti-bsp/conf/machine/include/j721e.inc b/meta-ti-bsp/conf/machine/include/j721e.inc > index 5e325ffe..f707cf26 100644 > --- a/meta-ti-bsp/conf/machine/include/j721e.inc > +++ b/meta-ti-bsp/conf/machine/include/j721e.inc > @@ -3,6 +3,7 @@ SOC_FAMILY:append = ":j721e" > > MACHINE_FEATURES += "screen gpu" > > +require conf/machine/include/mesa-pvr.inc > PREFERRED_PROVIDER_virtual/gpudriver ?= "ti-img-rogue-driver" > > # On J721e the file tiboot3.bin comes from the bootloader not ti-sci-fw > diff --git a/meta-ti-bsp/conf/machine/include/j721s2.inc b/meta-ti-bsp/conf/machine/include/j721s2.inc > index 70569a16..98cc611f 100644 > --- a/meta-ti-bsp/conf/machine/include/j721s2.inc > +++ b/meta-ti-bsp/conf/machine/include/j721s2.inc > @@ -3,6 +3,7 @@ SOC_FAMILY:append = ":j721s2" > > MACHINE_FEATURES += "screen gpu" > > +require conf/machine/include/mesa-pvr.inc > PREFERRED_PROVIDER_virtual/gpudriver ?= "ti-img-rogue-driver" > > TFA_BOARD = "generic" > diff --git a/meta-ti-bsp/conf/machine/include/j784s4.inc b/meta-ti-bsp/conf/machine/include/j784s4.inc > index d03ee4a4..de207687 100644 > --- a/meta-ti-bsp/conf/machine/include/j784s4.inc > +++ b/meta-ti-bsp/conf/machine/include/j784s4.inc > @@ -3,6 +3,7 @@ SOC_FAMILY:append = ":j784s4" > > MACHINE_FEATURES += "screen gpu" > > +require conf/machine/include/mesa-pvr.inc > PREFERRED_PROVIDER_virtual/gpudriver ?= "ti-img-rogue-driver" > > TFA_BOARD = "j784s4" > diff --git a/meta-ti-bsp/conf/machine/include/mesa-pvr.inc b/meta-ti-bsp/conf/machine/include/mesa-pvr.inc > new file mode 100644 > index 00000000..d5581315 > --- /dev/null > +++ b/meta-ti-bsp/conf/machine/include/mesa-pvr.inc > @@ -0,0 +1,8 @@ > +PREFERRED_PROVIDER_virtual/mesa ?= "mesa-pvr" > +PREFERRED_PROVIDER_virtual/egl ?= "mesa-pvr" > +PREFERRED_PROVIDER_virtual/libgles1 ?= "mesa-pvr" > +PREFERRED_PROVIDER_virtual/libgles2 ?= "mesa-pvr" > +PREFERRED_PROVIDER_virtual/libgles3 ?= "mesa-pvr" > +PREFERRED_PROVIDER_virtual/libgbm ?= "mesa-pvr" > +PREFERRED_PROVIDER_virtual/libglx ?= "mesa-pvr" > +PREFERRED_PROVIDER_virtual/libgl ?= "mesa-pvr" [snip] I'm concerned a potential version drift between mesa-native packages and mesa-target packages in this configuration, but otherwise this doesn't appear to cause any issues with target packages or dependency chains at the moment.
On Fri, May 12, 2023 at 01:17:38PM -0500, Randolph Sapp wrote: > On 5/11/23 13:40, Denys Dmytriyenko wrote: > >From: Denys Dmytriyenko <denys@konsulko.com> > > > >There are some unobvious issues with adding PVR support to Mesa > >via a bbappend: > > > >1. We need to mark mesa package as machine-specific, due to > >differences in builds between SGX, Rogue and software-rendering > > > >2. We also need to then mark mesa package as providing safe > >ABIs (EGL/GLES/GBM) in order for all generic dependent packages > >to not be treated as machine-specific, allowing their re-use > >across different machines of the same architecture > > > >But doing the above alters the upstream mesa package and changes > >its signatures even when not building for TI platforms, which is > >a Yocto Project compliance violation. > > > >In order to resolve this issue, convert Mesa bbappend, that adds > >PVR support, into its own standalone alternative provider, called > >mesa-pvr and allow selecting it with PREFERRED_PROVIDER settings. > > > >Signed-off-by: Denys Dmytriyenko <denys@konsulko.com> > >--- > > meta-ti-bsp/conf/layer.conf | 2 +- > > meta-ti-bsp/conf/machine/beagleplay.conf | 1 + > > meta-ti-bsp/conf/machine/include/am62xx.inc | 1 + > > meta-ti-bsp/conf/machine/include/am65xx.inc | 1 + > > meta-ti-bsp/conf/machine/include/j721e.inc | 1 + > > meta-ti-bsp/conf/machine/include/j721s2.inc | 1 + > > meta-ti-bsp/conf/machine/include/j784s4.inc | 1 + > > meta-ti-bsp/conf/machine/include/mesa-pvr.inc | 8 ++++++++ > > meta-ti-bsp/conf/machine/include/omap-a15.inc | 1 + > > meta-ti-bsp/conf/machine/include/ti33x.inc | 1 + > > meta-ti-bsp/conf/machine/include/ti43x.inc | 1 + > > .../recipes-graphics/mesa/mesa-gl_23.%.bbappend | 1 - > > .../mesa/{pvr-mesa.inc => mesa-pvr_22.3.5.bb} | 10 ++++++---- > > meta-ti-bsp/recipes-graphics/mesa/mesa_23.%.bbappend | 1 - > > 14 files changed, 24 insertions(+), 7 deletions(-) > > create mode 100644 meta-ti-bsp/conf/machine/include/mesa-pvr.inc > > delete mode 100644 meta-ti-bsp/recipes-graphics/mesa/mesa-gl_23.%.bbappend > > rename meta-ti-bsp/recipes-graphics/mesa/{pvr-mesa.inc => mesa-pvr_22.3.5.bb} (88%) > > delete mode 100644 meta-ti-bsp/recipes-graphics/mesa/mesa_23.%.bbappend > > > >diff --git a/meta-ti-bsp/conf/layer.conf b/meta-ti-bsp/conf/layer.conf > >index 5520c7c2..bb286c2b 100644 > >--- a/meta-ti-bsp/conf/layer.conf > >+++ b/meta-ti-bsp/conf/layer.conf > >@@ -19,7 +19,7 @@ LAYERDEPENDS_meta-ti-bsp = " \ > > " > > SIGGEN_EXCLUDERECIPES_ABISAFE += " \ > >- mesa \ > >+ mesa-pvr \ > > " > > HOSTTOOLS_NONFATAL += "truncate xxd comm" > >diff --git a/meta-ti-bsp/conf/machine/beagleplay.conf b/meta-ti-bsp/conf/machine/beagleplay.conf > >index e8d25cd9..c7b1414a 100644 > >--- a/meta-ti-bsp/conf/machine/beagleplay.conf > >+++ b/meta-ti-bsp/conf/machine/beagleplay.conf > >@@ -10,6 +10,7 @@ MACHINE_FEATURES += "screen gpu" > > SERIAL_CONSOLES = "115200;ttyS2" > > SERIAL_CONSOLES_CHECK = "${SERIAL_CONSOLES}" > >+require conf/machine/include/mesa-pvr.inc > > PREFERRED_PROVIDER_virtual/gpudriver ?= "ti-img-rogue-driver" > > TFA_BOARD = "lite" > >diff --git a/meta-ti-bsp/conf/machine/include/am62xx.inc b/meta-ti-bsp/conf/machine/include/am62xx.inc > >index 623d90eb..c4582c13 100644 > >--- a/meta-ti-bsp/conf/machine/include/am62xx.inc > >+++ b/meta-ti-bsp/conf/machine/include/am62xx.inc > >@@ -3,6 +3,7 @@ SOC_FAMILY:append = ":am62xx" > > MACHINE_FEATURES += "screen gpu" > >+require conf/machine/include/mesa-pvr.inc > > PREFERRED_PROVIDER_virtual/gpudriver ?= "ti-img-rogue-driver" > > # Default tiboot3.bin on AM62x is for HS-FS > >diff --git a/meta-ti-bsp/conf/machine/include/am65xx.inc b/meta-ti-bsp/conf/machine/include/am65xx.inc > >index 9fe851f4..9cbce243 100644 > >--- a/meta-ti-bsp/conf/machine/include/am65xx.inc > >+++ b/meta-ti-bsp/conf/machine/include/am65xx.inc > >@@ -3,6 +3,7 @@ SOC_FAMILY:append = ":am65xx" > > MACHINE_FEATURES += "screen touchscreen gpu" > >+require conf/machine/include/mesa-pvr.inc > > PREFERRED_PROVIDER_virtual/gpudriver ?= "" > > KERNEL_DEVICETREE_PREFIX = "ti/k3-am654" > >diff --git a/meta-ti-bsp/conf/machine/include/j721e.inc b/meta-ti-bsp/conf/machine/include/j721e.inc > >index 5e325ffe..f707cf26 100644 > >--- a/meta-ti-bsp/conf/machine/include/j721e.inc > >+++ b/meta-ti-bsp/conf/machine/include/j721e.inc > >@@ -3,6 +3,7 @@ SOC_FAMILY:append = ":j721e" > > MACHINE_FEATURES += "screen gpu" > >+require conf/machine/include/mesa-pvr.inc > > PREFERRED_PROVIDER_virtual/gpudriver ?= "ti-img-rogue-driver" > > # On J721e the file tiboot3.bin comes from the bootloader not ti-sci-fw > >diff --git a/meta-ti-bsp/conf/machine/include/j721s2.inc b/meta-ti-bsp/conf/machine/include/j721s2.inc > >index 70569a16..98cc611f 100644 > >--- a/meta-ti-bsp/conf/machine/include/j721s2.inc > >+++ b/meta-ti-bsp/conf/machine/include/j721s2.inc > >@@ -3,6 +3,7 @@ SOC_FAMILY:append = ":j721s2" > > MACHINE_FEATURES += "screen gpu" > >+require conf/machine/include/mesa-pvr.inc > > PREFERRED_PROVIDER_virtual/gpudriver ?= "ti-img-rogue-driver" > > TFA_BOARD = "generic" > >diff --git a/meta-ti-bsp/conf/machine/include/j784s4.inc b/meta-ti-bsp/conf/machine/include/j784s4.inc > >index d03ee4a4..de207687 100644 > >--- a/meta-ti-bsp/conf/machine/include/j784s4.inc > >+++ b/meta-ti-bsp/conf/machine/include/j784s4.inc > >@@ -3,6 +3,7 @@ SOC_FAMILY:append = ":j784s4" > > MACHINE_FEATURES += "screen gpu" > >+require conf/machine/include/mesa-pvr.inc > > PREFERRED_PROVIDER_virtual/gpudriver ?= "ti-img-rogue-driver" > > TFA_BOARD = "j784s4" > >diff --git a/meta-ti-bsp/conf/machine/include/mesa-pvr.inc b/meta-ti-bsp/conf/machine/include/mesa-pvr.inc > >new file mode 100644 > >index 00000000..d5581315 > >--- /dev/null > >+++ b/meta-ti-bsp/conf/machine/include/mesa-pvr.inc > >@@ -0,0 +1,8 @@ > >+PREFERRED_PROVIDER_virtual/mesa ?= "mesa-pvr" > >+PREFERRED_PROVIDER_virtual/egl ?= "mesa-pvr" > >+PREFERRED_PROVIDER_virtual/libgles1 ?= "mesa-pvr" > >+PREFERRED_PROVIDER_virtual/libgles2 ?= "mesa-pvr" > >+PREFERRED_PROVIDER_virtual/libgles3 ?= "mesa-pvr" > >+PREFERRED_PROVIDER_virtual/libgbm ?= "mesa-pvr" > >+PREFERRED_PROVIDER_virtual/libglx ?= "mesa-pvr" > >+PREFERRED_PROVIDER_virtual/libgl ?= "mesa-pvr" > > [snip] > > I'm concerned a potential version drift between mesa-native packages > and mesa-target packages in this configuration, but otherwise this > doesn't appear to cause any issues with target packages or > dependency chains at the moment. I have also successfully tested with these extra 2 lines: PREFERRED_PROVIDER_virtual/libgl-native ?= "mesa-pvr-native" PREFERRED_PROVIDER_virtual/nativesdk-libgl ?= "nativesdk-mesa-pvr" We can add them back into conf/machine/include/mesa-pvr.inc
diff --git a/meta-ti-bsp/conf/layer.conf b/meta-ti-bsp/conf/layer.conf index 5520c7c2..bb286c2b 100644 --- a/meta-ti-bsp/conf/layer.conf +++ b/meta-ti-bsp/conf/layer.conf @@ -19,7 +19,7 @@ LAYERDEPENDS_meta-ti-bsp = " \ " SIGGEN_EXCLUDERECIPES_ABISAFE += " \ - mesa \ + mesa-pvr \ " HOSTTOOLS_NONFATAL += "truncate xxd comm" diff --git a/meta-ti-bsp/conf/machine/beagleplay.conf b/meta-ti-bsp/conf/machine/beagleplay.conf index e8d25cd9..c7b1414a 100644 --- a/meta-ti-bsp/conf/machine/beagleplay.conf +++ b/meta-ti-bsp/conf/machine/beagleplay.conf @@ -10,6 +10,7 @@ MACHINE_FEATURES += "screen gpu" SERIAL_CONSOLES = "115200;ttyS2" SERIAL_CONSOLES_CHECK = "${SERIAL_CONSOLES}" +require conf/machine/include/mesa-pvr.inc PREFERRED_PROVIDER_virtual/gpudriver ?= "ti-img-rogue-driver" TFA_BOARD = "lite" diff --git a/meta-ti-bsp/conf/machine/include/am62xx.inc b/meta-ti-bsp/conf/machine/include/am62xx.inc index 623d90eb..c4582c13 100644 --- a/meta-ti-bsp/conf/machine/include/am62xx.inc +++ b/meta-ti-bsp/conf/machine/include/am62xx.inc @@ -3,6 +3,7 @@ SOC_FAMILY:append = ":am62xx" MACHINE_FEATURES += "screen gpu" +require conf/machine/include/mesa-pvr.inc PREFERRED_PROVIDER_virtual/gpudriver ?= "ti-img-rogue-driver" # Default tiboot3.bin on AM62x is for HS-FS diff --git a/meta-ti-bsp/conf/machine/include/am65xx.inc b/meta-ti-bsp/conf/machine/include/am65xx.inc index 9fe851f4..9cbce243 100644 --- a/meta-ti-bsp/conf/machine/include/am65xx.inc +++ b/meta-ti-bsp/conf/machine/include/am65xx.inc @@ -3,6 +3,7 @@ SOC_FAMILY:append = ":am65xx" MACHINE_FEATURES += "screen touchscreen gpu" +require conf/machine/include/mesa-pvr.inc PREFERRED_PROVIDER_virtual/gpudriver ?= "" KERNEL_DEVICETREE_PREFIX = "ti/k3-am654" diff --git a/meta-ti-bsp/conf/machine/include/j721e.inc b/meta-ti-bsp/conf/machine/include/j721e.inc index 5e325ffe..f707cf26 100644 --- a/meta-ti-bsp/conf/machine/include/j721e.inc +++ b/meta-ti-bsp/conf/machine/include/j721e.inc @@ -3,6 +3,7 @@ SOC_FAMILY:append = ":j721e" MACHINE_FEATURES += "screen gpu" +require conf/machine/include/mesa-pvr.inc PREFERRED_PROVIDER_virtual/gpudriver ?= "ti-img-rogue-driver" # On J721e the file tiboot3.bin comes from the bootloader not ti-sci-fw diff --git a/meta-ti-bsp/conf/machine/include/j721s2.inc b/meta-ti-bsp/conf/machine/include/j721s2.inc index 70569a16..98cc611f 100644 --- a/meta-ti-bsp/conf/machine/include/j721s2.inc +++ b/meta-ti-bsp/conf/machine/include/j721s2.inc @@ -3,6 +3,7 @@ SOC_FAMILY:append = ":j721s2" MACHINE_FEATURES += "screen gpu" +require conf/machine/include/mesa-pvr.inc PREFERRED_PROVIDER_virtual/gpudriver ?= "ti-img-rogue-driver" TFA_BOARD = "generic" diff --git a/meta-ti-bsp/conf/machine/include/j784s4.inc b/meta-ti-bsp/conf/machine/include/j784s4.inc index d03ee4a4..de207687 100644 --- a/meta-ti-bsp/conf/machine/include/j784s4.inc +++ b/meta-ti-bsp/conf/machine/include/j784s4.inc @@ -3,6 +3,7 @@ SOC_FAMILY:append = ":j784s4" MACHINE_FEATURES += "screen gpu" +require conf/machine/include/mesa-pvr.inc PREFERRED_PROVIDER_virtual/gpudriver ?= "ti-img-rogue-driver" TFA_BOARD = "j784s4" diff --git a/meta-ti-bsp/conf/machine/include/mesa-pvr.inc b/meta-ti-bsp/conf/machine/include/mesa-pvr.inc new file mode 100644 index 00000000..d5581315 --- /dev/null +++ b/meta-ti-bsp/conf/machine/include/mesa-pvr.inc @@ -0,0 +1,8 @@ +PREFERRED_PROVIDER_virtual/mesa ?= "mesa-pvr" +PREFERRED_PROVIDER_virtual/egl ?= "mesa-pvr" +PREFERRED_PROVIDER_virtual/libgles1 ?= "mesa-pvr" +PREFERRED_PROVIDER_virtual/libgles2 ?= "mesa-pvr" +PREFERRED_PROVIDER_virtual/libgles3 ?= "mesa-pvr" +PREFERRED_PROVIDER_virtual/libgbm ?= "mesa-pvr" +PREFERRED_PROVIDER_virtual/libglx ?= "mesa-pvr" +PREFERRED_PROVIDER_virtual/libgl ?= "mesa-pvr" diff --git a/meta-ti-bsp/conf/machine/include/omap-a15.inc b/meta-ti-bsp/conf/machine/include/omap-a15.inc index 49db1cb6..700b1a11 100644 --- a/meta-ti-bsp/conf/machine/include/omap-a15.inc +++ b/meta-ti-bsp/conf/machine/include/omap-a15.inc @@ -12,6 +12,7 @@ PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot-ti-staging" PREFERRED_PROVIDER_u-boot ?= "u-boot-ti-staging" # Graphics providers and variables +require conf/machine/include/mesa-pvr.inc PREFERRED_PROVIDER_virtual/gpudriver ?= "" PVR_DISPLAY_CONTROLLER_ALIAS ?= "omapdrm" diff --git a/meta-ti-bsp/conf/machine/include/ti33x.inc b/meta-ti-bsp/conf/machine/include/ti33x.inc index 4f6d90bf..bce88309 100644 --- a/meta-ti-bsp/conf/machine/include/ti33x.inc +++ b/meta-ti-bsp/conf/machine/include/ti33x.inc @@ -13,6 +13,7 @@ PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot-ti-staging" PREFERRED_PROVIDER_u-boot ?= "u-boot-ti-staging" # Graphics providers and variables +require conf/machine/include/mesa-pvr.inc PREFERRED_PROVIDER_virtual/gpudriver ?= "" PVR_DISPLAY_CONTROLLER_ALIAS ?= "tilcdc" diff --git a/meta-ti-bsp/conf/machine/include/ti43x.inc b/meta-ti-bsp/conf/machine/include/ti43x.inc index 5b40925e..c1009dc6 100644 --- a/meta-ti-bsp/conf/machine/include/ti43x.inc +++ b/meta-ti-bsp/conf/machine/include/ti43x.inc @@ -13,6 +13,7 @@ PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot-ti-staging" PREFERRED_PROVIDER_u-boot ?= "u-boot-ti-staging" # Graphics providers and variables +require conf/machine/include/mesa-pvr.inc PREFERRED_PROVIDER_virtual/gpudriver ?= "" PVR_DISPLAY_CONTROLLER_ALIAS ?= "omapdrm" diff --git a/meta-ti-bsp/recipes-graphics/mesa/mesa-gl_23.%.bbappend b/meta-ti-bsp/recipes-graphics/mesa/mesa-gl_23.%.bbappend deleted file mode 100644 index 912e9e9d..00000000 --- a/meta-ti-bsp/recipes-graphics/mesa/mesa-gl_23.%.bbappend +++ /dev/null @@ -1 +0,0 @@ -require ${@bb.utils.contains_any('PREFERRED_PROVIDER_virtual/gpudriver', 'ti-img-rogue-driver ti-sgx-ddk-km', 'pvr-mesa.inc', '', d)} diff --git a/meta-ti-bsp/recipes-graphics/mesa/pvr-mesa.inc b/meta-ti-bsp/recipes-graphics/mesa/mesa-pvr_22.3.5.bb similarity index 88% rename from meta-ti-bsp/recipes-graphics/mesa/pvr-mesa.inc rename to meta-ti-bsp/recipes-graphics/mesa/mesa-pvr_22.3.5.bb index caf94156..0de3cb94 100644 --- a/meta-ti-bsp/recipes-graphics/mesa/pvr-mesa.inc +++ b/meta-ti-bsp/recipes-graphics/mesa/mesa-pvr_22.3.5.bb @@ -2,11 +2,13 @@ # upstream yet. This allows us to build the shims we need without completely # clobbering mesa. -FILESEXTRAPATHS:prepend := "${THISDIR}/files:" +require recipes-graphics/mesa/mesa.inc + +SUMMARY += " (with PowerVR support for TI platforms)" LIC_FILES_CHKSUM = "file://docs/license.rst;md5=63779ec98d78d823a9dc533a0735ef10" -BRANCH = "powervr/kirkstone/22.3.5" +BRANCH = "powervr/kirkstone/${PV}" SRC_URI = " \ git://gitlab.freedesktop.org/StaticRocket/mesa.git;protocol=https;branch=${BRANCH} \ @@ -38,7 +40,6 @@ PACKAGECONFIG:remove = "xvmc" PACKAGECONFIG[xvmc] = "" PACKAGE_ARCH = "${MACHINE_ARCH}" -PV = "22.3.5+pvr" GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'pvr', ',pvr', '', d)}" GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'sgx', ',sgx', '', d)}" @@ -50,6 +51,7 @@ do_install:append () { rm -rf ${D}${datadir}/pkgconfig } -FILES:mesa-vulkan-drivers += " ${libdir}/libpvr_mesa_wsi.so" +FILES:${PN}-dev += "${datadir}/mesa/wayland-drm.xml" +FILES:mesa-vulkan-drivers += "${libdir}/libpvr_mesa_wsi.so" RRECOMMENDS:mesa-megadriver:append:class-target = " ${@d.getVar('PREFERRED_PROVIDER_virtual/gpudriver')}" diff --git a/meta-ti-bsp/recipes-graphics/mesa/mesa_23.%.bbappend b/meta-ti-bsp/recipes-graphics/mesa/mesa_23.%.bbappend deleted file mode 100644 index 912e9e9d..00000000 --- a/meta-ti-bsp/recipes-graphics/mesa/mesa_23.%.bbappend +++ /dev/null @@ -1 +0,0 @@ -require ${@bb.utils.contains_any('PREFERRED_PROVIDER_virtual/gpudriver', 'ti-img-rogue-driver ti-sgx-ddk-km', 'pvr-mesa.inc', '', d)}