Greetings to NXP support teams,
I would like to confirm and understand two things in regards with your Android graphics workflow for i.mx8qm board
One clarification in advance, all materials I would refer to are from NXP official releases and github
- https://github.com/nxp-imx-android
1) Gralloc and HWcomposer
As far as I understood, gralloc.imx uses gralloc_viv.imx for acessing DRM modules. After flashing your Android demo image (Android Q10.0.0_2.6.0 in particular), I can see both of them loaded and utilized. On the other hand, I can see only hwcomposer.imx loaded and utilized, although hwcomposer_viv.imx prebuilt can also be found within materials provided by NXP.
What is the use of hwcomposer_viv.imx and is it actually needed in order to have Android graphics fully leveraging GPU?
2) DRM Buffer sharing
In order to enable buffer sharing DRM principles, Gralloc and HWcomposer must share handle for particular graphics buffer. Is this handle provided by your Memory structure inheriting the native_handle or there is some more proprietary code used for this purpose which is not available as open source.
Best regards,
Dusan