I am using kernel 3.14.28 on an imx6q. I did bitbake fsl-image-multimedia with the fb backend. I have two almost identical boards, one with an LVDS display and one with a parallel display. On the LVDS board, the display is connected to LVDS0. When I run the OpenGL test app located in /opt/fsl-gpu-sdk/GLES2/S01_SimpleTriangle, the application runs successfully and is displayed on the LVDS display. This works as expected.
Now before I put the same fsl-image-multimedia image on the board with a parallel display, I modified just the .dtsi file to use the parallel display instead of the LVDS display. The parallel display is connected to IPU1_DISP1. When I power up this board, I get the console output on the parallel display, which is good. Then when I run the same OpenGL test app, I get the following error:
ERROR: demo setup failed with: eglCreateWindowSurface(m_hDisplay, m_hConfig, hWindow, nullptr) failed with error code 12291 at source/FslDemoHostEGL/EGLDemoHost.cpp(473)
As I debug the app, for fb backend there are calls to fbGetDisplayByIndex() and fbCreateWindow(). I can't seem to find the source code for these functions, so I can't debug these functions.
Does anyone have an idea how I can get the OpenGL test app to work on the parallel display board? I use fb0 on both boards. Any help is much appreciated.
Galcore version 22.214.171.124762
You need to upgrade to 3.14.38 kernel based bsp, that includes vivante driver 5.0.11p7.1 that Includes many of the fb backend bug fixes and stability improvements.
fsl-image-multimedia is not tested on Fsl yocto official release.
Thanks for the suggestion, I appreciate it. However, updating to a 3.14.38 kernel with the latest vivante driver did not fix the issue, I still get the same eglCreateWindowSurface() error.
Thanks to JustinWaters, he was able to solve the issue for me. I am currently using a 24bit parallel display, so in the .dtsi file inside fb@0, I set the default_bpp to 24. This needs to always be 16 regardless of the display. So I set default_bpp to 16 and I no longer get eglCreateWindowSurface() errors anymore!
Thanks for your feedback.
What recommendation would you give for the community based BSP?
Currently, the Nitrogen6x BSP is being used for a custom NIT6X look-a-like board.