2021-01-13 03:11 PM
I created an eglfs Yocto build that can run the simple Qt5 demos, but I'm seeing fairly high CPU usage and I'm trying to figure out if the GPU is being used. I pondered that the GPU may not accelerate 2D graphics very well and does better with actual 3D. So, I thought I'd add support for more Qt5 packages and see if the 3d demos ran any better, but I can't get it to build.
I'm getting a compiler error while building QT5's ogl-runtime complaining that <GLES2.gl3.h> cannot be found. I'm new to this, but from what I can tell this header should be supplied with the opengl libraries and presumably ST should be supplying that library with GPU acceleration.
Or perhaps something else is going wrong/missing?
Is it possible to get the Qt5 3D demos to run under an eglfs build? Is there some way to verify if the GPU is being used?
Thanks,
Jon
======
In file included from /home/jon/STM32MP15/Distribution-Package/openstlinux-5.4-dunfell-mp1-20-06-24/build-openstlinuxeglfs-stm32mp1/tmp-glibc/work/cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi/ogl-runtime/2.5.0+gitAUTOINC+25236c672d_31697c758f-r0/git/src/engine/EnginePrefix.h:33,
from /home/jon/STM32MP15/Distribution-Package/openstlinux-5.4-dunfell-mp1-20-06-24/build-openstlinuxeglfs-stm32mp1/tmp-glibc/work/cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi/ogl-runtime/2.5.0+gitAUTOINC+25236c672d_31697c758f-r0/git/src/engine/Qt3DSRenderRuntimeBindingImplRenderer.cpp:30:
/home/jon/STM32MP15/Distribution-Package/openstlinux-5.4-dunfell-mp1-20-06-24/build-openstlinuxeglfs-stm32mp1/tmp-glibc/work/cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi/ogl-runtime/2.5.0+gitAUTOINC+25236c672d_31697c758f-r0/git/src/render/backends/gl/Qt3DSOpenGLPrefix.h:40:10: fatal error: GLES3/gl3.h: No such file or directory
40 | #include <GLES3/gl3.h>
| ^~~~~~~~~~~~~
compilation terminated.
=================
Build Configuration:
BB_VERSION = "1.46.0"
BUILD_SYS = "x86_64-linux"
NATIVELSBSTRING = "universal"
TARGET_SYS = "arm-ostl-linux-gnueabi"
MACHINE = "stm32mp1"
DISTRO = "openstlinux-eglfs"
DISTRO_VERSION = "3.1-snapshot-20210113"
TUNE_FEATURES = "arm vfp cortexa7 neon vfpv4 thumb callconvention-hard"
TARGET_FPU = "hard"
DISTRO_CODENAME = "dunfell"
ACCEPT_EULA_stm32mp1 = "1"
GCCVERSION = "9.%"
PREFERRED_PROVIDER_virtual/kernel = "linux-stm32mp"
meta-python
meta-oe
meta-gnome
meta-xfce
meta-initramfs
meta-multimedia
meta-networking
meta-webserver
meta-filesystems
meta-perl = "HEAD:b5f510e48080b6dc710ff4800feb90ef679c5456"
meta-st-stm32mp = "HEAD:7a1ab80ccb655e9cd28c9ea8a4a83fca48c48b11"
meta-qt5 = "HEAD:ac7514e2bc295c97faa86d24e8823829257adbb8"
meta-st-openstlinux = "HEAD:5465ed3781355776cb46d2cc45884b1ccc1011cd"
meta = "HEAD:1795f30d8ab73d35710ca99064c51190dc84853e"
Solved! Go to Solution.
2021-01-18 06:14 AM
@JWeis.3 I would suggest you to check in the wiki page How to build and use an SDK for QT for your case.
The include file <GLES3/gl3.h> is not present because openGLES 3 is not supported. I suspect there is an incorrect configuration in your build.
To measure the GPU loading you can use the script in the wiki page How to monitor the GCNANO GPU load.
2021-01-18 06:14 AM
@JWeis.3 I would suggest you to check in the wiki page How to build and use an SDK for QT for your case.
The include file <GLES3/gl3.h> is not present because openGLES 3 is not supported. I suspect there is an incorrect configuration in your build.
To measure the GPU loading you can use the script in the wiki page How to monitor the GCNANO GPU load.
2021-01-19 12:35 PM
Thank you Antonio. It looks like my build (before I tried adding support for Q5t's 3D objects) was using the GPU.
We'll need to see next if there's a way to improve the performance of Qt5's graphics as even with the GPU clearly helping out, the CPU usage is still quite high for simple graphical animations.