Message ID | 20250909151028.272925-6-afd@ti.com |
---|---|
State | New |
Headers | show |
Series | [meta-ti,scarthgap,RFC,1/6] ti-sgx-ddk-um: UM side driver depends on KM side driver | expand |
On Tue Sep 9, 2025 at 10:10 AM CDT, Andrew Davis wrote: > TI SoCs without GPUs can still use mesa-pvr as it will simply fallback to > SW rendering just like the normal mesa package. The benefit is using the > same version across all supported devices is more consistent and only > one version of Mesa is needed for all TI SoCs. > > Signed-off-by: Andrew Davis <afd@ti.com> > --- [snip] Originally this was done to mitigate damage in the event where there is an issue with mesa. I'm not entirely sure we want to move everything over to pvr-mesa as they still hijack some of the common dri code for their own goofy stuff. My opinion is we should use vanilla software where we can. Especially considering we'll need to be able to access vanilla mesa for AM62 later if I get my way. - Randolph
On 9/9/25 3:52 PM, Randolph Sapp wrote: > On Tue Sep 9, 2025 at 10:10 AM CDT, Andrew Davis wrote: >> TI SoCs without GPUs can still use mesa-pvr as it will simply fallback to >> SW rendering just like the normal mesa package. The benefit is using the >> same version across all supported devices is more consistent and only >> one version of Mesa is needed for all TI SoCs. >> >> Signed-off-by: Andrew Davis <afd@ti.com> >> --- > > [snip] > > Originally this was done to mitigate damage in the event where there is an > issue with mesa. I'm not entirely sure we want to move everything over to > pvr-mesa as they still hijack some of the common dri code for their own goofy > stuff. > Fair point, would be nice if the PVR support didn't touch the core/common DRI at all. Having this the common Mesa for all boards would help in identifying if they broke anything in the common/sw rendering side though, right now we would only find those bugs if one was both using a device with GPU *and* it falls back to SW. > My opinion is we should use vanilla software where we can. Especially > considering we'll need to be able to access vanilla mesa for AM62 later if I get > my way. > Could you expand on that? Outside of the eventual switch to the upstream PVR driver, what would we need vanilla mesa for on AM62? Andrew
diff --git a/meta-ti-bsp/conf/machine/beagleplay-ti.conf b/meta-ti-bsp/conf/machine/beagleplay-ti.conf index 792c91b2..8a11a188 100644 --- a/meta-ti-bsp/conf/machine/beagleplay-ti.conf +++ b/meta-ti-bsp/conf/machine/beagleplay-ti.conf @@ -11,7 +11,6 @@ MACHINE_FEATURES += "screen gpu" SERIAL_CONSOLES = "115200;ttyS2" -require conf/machine/include/mesa-pvr.inc PREFERRED_PROVIDER_virtual/gpudriver ?= "${BSP_ROGUE_DRIVER_PROVIDER}" TFA_BOARD = "lite" diff --git a/meta-ti-bsp/conf/machine/include/am62pxx.inc b/meta-ti-bsp/conf/machine/include/am62pxx.inc index d59f607d..05fc6433 100644 --- a/meta-ti-bsp/conf/machine/include/am62pxx.inc +++ b/meta-ti-bsp/conf/machine/include/am62pxx.inc @@ -5,7 +5,6 @@ SOC_FAMILY:append = ":am62pxx" MACHINE_FEATURES += "screen gpu" -require conf/machine/include/mesa-pvr.inc PREFERRED_PROVIDER_virtual/gpudriver ?= "${BSP_ROGUE_DRIVER_PROVIDER}" TFA_BOARD = "lite" diff --git a/meta-ti-bsp/conf/machine/include/am62xx.inc b/meta-ti-bsp/conf/machine/include/am62xx.inc index 74054a78..16bfa3d3 100644 --- a/meta-ti-bsp/conf/machine/include/am62xx.inc +++ b/meta-ti-bsp/conf/machine/include/am62xx.inc @@ -5,7 +5,6 @@ SOC_FAMILY:append = ":am62xx" MACHINE_FEATURES += "screen gpu" -require conf/machine/include/mesa-pvr.inc PREFERRED_PROVIDER_virtual/gpudriver ?= "${BSP_ROGUE_DRIVER_PROVIDER}" # Bitmap image tarball for early splashscreen diff --git a/meta-ti-bsp/conf/machine/include/am65xx.inc b/meta-ti-bsp/conf/machine/include/am65xx.inc index d70bb22d..6b482227 100644 --- a/meta-ti-bsp/conf/machine/include/am65xx.inc +++ b/meta-ti-bsp/conf/machine/include/am65xx.inc @@ -5,7 +5,6 @@ SOC_FAMILY:append = ":am65xx" MACHINE_FEATURES += "screen touchscreen gpu" -require conf/machine/include/mesa-pvr.inc PREFERRED_PROVIDER_virtual/gpudriver ?= "${BSP_SGX_DRIVER_PROVIDER}" KERNEL_DEVICETREE_PREFIX = "ti/k3-am654" diff --git a/meta-ti-bsp/conf/machine/include/am68.inc b/meta-ti-bsp/conf/machine/include/am68.inc index b6d18fe0..a4ac12f3 100644 --- a/meta-ti-bsp/conf/machine/include/am68.inc +++ b/meta-ti-bsp/conf/machine/include/am68.inc @@ -5,7 +5,6 @@ SOC_FAMILY:append = ":j721s2" MACHINE_FEATURES += "screen gpu" -require conf/machine/include/mesa-pvr.inc PREFERRED_PROVIDER_virtual/gpudriver ?= "${BSP_ROGUE_DRIVER_PROVIDER}" TFA_BOARD = "generic" diff --git a/meta-ti-bsp/conf/machine/include/am69.inc b/meta-ti-bsp/conf/machine/include/am69.inc index 759984ea..c98dad7b 100644 --- a/meta-ti-bsp/conf/machine/include/am69.inc +++ b/meta-ti-bsp/conf/machine/include/am69.inc @@ -5,7 +5,6 @@ SOC_FAMILY:append = ":j784s4" MACHINE_FEATURES += "screen gpu" -require conf/machine/include/mesa-pvr.inc PREFERRED_PROVIDER_virtual/gpudriver ?= "${BSP_ROGUE_DRIVER_PROVIDER}" TFA_BOARD = "j784s4" diff --git a/meta-ti-bsp/conf/machine/include/j721e.inc b/meta-ti-bsp/conf/machine/include/j721e.inc index f9fdac0c..a892736a 100644 --- a/meta-ti-bsp/conf/machine/include/j721e.inc +++ b/meta-ti-bsp/conf/machine/include/j721e.inc @@ -5,7 +5,6 @@ SOC_FAMILY:append = ":j721e" MACHINE_FEATURES += "screen gpu" -require conf/machine/include/mesa-pvr.inc PREFERRED_PROVIDER_virtual/gpudriver ?= "${BSP_ROGUE_DRIVER_PROVIDER}" # Deploy SYSFW and any variants diff --git a/meta-ti-bsp/conf/machine/include/j721s2.inc b/meta-ti-bsp/conf/machine/include/j721s2.inc index b6d18fe0..a4ac12f3 100644 --- a/meta-ti-bsp/conf/machine/include/j721s2.inc +++ b/meta-ti-bsp/conf/machine/include/j721s2.inc @@ -5,7 +5,6 @@ SOC_FAMILY:append = ":j721s2" MACHINE_FEATURES += "screen gpu" -require conf/machine/include/mesa-pvr.inc PREFERRED_PROVIDER_virtual/gpudriver ?= "${BSP_ROGUE_DRIVER_PROVIDER}" TFA_BOARD = "generic" diff --git a/meta-ti-bsp/conf/machine/include/j722s.inc b/meta-ti-bsp/conf/machine/include/j722s.inc index 8a02441b..fa860f79 100644 --- a/meta-ti-bsp/conf/machine/include/j722s.inc +++ b/meta-ti-bsp/conf/machine/include/j722s.inc @@ -5,7 +5,6 @@ SOC_FAMILY:append = ":j722s" MACHINE_FEATURES += "screen gpu" -require conf/machine/include/mesa-pvr.inc PREFERRED_PROVIDER_virtual/gpudriver ?= "${BSP_ROGUE_DRIVER_PROVIDER}" TFA_BOARD = "lite" diff --git a/meta-ti-bsp/conf/machine/include/j742s2.inc b/meta-ti-bsp/conf/machine/include/j742s2.inc index d2de1d0d..7ede2de5 100644 --- a/meta-ti-bsp/conf/machine/include/j742s2.inc +++ b/meta-ti-bsp/conf/machine/include/j742s2.inc @@ -5,7 +5,6 @@ SOC_FAMILY:append = ":j742s2" MACHINE_FEATURES += "screen gpu" -require conf/machine/include/mesa-pvr.inc PREFERRED_PROVIDER_virtual/gpudriver ?= "${BSP_ROGUE_DRIVER_PROVIDER}" TFA_BOARD = "j784s4" diff --git a/meta-ti-bsp/conf/machine/include/j784s4.inc b/meta-ti-bsp/conf/machine/include/j784s4.inc index 759984ea..c98dad7b 100644 --- a/meta-ti-bsp/conf/machine/include/j784s4.inc +++ b/meta-ti-bsp/conf/machine/include/j784s4.inc @@ -5,7 +5,6 @@ SOC_FAMILY:append = ":j784s4" MACHINE_FEATURES += "screen gpu" -require conf/machine/include/mesa-pvr.inc PREFERRED_PROVIDER_virtual/gpudriver ?= "${BSP_ROGUE_DRIVER_PROVIDER}" 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 deleted file mode 100644 index d5581315..00000000 --- a/meta-ti-bsp/conf/machine/include/mesa-pvr.inc +++ /dev/null @@ -1,8 +0,0 @@ -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 9058b461..c48f89ae 100644 --- a/meta-ti-bsp/conf/machine/include/omap-a15.inc +++ b/meta-ti-bsp/conf/machine/include/omap-a15.inc @@ -7,7 +7,6 @@ require conf/machine/include/arm/armv7a/tune-cortexa15.inc require conf/machine/include/ti-bsp.inc # Graphics providers and variables -require conf/machine/include/mesa-pvr.inc PREFERRED_PROVIDER_virtual/gpudriver ?= "${BSP_SGX_DRIVER_PROVIDER}" KERNEL_IMAGETYPE = "zImage" diff --git a/meta-ti-bsp/conf/machine/include/ti-bsp.inc b/meta-ti-bsp/conf/machine/include/ti-bsp.inc index dc0473de..37a59135 100644 --- a/meta-ti-bsp/conf/machine/include/ti-bsp.inc +++ b/meta-ti-bsp/conf/machine/include/ti-bsp.inc @@ -99,3 +99,11 @@ PREFERRED_VERSION_ti-sgx-ddk-um ?= "${BSP_SGX_DRIVER_VERSION}" PREFERRED_VERSION_ti-img-rogue-driver ?= "${BSP_ROGUE_DRIVER_VERSION}" PREFERRED_VERSION_ti-img-rogue-umlibs ?= "${BSP_ROGUE_DRIVER_VERSION}" PREFERRED_VERSION_mesa-pvr ?= "${BSP_MESA_PVR_VERSION}" +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/ti33x.inc b/meta-ti-bsp/conf/machine/include/ti33x.inc index 5d7375e5..1301e2e7 100644 --- a/meta-ti-bsp/conf/machine/include/ti33x.inc +++ b/meta-ti-bsp/conf/machine/include/ti33x.inc @@ -7,7 +7,6 @@ require conf/machine/include/arm/armv7a/tune-cortexa8.inc require conf/machine/include/ti-bsp.inc # Graphics providers and variables -require conf/machine/include/mesa-pvr.inc PREFERRED_PROVIDER_virtual/gpudriver ?= "${BSP_SGX_DRIVER_PROVIDER}" KERNEL_IMAGETYPE = "zImage" diff --git a/meta-ti-bsp/conf/machine/include/ti43x.inc b/meta-ti-bsp/conf/machine/include/ti43x.inc index 7dd5b1f2..2b061d53 100644 --- a/meta-ti-bsp/conf/machine/include/ti43x.inc +++ b/meta-ti-bsp/conf/machine/include/ti43x.inc @@ -7,7 +7,6 @@ require conf/machine/include/arm/armv7a/tune-cortexa9.inc require conf/machine/include/ti-bsp.inc # Graphics providers and variables -require conf/machine/include/mesa-pvr.inc PREFERRED_PROVIDER_virtual/gpudriver ?= "${BSP_SGX_DRIVER_PROVIDER}" KERNEL_IMAGETYPE = "zImage" diff --git a/meta-ti-bsp/recipes-graphics/mesa/mesa-pvr_24.0.1.bb b/meta-ti-bsp/recipes-graphics/mesa/mesa-pvr_24.0.1.bb index 40226f65..a432dcdd 100644 --- a/meta-ti-bsp/recipes-graphics/mesa/mesa-pvr_24.0.1.bb +++ b/meta-ti-bsp/recipes-graphics/mesa/mesa-pvr_24.0.1.bb @@ -41,4 +41,5 @@ do_install:append () { FILES:${PN}-dev += "${datadir}/mesa/wayland-drm.xml" FILES:mesa-vulkan-drivers += "${libdir}/libpvr_mesa_wsi.so" +PREFERRED_PROVIDER_virtual/gpudriver ?= "" RRECOMMENDS:mesa-megadriver:append:class-target = " ${@d.getVar('PREFERRED_PROVIDER_virtual/gpudriver')}"
TI SoCs without GPUs can still use mesa-pvr as it will simply fallback to SW rendering just like the normal mesa package. The benefit is using the same version across all supported devices is more consistent and only one version of Mesa is needed for all TI SoCs. Signed-off-by: Andrew Davis <afd@ti.com> --- meta-ti-bsp/conf/machine/beagleplay-ti.conf | 1 - meta-ti-bsp/conf/machine/include/am62pxx.inc | 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/am68.inc | 1 - meta-ti-bsp/conf/machine/include/am69.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/j722s.inc | 1 - meta-ti-bsp/conf/machine/include/j742s2.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/ti-bsp.inc | 8 ++++++++ meta-ti-bsp/conf/machine/include/ti33x.inc | 1 - meta-ti-bsp/conf/machine/include/ti43x.inc | 1 - meta-ti-bsp/recipes-graphics/mesa/mesa-pvr_24.0.1.bb | 1 + 17 files changed, 9 insertions(+), 22 deletions(-) delete mode 100644 meta-ti-bsp/conf/machine/include/mesa-pvr.inc