Unsolved Hardware acceleration with EGLFS on Raspberry Pi 3.
I am making a navigation application using Qt Widget based application, which is intended to run on a Raspberry Pi 3. When I open map in the app on Raspberry Pi, frame rate drops drastically. After some investigation it came to me that I should probably use hardware acceleration using QGLWidget. After implementing it the application was unable to start, giving me error:
EGLFS: OpenGL windows cannot be mixed with others.
I then found out EGLFS is unable to run OpenGL widgets together with QWidgets.
Then how am I supposed to run hardware accelerated graphics on Raspberry Pi?
I cannot use only OpenGL widgets, because most of the app is normal QWidgets.
Is EGLFS using OpenGL as default?
-device linux-rasp-pi3-vc4-g++help me in any way?
Note: I followed this guide for cross-compiling and used all the parameters as listed in the guide.
If setting your main window as OpenGL widget does not help, then I - sadly - suspect you have no way to make it work.
Qt only really uses OpenGL in EGLFS plugin (on RPi), and that plugin (being windowless) does not expect apps other than based on QML. At least that's what my limited experience with RPi and OpenGL tells me.
Will using -device linux-rasp-pi3-vc4-g++ help me in any way?
Absolutely yes. The framerate gets a huge boost when using vc4 GPU driver (but again: on EGLFS...).
Cleiton Bueno last edited by
I would do:
Confirm that this is supported by EGLFS for RaspberryPI, have you cross-compiled Qtbase and other libraries?
Porting of Widgets for QtQuick, experiences I had with Videos and Graphics improve a lot!
Are you using the official Linux Distribution or Customizou?
Confirm the installed dependencies of the Video Core GPU.