Hello Community,
I'm working on a custom platform based out of i.MX6 Dual core processor. The software running on the platform is Yocto thud with QT 5.15.2. The Linux kernel version is 4.9.168 and the GPU driver version is 6.2.4.p1.8-r0 (https://github.com/Freescale/kernel-module-imx-gpu-viv.git Tag - 6.2.4.p1.8).
I'm observing an error (ES30: some draw get error and skipped during validation) on the serial console after a long usage of the device. Soon after this error occurs, the QT fails to render to the display. Based on the internet search about the string i understand this error could be related to the GPU driver. Unfortunately, I couldn't see the error statements in the GPU driver source code. Is there anyone faced this error before and resolved? Any pointers on this case would be helpful.
Thanks for your time.
Thanks,
Shajin
Hi Shajin
what bsp used in the case. GPU is working fine on nxp linux releases from
source.codeaurora.org/external/imx/linux-imx repository :
https://source.codeaurora.org/external/imx/linux-imx/tree/?h=imx_5.4.70_2.3.0
Documentation:
Best regards
igor
Hi Igor,
Thank you for the response. Our BSP is based out of Freescale's Yocto Thud release. But the Linux kernel and QT are updated to higher versions. In our case the Linux kernel was updated to 4.9.168 and similarly the GPU drivers used is 6.2.4.p1.8-r0.
On further investigating about this error ES30, I found one place in i.MX6 User Graphics user guide under section 15.4 where it talks about GPU hang scenario.
15.4 Avoid GPU hang and data corruption when use occlusion query
Description:
On i.MX6D/Q GPU IP, both Hierarchical Depth (HZ) write and Occlusion Query (OQ) write share the same port. If HZ Fast Clear(FC) is enabled, and OQ uses the HZ port to perform a write, the HZ FC data may become corrupted, even lead to GPU hang unexpectedly.
Software Workaround:
A software workaround is recommended for this issue and is available from L4.9 bsp release. Because the issue occurs very infrequently, a per-application work around is most efficient. Software will disable HZ with a per-app detection and also provide a new environment variable control (VIV_DISABLE_HZ).
1. As per the document, A fix was integrated in 4.9 BSP release. Can you provide more information about this patch set? It will help me to cross check it out in our BSP source code.
2. Can you provide more information on a per-application work around mentioned under Software workaround? Is it something we can have contol factor on the GUI side where there is GPU failure?
Thanks
Shajin