mbox series

[kirkstone,v8,0/4] Graphics, graphics, and more graphics

Message ID 20230228003745.2884357-1-rs@ti.com
Headers show
Series Graphics, graphics, and more graphics | expand

Message

Randolph Sapp Feb. 28, 2023, 12:37 a.m. UTC
Alright, this is the 8th revision of this patch. This uses a revised
dependency chain (hopefully it's a little more logical) and some, well,
interesting switching logic using the PACKAGECONFIG and
virtual/gpudriver PREFERRED_PROVIDER override variable. I'm not sure how
I feel about it, but it solves the issue of silently configuring things
as needed without other layers manually enabling features.

This dynamically adjusts mesa's PACKAGECONFIG based on what our selected
gpudriver (and display controller, thanks sgx) is. We also add a runtime
recommendation on the gpudriver after this configuration.

The gpudriver providers didn't change too much, they just have a runtime
recommendation for the associated um components. As it stands, the um
components can live alongside the software rendering components thanks
to the mesa-megadriver being able to automatically switch as necessary
at runtime, so we will not clobber mesa's usual packages.

Then we drop all mentions of the gpu machine feature for good measure.

"Why didn't you just add preferred providers for libgles2, etc, etc."
Well, software rendering. If we do that we'll have to edit the
PACKAGECONFIG to drop gles components from mesa, disabling software
rendering. We could add a dynamic switch to do that, but honestly
keeping in line with KISS, this solution has fewer lines and less logic
while keeping swrast as a nice fallback for whenever anything really
goes south... not that I'm expecting that or anything.

Edits:
 - Add a path to fall back to a fully unedited mesa. (opengl with no
   preferred provider for gpudriver)
 - Drop the commit adding patches from oe-core. Use the SRC_URI appends
   / remove combo (thanks Jose Quaresma)
 - Clean up the j784s4 machine config.

SGX is currently unable to build with this. We'll unset the related
preferred provider variables for those platforms so they fall back to
software rendering while we work on that.

Randolph Sapp (4):
  meta-ti-bsp: graphics: Resolve dependency chain
  meta-ti-bsp: machine: Remove all gpu features
  meta-ti-bsp: machine: Attempt to update DC alias
  conf: sgx: Unset graphics preferred providers

 meta-ti-bsp/conf/machine/am62xx-lp-evm.conf   |  2 -
 meta-ti-bsp/conf/machine/include/am62xx.inc   |  6 +-
 meta-ti-bsp/conf/machine/include/am65xx.inc   |  8 +--
 meta-ti-bsp/conf/machine/include/j721e.inc    |  6 --
 meta-ti-bsp/conf/machine/include/j721s2.inc   |  6 --
 meta-ti-bsp/conf/machine/include/j784s4.inc   |  6 --
 meta-ti-bsp/conf/machine/include/omap-a15.inc | 11 ++-
 meta-ti-bsp/conf/machine/include/ti33x.inc    | 11 ++-
 meta-ti-bsp/conf/machine/include/ti43x.inc    | 11 ++-
 ...-OpenEmbedded-nodistro-internal-aarc.patch | 28 --------
 ...bb => ti-img-rogue-driver_1.18.6276027.bb} | 20 +++---
 .../ti-sgx-ddk-km_1.17.4948957.bb             |  8 +--
 .../ti-img-rogue-umlibs_1.15.6133109.bb       | 71 -------------------
 .../ti-img-rogue-umlibs_1.18.6276027.bb       | 39 ++++++++++
 .../libgles/ti-sgx-ddk-um_1.17.4948957.bb     | 31 +-------
 .../mesa/mesa-gl_22.0.%.bbappend              |  1 +
 .../mesa/mesa_22.0.%.bbappend                 |  1 +
 .../recipes-graphics/mesa/pvr-mesa.inc        | 33 +++++++++
 18 files changed, 107 insertions(+), 192 deletions(-)
 delete mode 100644 meta-ti-bsp/recipes-bsp/powervr-drivers/ti-img-rogue-driver/0001-compiler-support-OpenEmbedded-nodistro-internal-aarc.patch
 rename meta-ti-bsp/recipes-bsp/powervr-drivers/{ti-img-rogue-driver_1.15.6133109.bb => ti-img-rogue-driver_1.18.6276027.bb} (72%)
 delete mode 100644 meta-ti-bsp/recipes-graphics/libgles/ti-img-rogue-umlibs_1.15.6133109.bb
 create mode 100644 meta-ti-bsp/recipes-graphics/libgles/ti-img-rogue-umlibs_1.18.6276027.bb
 create mode 100644 meta-ti-bsp/recipes-graphics/mesa/mesa-gl_22.0.%.bbappend
 create mode 100644 meta-ti-bsp/recipes-graphics/mesa/mesa_22.0.%.bbappend
 create mode 100644 meta-ti-bsp/recipes-graphics/mesa/pvr-mesa.inc

Comments

Ryan Eatmon March 1, 2023, 2:54 p.m. UTC | #1
There is not much difference between this patch series and the one Denys 
sent in a few days ago in terms of what this series changes.  Denys' 
series adds in a couple of other patches that assist in cleaning up the 
flow for both kirkstone and master so I am going to go with Denys' series.

