Qt5 eglfs: Could not create the egl surface: error = 0x300b
I have been cross-compiling Qt5 for my ARM board (SabreLite) with 2d/3d acceleration support but without X11.
I have tested the acceleration with the binaries from Vivante SDK and the acceleration itself works fine.
I however always get this error (0x300b) when running one of the Qt5 demo applications with -platoform eglfs.
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.
So my question here is, do I need the X11 when only running with eglfs ? I was under the impression that it wasn't necessary.
Yes, there has to be a device specific implementation of the hooks. The X11 one is only useful for development and is not used on actual devices.
Try passing -device linux-imx6-g++ to configure. This, in addition to a few other settings, will make eglfs use the hooks implementation from qtbase/mkspecs/devices/linux-imx6-g++.
Hi Agocs and thank you for your reply.
I tried it and it works, I am able to run a Qt5 test application that uses the accelerator (vivante galcore). This was indeed a great pleasure to see and I thank you for your input.