I followed the below instructions from NXP and ported Debian to our board:
https://community.nxp.com/t5/i-MX-Processors-Knowledge-Base/Build-Ubuntu-For-i-MX8-Series-Platform/t...
The link describes steps to port Ubuntu. I could adapt the instructions to port Debian to our board.
Our board is using iMX8MP SoC.
I used latest NXP Yocto, Hardknott SDK for porting Debian.
I could able to port successfully debian to our board and run most of the applications available from Yocto in Debian.
These applications include gstreamer, glmark2-es2, QT, wayland etc.
The ported Debian is able to use VPU and GPU features of SoC.
I could able to play 60fps videos using VPU and gstreamer.
Also able to run GPU demos using glmark2-es2.
Then we tried to run our customer Application.
Customer application uses EGL to perform some Graphics.
But application failed to access EGL with the below error:
[ 1] Failed EGL API GetProcAddress: eglLockSurfaceKHR !
[ 2] Failed EGL API GetProcAddress: eglUnlockSurfaceKHR !
[ 3] Failed EGL API GetProcAddress: eglBindWaylandDisplayWL !
[ 4] Failed EGL API GetProcAddress: eglUnbindWaylandDisplayWL !
[ 5] Failed EGL API GetProcAddress: eglQueryWaylandBufferWL !
[ 6] Failed EGL API GetProcAddress: eglUpdateWaylandBufferWL !
[ 7] Failed EGL API GetProcAddress: eglSetDamageRegionKHR !
[ 8] Failed EGL API GetProcAddress: eglSwapBuffersWithDamageEXT !
[ 9] Failed EGL API GetProcAddress: eglQueryDmaBufFormatsEXT !
[ 10] Failed EGL API GetProcAddress: eglQueryDmaBufModifiersEXT !
[ 11] Failed EGL API GetProcAddress: eglPatchID !
[ 12] Failed ES_Common API GetProcAddress: forward_glActiveTexture !
[ 13] Failed ES_Common API GetProcAddress: forward_glBindBuffer !
[ 14] Failed ES_Common API GetProcAddress: forward_glBindTexture !
[ 15] Failed ES_Common API GetProcAddress: forward_glBlendFunc !
[ 16] Failed ES_Common API GetProcAddress: forward_glBufferData !
[ 17] Failed ES_Common API GetProcAddress: forward_glBufferSubData !
[ 18] Failed ES_Common API GetProcAddress: forward_glClear !
[ 19] Failed ES_Common API GetProcAddress: forward_glClearColor !
[ 20] Failed ES_Common API GetProcAddress: forward_glClearDepthf !
[ 21] Failed ES_Common API GetProcAddress: forward_glClearStencil !
[ 22] Failed ES_Common API GetProcAddress: forward_glColorMask !
[ 23] Failed ES_Common API GetProcAddress: forward_glCompressedTexImage2D !
[ 24] Failed ES_Common API GetProcAddress: forward_glCompressedTexSubImage2D !
[ 25] Failed ES_Common API GetProcAddress: forward_glCopyTexImage2D !
[ 26] Failed ES_Common API GetProcAddress: forward_glCopyTexSubImage2D !
[ 27] Failed ES_Common API GetProcAddress: forward_glCullFace !
[ 28] Failed ES_Common API GetProcAddress: forward_glDeleteBuffers !
[ 29] Failed ES_Common API GetProcAddress: forward_glDeleteTextures !
[ 30] Failed ES_Common API GetProcAddress: forward_glDepthFunc !
[ 31] Failed ES_Common API GetProcAddress: forward_glDepthMask !
[ 32] Failed ES_Common API GetProcAddress: forward_glDepthRangef !
[ 33] Failed ES_Common API GetProcAddress: forward_glDisable !
[ 34] Failed ES_Common API GetProcAddress: forward_glDrawArrays !
[ 35] Failed ES_Common API GetProcAddress: forward_glDrawElements !
[ 36] Failed ES_Common API GetProcAddress: forward_glEnable !
[ 37] Failed ES_Common API GetProcAddress: forward_glFinish !
[ 38] Failed ES_Common API GetProcAddress: forward_glFlush !
[ 39] Failed ES_Common API GetProcAddress: forward_glFrontFace !
[ 40] Failed ES_Common API GetProcAddress: forward_glGenBuffers !
[ 41] Failed ES_Common API GetProcAddress: forward_glGenTextures !
[ 42] Failed ES_Common API GetProcAddress: forward_glGetBooleanv !
[ 43] Failed ES_Common API GetProcAddress: forward_glGetBufferParameteriv !
[ 44] Failed ES_Common API GetProcAddress: forward_glGetError !
[ 45] Failed ES_Common API GetProcAddress: forward_glGetFloatv !
[ 46] Failed ES_Common API GetProcAddress: forward_glGetIntegerv !
[ 47] Failed ES_Common API GetProcAddress: forward_glGetPointerv !
[ 48] Failed ES_Common API GetProcAddress: forward_glGetString !
[ 49] Failed ES_Common API GetProcAddress: forward_glGetTexParameterfv !
[ 50] Failed ES_Common API GetProcAddress: forward_glGetTexParameteriv !
[ 51] Failed ES_Common API GetProcAddress: forward_glHint !
[ 52] Failed ES_Common API GetProcAddress: forward_glIsBuffer !
[ 53] Failed ES_Common API GetProcAddress: forward_glIsEnabled !
[ 54] Failed ES_Common API GetProcAddress: forward_glIsTexture !
[ 55] Failed ES_Common API GetProcAddress: forward_glLineWidth !
[ 56] Failed ES_Common API GetProcAddress: forward_glPixelStorei !
[ 57] Failed ES_Common API GetProcAddress: forward_glPolygonOffset !
[ 58] Failed ES_Common API GetProcAddress: forward_glReadPixels !
[ 59] Failed ES_Common API GetProcAddress: forward_glSampleCoverage !
[ 60] Failed ES_Common API GetProcAddress: forward_glScissor !
[ 61] Failed ES_Common API GetProcAddress: forward_glStencilFunc !
[ 62] Failed ES_Common API GetProcAddress: forward_glStencilMask !
[ 63] Failed ES_Common API GetProcAddress: forward_glStencilOp !
[ 64] Failed ES_Common API GetProcAddress: forward_glTexImage2D !
[ 65] Failed ES_Common API GetProcAddress: forward_glTexParameterf !
[ 66] Failed ES_Common API GetProcAddress: forward_glTexParameterfv !
[ 67] Failed ES_Common API GetProcAddress: forward_glTexParameteri !
[ 68] Failed ES_Common API GetProcAddress: forward_glTexParameteriv !
[ 69] Failed ES_Common API GetProcAddress: forward_glTexSubImage2D !
[ 70] Failed ES_Common API GetProcAddress: forward_glViewport !
[ 71] Failed ES_Common API GetProcAddress: forward_glMapBufferOES !
[ 72] Failed ES_Common API GetProcAddress: forward_glUnmapBufferOES !
[ 73] Failed ES_Common API GetProcAddress: forward_glEGLImageTargetTexture2DOES !
[ 74] Failed ES_Common API GetProcAddress: forward_glEGLImageTargetRenderbufferStorageOES !
[ 75] Failed ES_Common API GetProcAddress: forward_glMultiDrawArraysEXT !
[ 76] Failed ES_Common API GetProcAddress: forward_glMultiDrawElementsEXT !
[ 77] Failed ES_Common API GetProcAddress: forward_glTexDirectVIV !
[ 78] Failed ES_Common API GetProcAddress: forward_glTexDirectInvalidateVIV !
[ 79] Failed ES_Common API GetProcAddress: forward_glTexDirectVIVMap !
[ 80] Failed ES_Common API GetProcAddress: forward_glTexDirectTiledMapVIV !
[ 81] Failed GLES32 API GetProcAddress: glMultiDrawArraysEXT !
[ 82] Failed GLES32 API GetProcAddress: glMultiDrawElementsEXT !
[ 83] Failed GLES32 API GetProcAddress: glTexDirectVIV !
[ 84] Failed GLES32 API GetProcAddress: glTexDirectInvalidateVIV !
[ 85] Failed GLES32 API GetProcAddress: glTexDirectVIVMap !
[ 86] Failed GLES32 API GetProcAddress: glTexDirectTiledMapVIV !
[ 87] Failed GLES32 API GetProcAddress: glMultiDrawArraysIndirectEXT !
[ 88] Failed GLES32 API GetProcAddress: glMultiDrawElementsIndirectEXT !
[ 89] Failed GLES32 API GetProcAddress: glGetTexImage !
[ 90] Failed ES Common GLES2X API GetProcAddress: glMultiDrawArraysEXT !
ERROR: Could not create OpenGL context, root cause 'Could not create EGL context (call to eglCreateContext failed, reporting an error of EGL_B
AD_CONFIG)'
[2022-06-12 19:31:32.064] [645:000645] [error] ERROR: Could not create OpenGL context, root cause 'Could not create EGL context (call to eglCr
eateContext failed, reporting an error of EGL_BAD_CONFIG)'
I could find similar issue reported here as well when using chromium:
https://community.nxp.com/t5/i-MX-Processors/Chromium-EGL-issues-with-Wayland-and-Vivante/m-p/137503...
Anyone faced similar issues before and able to solve?
Please provide your suggestions to solve this EGL issue.