On Wed, Apr 12, 2023 at 01:42:42PM -0500, Andrew Davis via 
lists.yoctoproject.org wrote:
> The names we use for the GPU components are not consistent nor do the
> intuitively describe their function. Let's fix that.
> 
> We do 3 things, first powervr-drivers/ contains only the kernel-mode
> half of the driver, for GPUs most of the driver lives in userspace,
> and the "PowerVR" name is no longer correct for the latest GPUs. Rename
> this to ti-img-gpu-km/ which matches better with our naming for the
> user-mode half and the TI/IMG codecs.
> 
> Next, ti-img-rogue-driver is renamed ti-img-rogue-km, same reasoning
> as above and matches the SGX version of the same.
> 
> The usermode driver lives in a directory named "libgles", but the
> driver does not just provide libgles, it also can provide OpenCL,
> DRI, and Vulkan. Rename to match the kernel-mode half.
> 
> Lastly, the acronym "DDK" is short for "Driver Development Kit".
> This kit is provided by Imagination to TI and is what we use to
> "Develop" the "Driver". What we ship is not the DDK, it is the
> driver itself. The name DDK seems to have just been passed through.
> Remove use of "ddk" where we can.
> 
> To summarize:
> 
>  * powervr-drivers     -> ti-img-gpu-km
>  * ti-img-rogue-driver -> ti-img-rogue-km
>  * ti-sgx-ddk-km       -> ti-img-sgx-km
>  * libgles             -> ti-img-gpu-umlibs
>  * ti-sgx-ddk-um       -> ti-img-sgx-umlibs

Renaming recipes will have a huge impact downstream! Last time we renamed 
omap5-sgx-ddk-um-linux to ti-sgx-ddk-um, there's been a lot of breakage and 
tons of complaints from customers and the community at large (in public and 
even more so in private)...

First of all, you are only advised to do such thing in master (and not right 
before the next release, which is now), definitely not in a stable branch, 
especially not in a LTS branch (e.g. kirkstone).

Second, do it during the version bump - keep the old version under the old 
name, add a new version with the new name.

Third, you have to provide backward compatibility and setup corresponding 
preemption/replacement policy (at least RPROVIDES, RREPLACES, RCONFLICTS). 
But that alone won't help with downstream layers adding their bbappends.

Just checking a few public OEM layers that are downstream to meta-ti (and 
that's just the tip of the iceberg, as majority of customer layers are not 
even public!):

Phytec:
https://github.com/phytec/meta-phytec/blob/kirkstone/dynamic-layers/meta-ti-bsp/recipes-bsp/powervr-drivers/ti-img-rogue-driver_1.18.6276027.bbappend

