cancel
Showing results for 
Search instead for 
Did you mean: 

Cannot run examples from st-example-image-qt

smanni
Associate II

Dear all,

on a custom board based on STM32MP157D I successfully managed to configure an LCD display that works perfectly using "modetest -s" and "psplash-drm". But I cannot run the examples in the st-example-image-qt because I always get the same error:

 

# /usr/share/examples/opengl/hellowindow/hellowindow
QEGLPlatformContext: Failed to create context: 3005

and nothing is shown on the display.

 

Here is the my /usr/share/qt5/cursor.json:

{
"device": "/dev/dri/card0",
"hwcursor": false,
"pbuffers": false,
"outputs": [
{
"name": "DPI-1",
"mode": "640x480",
"touchDevice": "/dev/input/event0"
}
]
}

 

Attached you can find also some verbose logs that could help troubleshooting:

- modetest.txt: output of the command "modetest -Mstm"

- verbose-hellowindow.txt: output of the command "hellowindow" after setting verbose QPA logs

- dmesg.txt: dmesg output running "psplash-drm" and "hellowindow"

 

Do you have any hint?

Thank you!

 

 

1 ACCEPTED SOLUTION

Accepted Solutions
smanni
Associate II

Hi Philippe,

I made a try with a STM32MP157D-DK1 connected to an HDMI display and the Qt examples work perfectly. So I start to investigate the differences between the two images and I managed to understand what the problem was.

 

On my custom board some libraries (libEGL, libGLES, libgbm, etc.) are missing because I disabled the vendor filesystem that contains them.

I just copied the following libraries 

 

libEGL.so
libEGL.so.1
libEGL.so.1.5.0
libGAL.so
libGLESv1_CM.so
libGLESv1_CM.so.1
libGLESv1_CM.so.1.1.0
libGLESv2.so
libGLESv2.so.2
libGLESv2.so.2.0.0
libGLSLC.so
libOpenVG.so
libOpenVG.so.1
libOpenVG.so.1.1.0
libVSC.so
libgbm.so
libgbm.so.1
libgbm.so.1.0.0
libgbm_viv.so

from /vendor/lib on DK1 to /usr/lib/ on my machine and the Qt examples started working perfectly!

 

Thanks anyway for your support.

Best,

Stefano

View solution in original post

4 REPLIES 4
PPAGE.13
ST Employee

Hello Stefano,

as a first short answer, I run a similar example on regular STM32MP157-DK2 board and I got the attached traces.

It could help you to find out the cause of your issue.

 

BR,

Philippe P.

In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.

Hi Philippe,

thanks for your response. Which version of openstlinux are you using? I'm on the most recent one:

STM32MP1-Ecosystem-v5.0.2 release TAG: openstlinux-6.1-yocto-mickledore-mp1-v23.11.15

It seems that you are using a different version of Qt because some debug prints are missing. I read from your logs:

 

 

qt.qpa.eglfs.kms: New DRM/KMS via GBM integration created
qt.qpa.egldeviceintegration: Using EGL device integration "eglfs_kms"
qt.qpa.eglfs.kms: platformInit: Load Screen Config
qt.qpa.eglfs.kms: platformInit: Opening DRM device

 

from mine:

 

qt.qpa.eglfs.kms: New DRM/KMS via GBM integration created
qt.qpa.egldeviceintegration: Using EGL device integration "eglfs_kms"
qt.qpa.eglfs.kms: platformInit: Opening DRM device

 

as you see line3 of yours is missing in mine. I tried to grep it in the qtbase sources but I didn't find it because it has been introduced in Qt v6.0.0 (see commit here) but I'm on Qt v5.15.9.

 

Could you please clarify?

 

Best,

Stefano

Hello Stefano,

actually I have used the official QBSP from Qt that comes with Qt6. This explains the difference with your logs.

I did not have the OSTL image ready. I have launched a new build, I hope to have a new log soon.

BR,

Philippe

In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.
smanni
Associate II

Hi Philippe,

I made a try with a STM32MP157D-DK1 connected to an HDMI display and the Qt examples work perfectly. So I start to investigate the differences between the two images and I managed to understand what the problem was.

 

On my custom board some libraries (libEGL, libGLES, libgbm, etc.) are missing because I disabled the vendor filesystem that contains them.

I just copied the following libraries 

 

libEGL.so
libEGL.so.1
libEGL.so.1.5.0
libGAL.so
libGLESv1_CM.so
libGLESv1_CM.so.1
libGLESv1_CM.so.1.1.0
libGLESv2.so
libGLESv2.so.2
libGLESv2.so.2.0.0
libGLSLC.so
libOpenVG.so
libOpenVG.so.1
libOpenVG.so.1.1.0
libVSC.so
libgbm.so
libgbm.so.1
libgbm.so.1.0.0
libgbm_viv.so

from /vendor/lib on DK1 to /usr/lib/ on my machine and the Qt examples started working perfectly!

 

Thanks anyway for your support.

Best,

Stefano