QT5 Demo Errors on EGLFS


QT5 Demo Errors on EGLFS


QT5 Demo Errors on EGLFS

In order to run the QT5 demos on i.MX6 you should follow the instructions on this link:

Building QT for i.MX6

Some of the demos on the release such as  /examples/opengl/hellogl_es2,  consist of a group of multiple widgets appearing on the screen. Normally these demos should work OK in a windowed environment such as Wayland or X11.

In the case of Linux only environment, the plugin that draws to the screen is called EGLFS. This plugin has the restriction that it only supports one single widget at a time on the screen surface. Then demos such as hellogl_es2 are *not intended* to work along with this plugin, and it will never work.

The errors found when using EGLFS consist on:

These issues can be seen in the Qt OpenGL examples.  "hellogl_es2" and "2dpaint" seem to display one rendered frame and then break --
  "hellogl_es2" shows the QT word and bubbles, and the GUI is hidden, while  "2dpaint" just shows the openGL version without label.

It seems that when including  a QGLWidget on a form, the QGLWidget would work OK, but the rest of the form would not appear. I couldn't click any buttons or do anything.

  Along with these problems I would also see one or more of these error messages in the output:

  * This plugin does not support setParent!
  * This plugin does not support propagateSizeHints()
  * QOpenGLContext::swapBuffers() called with non-opengl surface

However other demos such as hellowindow work well with EGLFS because they are single widget.  Also all demos created with qtquick will work OK since all visual QML items are rendered as a single widget using the scene graph, a low-level, high-performance rendering stack, closely tied to OpenGL. This is better explained here: Qt5 QPainter vs. QML & Scene Graph.

改訂 #:
‎03-14-2013 09:15 AM