On 2/27/2023 6:37 PM, Randolph Sapp wrote:
> Alright, this is the 8th revision of this patch. This uses a revised
> dependency chain (hopefully it's a little more logical) and some, well,
> interesting switching logic using the PACKAGECONFIG and
> virtual/gpudriver PREFERRED_PROVIDER override variable. I'm not sure how
> I feel about it, but it solves the issue of silently configuring things
> as needed without other layers manually enabling features.
> 
> This dynamically adjusts mesa's PACKAGECONFIG based on what our selected
> gpudriver (and display controller, thanks sgx) is. We also add a runtime
> recommendation on the gpudriver after this configuration.
> 
> The gpudriver providers didn't change too much, they just have a runtime
> recommendation for the associated um components. As it stands, the um
> components can live alongside the software rendering components thanks
> to the mesa-megadriver being able to automatically switch as necessary
> at runtime, so we will not clobber mesa's usual packages.
> 
> Then we drop all mentions of the gpu machine feature for good measure.
> 
> "Why didn't you just add preferred providers for libgles2, etc, etc."
> Well, software rendering. If we do that we'll have to edit the
> PACKAGECONFIG to drop gles components from mesa, disabling software
> rendering. We could add a dynamic switch to do that, but honestly
> keeping in line with KISS, this solution has fewer lines and less logic
> while keeping swrast as a nice fallback for whenever anything really
> goes south... not that I'm expecting that or anything.
> 
> Edits:
>   - Add a path to fall back to a fully unedited mesa. (opengl with no
>     preferred provider for gpudriver)
>   - Drop the commit adding patches from oe-core. Use the SRC_URI appends
>     / remove combo (thanks Jose Quaresma)
>   - Clean up the j784s4 machine config.
> 
> SGX is currently unable to build with this. We'll unset the related
> preferred provider variables for those platforms so they fall back to
> software rendering while we work on that.
> 
> Randolph Sapp (4):
>    meta-ti-bsp: graphics: Resolve dependency chain
>    meta-ti-bsp: machine: Remove all gpu features
>    meta-ti-bsp: machine: Attempt to update DC alias
>    conf: sgx: Unset graphics preferred providers
> 
>   meta-ti-bsp/conf/machine/am62xx-lp-evm.conf   |  2 -
>   meta-ti-bsp/conf/machine/include/am62xx.inc   |  6 +-
>   meta-ti-bsp/conf/machine/include/am65xx.inc   |  8 +--
>   meta-ti-bsp/conf/machine/include/j721e.inc    |  6 --
>   meta-ti-bsp/conf/machine/include/j721s2.inc   |  6 --
>   meta-ti-bsp/conf/machine/include/j784s4.inc   |  6 --
>   meta-ti-bsp/conf/machine/include/omap-a15.inc | 11 ++-
>   meta-ti-bsp/conf/machine/include/ti33x.inc    | 11 ++-
>   meta-ti-bsp/conf/machine/include/ti43x.inc    | 11 ++-
>   ...-OpenEmbedded-nodistro-internal-aarc.patch | 28 --------
>   ...bb => ti-img-rogue-driver_1.18.6276027.bb} | 20 +++---
>   .../ti-sgx-ddk-km_1.17.4948957.bb             |  8 +--
>   .../ti-img-rogue-umlibs_1.15.6133109.bb       | 71 -------------------
>   .../ti-img-rogue-umlibs_1.18.6276027.bb       | 39 ++++++++++
>   .../libgles/ti-sgx-ddk-um_1.17.4948957.bb     | 31 +-------
>   .../mesa/mesa-gl_22.0.%.bbappend              |  1 +
>   .../mesa/mesa_22.0.%.bbappend                 |  1 +
>   .../recipes-graphics/mesa/pvr-mesa.inc        | 33 +++++++++
>   18 files changed, 107 insertions(+), 192 deletions(-)
>   delete mode 100644 meta-ti-bsp/recipes-bsp/powervr-drivers/ti-img-rogue-driver/0001-compiler-support-OpenEmbedded-nodistro-internal-aarc.patch
>   rename meta-ti-bsp/recipes-bsp/powervr-drivers/{ti-img-rogue-driver_1.15.6133109.bb => ti-img-rogue-driver_1.18.6276027.bb} (72%)
>   delete mode 100644 meta-ti-bsp/recipes-graphics/libgles/ti-img-rogue-umlibs_1.15.6133109.bb
>   create mode 100644 meta-ti-bsp/recipes-graphics/libgles/ti-img-rogue-umlibs_1.18.6276027.bb
>   create mode 100644 meta-ti-bsp/recipes-graphics/mesa/mesa-gl_22.0.%.bbappend
>   create mode 100644 meta-ti-bsp/recipes-graphics/mesa/mesa_22.0.%.bbappend
>   create mode 100644 meta-ti-bsp/recipes-graphics/mesa/pvr-mesa.inc
>
Randolph Sapp March 1, 2023, 6:01 p.m. UTC | #2
On Wed, Mar 1 2023 at 08:54:17 -06:00:00, Ryan Eatmon <reatmon@ti.com> 
wrote:
> Denys' series adds in a couple of other patches that assist in 
> cleaning up the flow for both kirkstone and master so I am going to 
> go with Denys' series.

Cool, I need to take a look at the weston and weston-init packages now. 
Weston-init upstream changed their install logic so they ship *either* 
the sysV init script or the systemd init script based on the selected 
init service and we have previously not made an effort to keep the two 
inits in sync.