EGLFS Environment Black Screen Issue
-
Hello,
I am encountering a problem in my EGLFS environment. At power-on, my system displays a psplash (boot splash screen), followed by my main Qt application.
However, there is a 4-second gap with a black screen between the termination of psplash and the launch of my application. I am trying to minimize this gap.-
- Kill the psplash process from within my application using the command:
/usr/bin/psplash-drm-quit
- Kill the psplash process from within my application using the command:
-
- Launch my Qt application with the following code:
QGuiApplication app(argc, argv); QQmlApplicationEngine engine; engine.load(QUrl(QLatin1String("qrc:/main.qml")));
- Launch my Qt application with the following code:
-
- My application is launched with the following environment variables:
QT_QPA_EGLFS_ALWAYS_SET_MODE=1
XDG_RUNTIME_DIR=/run/user/0
QT_QPA_FB_DISABLE_INPUT=1
QT_QPA_EGLFS_KMS_CONFIG=/usr/share/qt5/cursor.json
QT_QPA_EGLFS_KMS_ATOMIC=1
QT_QPA_PLATFORM=eglfs
QT_QPA_EGLFS_DEBUG=1Despite this setup, I still observe the black screen for approximately 4 seconds. I suspect something in my approach or configuration is causing this delay, but I am unable to pinpoint the issue.
One strance thing is that if I
- kill psplash
- start again my application
than the black screen time is shorter.
Our main issue is that Qt application takes its time to take the ownership of frame buffer at startupWe are running
Version- Qt 5.15.9
- Embedded Linux
- ST STM32MP157 DK
- Arm GCC 9
Could you provide insights or recommendations to address this problem?
Thank you -