Tool/software:
Hello,
I am in the process of upgrading an Embedian smarct355x (am335x) based platform to Yocto Kirkstone (processor-sdk-09.01.00-legacy-config.txt), and I am having some issues getting Weston to play nicely with TI's provided 'user-mode' driver package ti-sgx-ddk-um, the error I am seeing trying to load e.g. weston-simple-egl is:
[destroyed object]: error 7: importing the supplied dmabufs failed The Wayland connection experienced a fatal error: Protocol error
And in the log:
Oct 10 09:36:37 am335x-deltatouch weston[7488]: CreateImageSharedFromDmaBufs: Failed to create buffer for shared image Oct 10 09:36:37 am335x-deltatouch weston[7488]: [09:36:37.528] Error during import, and no known conversion for format AR24 in the renderer Oct 10 09:36:37 am335x-deltatouch weston[7488]: [09:36:37.528] libwayland: error in client communication (pid 7487)
All Weston examples seem to work except the ones requiring EGL support.
Output of 'weston-simple-dmabuf-egl':
This client was written with the purpose of manually test Weston's dma-buf feedback implementation. See main() description for more details on how to test this. compositor sent main_device event for dma-buf feedback - /dev/dri/renderD128 ├──────target_device for tranche - /dev/dri/renderD128 │ └scanout tranche? no │ ├────────tranche format/modifier pair - format ARGB8888, modifier NONE_INVALID_MODIFIER (0xffffffffffffff) │ ├────────tranche format/modifier pair - format XRGB8888, modifier NONE_INVALID_MODIFIER (0xffffffffffffff) │ └end of tranche └end of dma-buf feedback weston-simple-dmabuf-feedback: ../../../../../../workspace/sources/weston/clients/simple-dmabuf-feedback.c:403: create_fbo_for_buffer: Assertion `buffer->egl_image != EGL_NO_IMAGE_KHR && "error: EGLImageKHR creation failed"' failed. Aborted (core dumped)
I have tried the reference implementation of am335x-evm.conf which is set up to use 'mesa-pvr' as provider, but here I have the problem that the required 'pvr_dri.so' plugin is not generated when compiling with MACHINE_FEATURE 'sgx', there is however a 'sgx_dri.so'. As I understand it, the mesa-pvr support is something recently introduced, therefore I checked older configurations, e.g. Dunfell and there they use the pre-compiled user-mode binary package.
So I decided to change to recipes to do the same and install the pre-compiled user-mode binaries for Kirkstone.
ti-sgx-ddk-um: omap5-sgx-ddk-um-linux
ti-sgx-ddk-km: omap5-sgx-ddk-linux
Yocto MACHINE conf settings:
# Graphics providers and variables MACHINE_EXTRA_RDEPENDS += "ti-sgx-ddk-km" DEPENDS:remove = "virtual/libgl" PREFERRED_PROVIDER_virtual/egl = "ti-sgx-ddk-um" PREFERRED_PROVIDER_virtual/libgles1 = "ti-sgx-ddk-um" PREFERRED_PROVIDER_virtual/libgles2 = "ti-sgx-ddk-um" PREFERRED_PROVIDER_virtual/libgbm = "ti-sgx-ddk-um" PREFERRED_PROVIDER_virtual/gpudriver = "ti-sgx-ddk-km"
Any help, greatly appreciated.
Cheers.