Gralloc and HWcomposer explanation and DRM buffer sharing

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Gralloc and HWcomposer explanation and DRM buffer sharing

1,373 Views
dkenjic
Contributor I

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://www.nxp.com/design/design-center/software/embedded-software/i-mx-software/android-os-for-i-m...

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

0 Kudos
Reply
1 Reply

1,326 Views
jimmychan
NXP TechSupport
NXP TechSupport

FYI.

More information about GPU and DPU in Chapter 5 and 6 in this document.

https://www.nxp.com.cn/docs/en/reference-manual/IMX_REFERENCE_MANUAL.pdf

0 Kudos
Reply