The idea behind that patch series is to rework how we incorporate the
GPU drivers with the various software pacakges. So, yes, that will be
how you will include the SGX stuff.
But... There was another patch that rolled back the SGX support to just
software rendering because we have not had the time to complete the work
on fxiing the SGX drivers to work with the new integration methodology.
So what you are trying to do, will not currently work in
kirkstone/master until we finish the work to update the SGX code.
The only real option if you require the SGX GPU to work is to fallback
to dunfell.
On 3/16/2023 11:11, Danny Hadley via lists.yoctoproject.org wrote:
Hi all! I am trying to make sure my opengl-backed GUI application is
leveraging the most optimal graphics drivers on the beaglebone black
device and am running into yocto build failures.
Based on what I can tell from the changes in
56be461 (https://git.yoctoproject.org/meta-ti/commit/meta-ti-bsp/recipes-graphics/libgles/ti-sgx-ddk-um_1.17.4948957.bb?h=kirkstone&id=56be4618abdde45649f0f92d383d5f44e5ec6efb), <https://git.yoctoproject.org/meta-ti/commit/meta-ti-bsp/recipes-graphics/libgles/ti-sgx-ddk-um_1.17.4948957.bb?h=kirkstone&id=56be4618abdde45649f0f92d383d5f44e5ec6efb),> I should be able to have mesa compiled using the drivers provided from the `ti-sgx-ddk-km` recipe by setting my preferred provider for the `virtual/gpudriver` as such:
```
PREFERRED_PROVIDER_virtual/gpudriver = "ti-sgx-ddk-km"
```
I'm not sure if this is the correct way to go about what I am trying to
do, or if it is even necessary to ensure my application is using
the best hardware it can (which is ultimately the goal). Either way,
with the variable mentioned above set to `ti-sgx-ddk-km`, the
mesa.do_compile step fails with what I believe are linker errors. This
is an example of what I am seeing in my logs:
```
/<my-path-to-yocto>/tmp/work/beaglebone-poky-linux-gnueabi/mesa/2_22.0.3+pvr-r0/recipe-sysroot-native/usr/bin/arm-poky-linux-gnueabi/../../libexec/arm-poky-linux-gnueabi/gcc/arm-poky-linux-gnueabi/11.3.0/ld:
src/gallium/frontends/sgx/libsgx.a.p/pvrdri.c.o: in function `PVRDRIReleaseBuffer':
2023-03-15T19:19:43.7831698Z |
/usr/src/debug/mesa/2_22.0.3+pvr-r0/build/../git/src/gallium/frontends/sgx/pvrdri.c:1055: undefined reference to `PVRDRIBufferDestroy'
2023-03-15T19:19:43.7832402Z |
/<my-path-to-yocto>/tmp/work/beaglebone-poky-linux-gnueabi/mesa/2_22.0.3+pvr-r0/recipe-sysroot-native/usr/bin/arm-poky-linux-gnueabi/../../libexec/arm-poky-linux-gnueabi/gcc/arm-poky-linux-gnueabi/11.3.0/ld: src/gallium/frontends/sgx/libsgx.a.p/pvrdri.c.o: in function `PVRDRIAllocateBuffer':
2023-03-15T19:19:43.7833062Z |
/usr/src/debug/mesa/2_22.0.3+pvr-r0/build/../git/src/gallium/frontends/sgx/pvrdri.c:1027: undefined reference to `PVRDRIBufferCreate'
2023-03-15T19:19:43.7833813Z |
/<my-path-to-yocto>/tmp/work/beaglebone-poky-linux-gnueabi/mesa/2_22.0.3+pvr-r0/recipe-sysroot-native/usr/bin/arm-poky-linux-gnueabi/../../libexec/arm-poky-linux-gnueabi/gcc/arm-poky-linux-gnueabi/11.3.0/ld: /usr/src/debug/mesa/2_22.0.3+pvr-r0/build/../git/src/gallium/frontends/sgx/pvrdri.c:1037: undefined reference to `PVRDRIBufferGetName'
```
The full(-ish, I might be missing some) list of these missing functions is:
- PVREGLDrawableDestroy
- PVREGLDrawableCreate
- PVRDRIPixFmtGetBlockSize
- PVRDRIEGLMarkRendersurfaceInvalid
- PVREGLDrawableRecreate
- PVRDRIBufferDestroy
- PVRDRIGetAPIFunc
- PVRDRIEGLGetLibHandle
- PVRDRIDepthStencilBitArraySize
- PVRDRIMSAABitArraySize
- PVRDRIDepthBitsArray
- PVRDRIEGLImageCreate
- PVRDRIMesaFormatSupported
- PVRDRIMaxPBufferWidth
- PVRDRIMaxPBufferHeight
- PVRDRIBufferCreateFromNames
- PVRDRIEGLImageCreateFromBuffer
- PVRDRIEGLFlushBuffers
- PVRDRIBufferCreate
- PVRDRICreateDrawableImpl
- PVRDRIMakeCurrentGC
- PVRDRIGetDeviceTypeFromFd
- PVRDRIEGLImageGetAttribs
- PVRDRI2ReleaseTexImage
I'm a bit out of my element here, but it looks like I might be missing
some dynamically linked library that provides functions like
PVRDRIBufferGetName which gallium depends on? It seems likely I am
missing a recipe or configuration value, but I'm not sure where to look.
Any help here would be appreciated. I'd be happy to provide more logs
and/or configuration information as necessary.
Thanks!
- Danny
--
Ryan Eatmon [email protected]
-----------------------------------------
Texas Instruments, Inc. - LCPD - MGTS
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#15989):
https://lists.yoctoproject.org/g/meta-ti/message/15989
Mute This Topic: https://lists.yoctoproject.org/mt/97653905/21656
Group Owner: [email protected]
Unsubscribe:
https://lists.yoctoproject.org/g/meta-ti/leave/6695321/21656/1393940836/xyzzy
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-