diff mbox series

[meta-ti,scarthgap,RFC,6/6] mesa-pvr: Use mesa-pvr for all TI SoCs

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

Commit Message

Andrew Davis Sept. 9, 2025, 3:10 p.m. UTC
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

Comments

Randolph Sapp Sept. 9, 2025, 8:52 p.m. UTC | #1
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
Andrew Davis Sept. 12, 2025, 4:38 p.m. UTC | #2
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 mbox series

Patch

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')}"