Hi
After cross-compiling Qt5 (5.2.0) for armhf with opengl es2 support and with the hardfp Vivante binaries from: http://repository.timesys.com/buildsources/g/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q-3.0.35-4.0.0/ , I can run the provided examples with -platform linxufb on my imx6q board.
The problem is however with the -platform eglfs.
My Qt5 application is not able to run because it complains about: EGL Error : Could not create the egl surface: error = 0x300b
The application is executed like: hellogl_es2 -platform eglfs
I've seen various threads and forums about this issue but non have had any solution for me at least. Mostly comments about this issue being fixed in 5.2.0.
Anyone had any luck with using eglfs on the imx6q ? my board is SabreLite.
regards
Einar
I asked around on the qt-project forum and got response there about adding the -device linux-imx6-g++ to configure.
I recompiled my Qt5 and tested some opengl test programs with success. It now uses the accelerator without any problem.
This added option will implement the eglfs with some X11 hooks to create the native screen.
So my configure line is now:
./configure -top-level -arch armhf -xplatform linux-arm-sl-gnueabi-g++ -opensource -eglfs -no-openvg -no-opengl -opengl es2 -no-xcb -no-pch -device linux-imx6-g++ -device-option CROSS_COMPILE=arm-linux-gnueabihf- -no-sse -no-sse2 -no-sse3 -no-ssse3 -no-sse4.1 -no-sse4.2 -no-avx -hostprefix /opt/pluto-targets/armhf-rootfs//usr -confirm-license -make tools -make examples -no-dbus -no-openssl -no-xvideo -no-cups -no-dbus -no-glib -qt-zlib -no-nis -no-cups -no-openssl -qt-libpng -qt-libjpeg -no-audio-backend -no-separate-debug-info -no-rpath -prefix /usr -bindir /usr/bin -libdir /usr/lib -docdir /usr/share/qt5-pluto/doc -headerdir /usr/include/qt5-pluto -datadir /usr/share/qt5-pluto -plugindir /usr/lib/qt5-pluto/plugins -translationdir /usr/share/qt5-pluto/translations -sysconfdir /etc/xdg -examplesdir /usr/lib/qt5-pluto/examples --fully-process -v
I can now verify that the windowless application (eglfs) using acceleration in Qt5 works.
regards
Einar
Hi Einar,
you might find this helpful in understanding why hellogl_es2 -platfrom eglfs is not working: QT5 Demo Errors on EGLFS
you need Wayland or X11 environment for that demo. Eglfs supports a single window only.
Regards,
Slavina
Thanks for that Slavina but as I have mentioned in my previous post then I have managed to run the hellogl_es2 -platform eglfs just fine.
It seems to be using the galcore kernel core for working on the gpu and the application itself is at 1% cpu load.
I therefore can verify that the acceleration and Qt5 (eglfs) are working just fine :smileyhappy:
regards
Einar
I looked at the code and saw that the imlementation of createNativeWindow in qtbase/src/plugins/platforms/eglfs/qeglfshooks_stub.cpp doesn’t exists, i.e. always returns zero.
Looking at qtbase/src/plugins/platforms/eglfs/qeglfshooks_x11.cpp the method is implemented.
Does this mean I need the X11, after all, when attempting to run only with eglfs ? I was under the impression that it wasn’t necessary.
regards
Einar
I have tried the Vivante SDK demos with success so the acceleration part is working fine. So this means it is breaking somewhere in Qt5 ?
Does anybody have input here ?
regards
Einar