I am using the Apalis iMX6 module running yocto with 4.14 kernel. I have a display connected to the HDMI output, and am using eglfs.
I want to use psplash to show an image while the main application is starting, and have the main application take over.
I noticed that whenever the main application is started, the screen flickers black for a moment, causing a degradaded UX.
After some digging around, I tracked this down to the fbGetDisplayByIndex(int) function call, defined in EGL/eglvivante.h.
A minimal example that causes this flicker is:
#include
#include <EGL/eglvivante.h>
#include <unistd.h>
int main()
{
std::cout << “Flicker in 1 second” << std::endl;
sleep(1);
fbGetDisplayByIndex(0);
std::cout << “Flickered”<<std::endl;
sleep(1);
std::cout << “Exit” << std::endl;
return 0;
}
Can anyone provide any assistance with this? Is there a way to prevent this flicker?