Toradex (seems to be a bit outdated, I'm guessing they pin to specific SHA):
https://git.toradex.com/cgit/meta-toradex-ti.git/tree/recipes-bsp/powervr-drivers/ti-img-rogue-driver_1.15.6133109.bbappend?h=kirkstone-6.x.y
https://git.toradex.com/cgit/meta-toradex-ti.git/tree/recipes-graphics/libgles/ti-img-rogue-umlibs_1.15.6133109.bbappend?h=kirkstone-6.x.y

Variscite:
Their meta-variscite-bsp-ti layer doesn't appear to touch graphics and is 
still on dunfell...

SanCloud:
Also doesn't appear to modify graphics recipes directly.

AGL:
https://gerrit.automotivelinux.org/gerrit/gitweb?p=AGL/meta-agl.git;a=blob;f=meta-agl-bsp/meta-ti-bsp/recipes-bsp/ti-sgx-ddk-km/ti-sgx-ddk-km_%25.bbappend;hb=HEAD
https://gerrit.automotivelinux.org/gerrit/gitweb?p=AGL/meta-agl.git;a=blob;f=meta-agl-bsp/meta-ti-bsp/recipes-graphics/libgles/ti-sgx-ddk-um_%25.bbappend;hb=HEAD

These are just bbappends, but I'm sure there are other references to these 
current names in configs and/or their recipes...

AFAIK, AGL, for example, hasn't yet fully recovered from the latest graphics 
changes separating Mesa - there's work in progress going on right now.

I fully understand the desire to simplify and unify things, like directory 
and recipe names. But it comes with a lot of complications and require extra 
thought put into how not to break things for everyone around...

Yocto Project guidelines for public BSPs are much stricter than those for 
Distros or customer/product layers. It may be convenient to think of meta-ti 
as a "leaf" of the project, but it is actually quite a large "branch" with 
other "branches" and "leaves" downstream depending on it...

-- 
Denys


> Signed-off-by: Andrew Davis <[email protected]>
> ---
>  ...compiler-support-OpenEmbedded-nodistro-internal-aarc.patch | 0
>  .../ti-img-rogue-km_1.18.6276027.bb}                          | 0
>  .../ti-img-sgx-km_1.17.4948957.bb}                            | 2 +-
>  meta-ti-bsp/recipes-graphics/mesa/mesa-gl_22.%.bbappend       | 2 +-
>  meta-ti-bsp/recipes-graphics/mesa/mesa_22.%.bbappend          | 2 +-
>  meta-ti-bsp/recipes-graphics/mesa/pvr-mesa.inc                | 4 ++--
>  .../ti-img-rogue-umlibs_1.18.6276027.bb                       | 3 ++-
>  .../ti-img-sgx-umlibs}/pvrsrvkm.rules                         | 0
>  .../ti-img-sgx-umlibs_1.17.4948957.bb}                        | 2 +-
>  9 files changed, 8 insertions(+), 7 deletions(-)
>  rename meta-ti-bsp/recipes-bsp/{powervr-drivers/ti-img-rogue-driver => 
> ti-img-gpu-km/ti-img-rogue-km}/0001-compiler-support-OpenEmbedded-nodistro-internal-aarc.patch
>  (100%)
>  rename 
> meta-ti-bsp/recipes-bsp/{powervr-drivers/ti-img-rogue-driver_1.18.6276027.bb 
> => ti-img-gpu-km/ti-img-rogue-km_1.18.6276027.bb} (100%)
>  rename 
> meta-ti-bsp/recipes-bsp/{powervr-drivers/ti-sgx-ddk-km_1.17.4948957.bb => 
> ti-img-gpu-km/ti-img-sgx-km_1.17.4948957.bb} (97%)
>  rename meta-ti-bsp/recipes-graphics/{libgles => 
> ti-img-gpu-umlibs}/ti-img-rogue-umlibs_1.18.6276027.bb (94%)
>  rename meta-ti-bsp/recipes-graphics/{libgles/ti-sgx-ddk-um => 
> ti-img-gpu-umlibs/ti-img-sgx-umlibs}/pvrsrvkm.rules (100%)
>  rename meta-ti-bsp/recipes-graphics/{libgles/ti-sgx-ddk-um_1.17.4948957.bb 
> => ti-img-gpu-umlibs/ti-img-sgx-umlibs_1.17.4948957.bb} (98%)
> 
> diff --git 
> a/meta-ti-bsp/recipes-bsp/powervr-drivers/ti-img-rogue-driver/0001-compiler-support-OpenEmbedded-nodistro-internal-aarc.patch
>  
> b/meta-ti-bsp/recipes-bsp/ti-img-gpu-km/ti-img-rogue-km/0001-compiler-support-OpenEmbedded-nodistro-internal-aarc.patch
> similarity index 100%
> rename from 
> meta-ti-bsp/recipes-bsp/powervr-drivers/ti-img-rogue-driver/0001-compiler-support-OpenEmbedded-nodistro-internal-aarc.patch
> rename to 
> meta-ti-bsp/recipes-bsp/ti-img-gpu-km/ti-img-rogue-km/0001-compiler-support-OpenEmbedded-nodistro-internal-aarc.patch
> diff --git 
> a/meta-ti-bsp/recipes-bsp/powervr-drivers/ti-img-rogue-driver_1.18.6276027.bb 
> b/meta-ti-bsp/recipes-bsp/ti-img-gpu-km/ti-img-rogue-km_1.18.6276027.bb
> similarity index 100%
> rename from 
> meta-ti-bsp/recipes-bsp/powervr-drivers/ti-img-rogue-driver_1.18.6276027.bb
> rename to 
> meta-ti-bsp/recipes-bsp/ti-img-gpu-km/ti-img-rogue-km_1.18.6276027.bb
> diff --git 
> a/meta-ti-bsp/recipes-bsp/powervr-drivers/ti-sgx-ddk-km_1.17.4948957.bb 
> b/meta-ti-bsp/recipes-bsp/ti-img-gpu-km/ti-img-sgx-km_1.17.4948957.bb
> similarity index 97%
> rename from 
> meta-ti-bsp/recipes-bsp/powervr-drivers/ti-sgx-ddk-km_1.17.4948957.bb
> rename to meta-ti-bsp/recipes-bsp/ti-img-gpu-km/ti-img-sgx-km_1.17.4948957.bb
> index bf4fa98a..a624017d 100644
> --- a/meta-ti-bsp/recipes-bsp/powervr-drivers/ti-sgx-ddk-km_1.17.4948957.bb
> +++ b/meta-ti-bsp/recipes-bsp/ti-img-gpu-km/ti-img-sgx-km_1.17.4948957.bb
> @@ -45,4 +45,4 @@ do_install:am65xx() {
>      make -C ${STAGING_KERNEL_DIR} 
> M=${B}/eurasia_km/eurasiacon/binary_omap_linux_${PVR_WS}_${PVR_BUILD}/target_aarch64/kbuild
>  INSTALL_MOD_PATH=${D}${root_prefix} PREFIX=${STAGING_DIR_HOST} 
> modules_install
>  }
>  
> -RRECOMMENDS:${PN} += "ti-sgx-ddk-um"
> +RRECOMMENDS:${PN} += "ti-img-sgx-umlibs"
> diff --git a/meta-ti-bsp/recipes-graphics/mesa/mesa-gl_22.%.bbappend 
> b/meta-ti-bsp/recipes-graphics/mesa/mesa-gl_22.%.bbappend
> index 912e9e9d..17187330 100644
> --- a/meta-ti-bsp/recipes-graphics/mesa/mesa-gl_22.%.bbappend
> +++ b/meta-ti-bsp/recipes-graphics/mesa/mesa-gl_22.%.bbappend
> @@ -1 +1 @@
> -require ${@bb.utils.contains_any('PREFERRED_PROVIDER_virtual/gpudriver', 
> 'ti-img-rogue-driver ti-sgx-ddk-km', 'pvr-mesa.inc', '', d)}
> +require ${@bb.utils.contains_any('PREFERRED_PROVIDER_virtual/gpudriver', 
> 'ti-img-rogue-km ti-img-sgx-km', 'pvr-mesa.inc', '', d)}
> diff --git a/meta-ti-bsp/recipes-graphics/mesa/mesa_22.%.bbappend 
> b/meta-ti-bsp/recipes-graphics/mesa/mesa_22.%.bbappend
> index 912e9e9d..17187330 100644
> --- a/meta-ti-bsp/recipes-graphics/mesa/mesa_22.%.bbappend
> +++ b/meta-ti-bsp/recipes-graphics/mesa/mesa_22.%.bbappend
> @@ -1 +1 @@
> -require ${@bb.utils.contains_any('PREFERRED_PROVIDER_virtual/gpudriver', 
> 'ti-img-rogue-driver ti-sgx-ddk-km', 'pvr-mesa.inc', '', d)}
> +require ${@bb.utils.contains_any('PREFERRED_PROVIDER_virtual/gpudriver', 
> 'ti-img-rogue-km ti-img-sgx-km', 'pvr-mesa.inc', '', d)}
> diff --git a/meta-ti-bsp/recipes-graphics/mesa/pvr-mesa.inc 
> b/meta-ti-bsp/recipes-graphics/mesa/pvr-mesa.inc
> index 96c484a7..85f6968e 100644
> --- a/meta-ti-bsp/recipes-graphics/mesa/pvr-mesa.inc
> +++ b/meta-ti-bsp/recipes-graphics/mesa/pvr-mesa.inc
> @@ -23,8 +23,8 @@ S = "${WORKDIR}/git"
>  SRCREV = "44b82a7b6fa8a86243911b1b0d6a07b0fd8ecfba"
>  
>  PACKAGECONFIG:append = " \
> -    ${@bb.utils.contains('PREFERRED_PROVIDER_virtual/gpudriver', 
> 'ti-img-rogue-driver', 'pvr', '', d)} \
> -    ${@bb.utils.contains('PREFERRED_PROVIDER_virtual/gpudriver', 
> 'ti-sgx-ddk-km', 'sgx', '', d)} \
> +    ${@bb.utils.contains('PREFERRED_PROVIDER_virtual/gpudriver', 
> 'ti-img-rogue-km', 'pvr', '', d)} \
> +    ${@bb.utils.contains('PREFERRED_PROVIDER_virtual/gpudriver', 
> 'ti-img-sgx-km', 'sgx', '', d)} \
>  "
>  
>  PVR_DISPLAY_CONTROLLER_ALIAS ??= "tidss"
> diff --git 
> a/meta-ti-bsp/recipes-graphics/libgles/ti-img-rogue-umlibs_1.18.6276027.bb 
> b/meta-ti-bsp/recipes-graphics/ti-img-gpu-umlibs/ti-img-rogue-umlibs_1.18.6276027.bb
> similarity index 94%
> rename from 
> meta-ti-bsp/recipes-graphics/libgles/ti-img-rogue-umlibs_1.18.6276027.bb
> rename to 
> meta-ti-bsp/recipes-graphics/ti-img-gpu-umlibs/ti-img-rogue-umlibs_1.18.6276027.bb
> index 94d14ded..32525d48 100644
> --- a/meta-ti-bsp/recipes-graphics/libgles/ti-img-rogue-umlibs_1.18.6276027.bb
> +++ 
> b/meta-ti-bsp/recipes-graphics/ti-img-gpu-umlibs/ti-img-rogue-umlibs_1.18.6276027.bb
> @@ -22,7 +22,8 @@ TARGET_PRODUCT:am62xx = "am62_linux"
>  PVR_BUILD = "release"
>  PVR_WS = "lws-generic"
>  
> -RDEPENDS:${PN} += "mesa-megadriver libdrm ti-img-rogue-driver"
> +RDEPENDS:${PN} += "mesa-megadriver libdrm"
> +RDEPENDS:${PN} += "ti-img-rogue-km"
>  
>  do_install:append() {
>      if ${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', 'true', 'false', 
> d)}; then
> diff --git 
> a/meta-ti-bsp/recipes-graphics/libgles/ti-sgx-ddk-um/pvrsrvkm.rules 
> b/meta-ti-bsp/recipes-graphics/ti-img-gpu-umlibs/ti-img-sgx-umlibs/pvrsrvkm.rules
> similarity index 100%
> rename from meta-ti-bsp/recipes-graphics/libgles/ti-sgx-ddk-um/pvrsrvkm.rules
> rename to 
> meta-ti-bsp/recipes-graphics/ti-img-gpu-umlibs/ti-img-sgx-umlibs/pvrsrvkm.rules
> diff --git 
> a/meta-ti-bsp/recipes-graphics/libgles/ti-sgx-ddk-um_1.17.4948957.bb 
> b/meta-ti-bsp/recipes-graphics/ti-img-gpu-umlibs/ti-img-sgx-umlibs_1.17.4948957.bb
> similarity index 98%
> rename from meta-ti-bsp/recipes-graphics/libgles/ti-sgx-ddk-um_1.17.4948957.bb
> rename to 
> meta-ti-bsp/recipes-graphics/ti-img-gpu-umlibs/ti-img-sgx-umlibs_1.17.4948957.bb
> index 755cc4f5..4b34e8b7 100644
> --- a/meta-ti-bsp/recipes-graphics/libgles/ti-sgx-ddk-um_1.17.4948957.bb
> +++ 
> b/meta-ti-bsp/recipes-graphics/ti-img-gpu-umlibs/ti-img-sgx-umlibs_1.17.4948957.bb
> @@ -36,7 +36,7 @@ inherit ${@oe.utils.ifelse(use_initscript(d), 
> 'update-rc.d', '')}
>  
>  RDEPENDS:${PN} += "libdrm"
>  
> -RRECOMMENDS:${PN} += "ti-sgx-ddk-km"
> +RRECOMMENDS:${PN} += "ti-img-sgx-km"
>  
>  S = "${WORKDIR}/git"
>  
> -- 
> 2.39.2
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#16382): 
https://lists.yoctoproject.org/g/meta-ti/message/16382
Mute This Topic: https://lists.yoctoproject.org/mt/98225809/21656
Group Owner: [email protected]
Unsubscribe: 
https://lists.yoctoproject.org/g/meta-ti/leave/6695321/21656/1393940836/xyzzy 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to