[meta-freescale] i.MX6 and QtWayland bad performance and other issue

Yen-Chin Lee coldnew.tw at gmail.com
Sun Oct 19 18:20:41 PDT 2014


Hi, has anyone try playing i.MX6 with QtWayland ? I find out the
QtWayland application performance is really bad, worse than running the same
application under X11 or EGLFS.

I use `Cinematic Experience' as my testing app, here is the
cinematicexperience running under weston with qtwayland.

  https://www.dropbox.com/s/3au5mmlvkroerh5/i.mx6%20with%20qtwayland.mp4?dl=0

However, compare the application speed wth EGLFS platform, you will find
the QtWayland on i.MX6 is really slow.

  https://www.dropbox.com/s/nmjbzue7k5rxwz6/i.mx6%20with%20eglfs.mp4?dl=0

Expect for the bad performance, I also can't run QtWayland's examples,
ex: qml-compositor

When I try to run the qml-compositor, there's an EGL error.

   root at machine:/usr/share/qt5/examples/wayland/qml-compositor# ./qml-compositor -platform eglfs
   QEglFSImx6Hooks will set environment variable FB_MULTI_BUFFER=2 to enable double buffering and vsync.
   If this is not desired, you can override this via: export QT_EGLFS_IMX6_NO_FB_MULTI_BUFFER=1
   QtCompositor: Failed to initialize EGL display. Could not find glEGLImageTargetTexture2DOES.

Sine the compositor can't initialize EGL display, I can't running either
opengl app nor QtQuick2 application via wayland protocol.

But weston compositor can run well under the fb-backend.so, just the
slow qtwayland performance problem (weston-simple-egl works fine).

Since my goal is use Qt as the core of my system, it will be nice to run
QtWayland and build a compositor in purely Qt, like Jolla's Salifish does.

Is there anyway to make QtWayland and it's example run well under i.MX6 ?

Here is my libraries version and what I do.

Here is my machine info:

   CPU: i.MX6 DuleLite
   DRAM: 1GB (176MB for GPU)
   Kernel: 3.10.17-1.0.1_ga
   Type: Based on wandboard

   meta-freescale branch: master
   meta-qt5 branch: master

I use Qt 5.3.2 and QtWayland-git branch 5.4 (commit: c3d2a7b), which
need to add a backport patch to build with Qt 5.3.2, you can find the
patch at following link

   http://pastebin.com/gZFxSgRa

To use qtwayland, you need to setup `QT_WAYLAND_IGNORE_BIND_DISPLAY=1` variable since
i.MX6 Vivante do not use eglBindWaylandDisplayWL() to bind the
wl_display to the EGL display. For more information, please see

   https://qt.gitorious.org/qt/lkundrak-qtwayland/commit/4d4fe579225ac089b24912bf8fad5585e615ce6b

Note:

[1] You can find Qt 5.3.2 in meta-qt5 master branch
    https://github.com/meta-qt5/meta-qt5.git

[2] I also testing the libhybris on i.MX6 with Android 4.4.2_r1, but the
qml-compositor example also can't run and the qt5-qpa-hwcompositor QPA
plugin performance is not so good like qtwayland.

If you interesting to testing i.mx6 with libhybris, you can find some
info in

    https://github.com/aosp-hybris

The libhybris please to use following repo

    https://github.com/aosp-hybris/libhybris   (branch: test_viv)

Currently aosp-hybris project just put on hold (temporarily halted)
until my company's work finish. But if you interested in how to run
i.MX6DL under wandboard with libhybrs, you can contacts me for the image.

--
Sent with my emacs


More information about the meta-freescale mailing list