[Development] Does iMX6 support EGL on X11 feature?

Alexander Nassian nassian at bitshift-dynamics.com
Fri Mar 22 19:29:08 CET 2019


Then you should go with EGL and QtQuick if you want to utilize the GPU. X11 is mostly a horrible idea on embedded systems (and in general too if you would ask me). Widgets are drawn by the CPU as far as I know.

Beste Grüße / Best regards,
Alexander Nassian

> Am 22.03.2019 um 17:06 schrieb Denis Shienkov <denis.shienkov at gmail.com>:
> 
> Hi all,
> 
> I'm trying to build a Yocto image, but the config tests fails on 'executing config test egl-x11' test with:
> 
> > In file included from main.cpp:7:0:
> > main.cpp: In function 'int main(int, char**)':
> > main.cpp:15:20: error: cannot convert 'EGLNativeDisplayType {aka wl_display*}' to 'Display* {aka _XDisplay*}' in initialization
> >      Display *dpy = EGL_DEFAULT_DISPLAY;
> >                     ^
> > In file included from /mnt/data/Yocto-miatech/yocto-miatech/build-apalis-imx6/tmp/work/cortexa9hf-neon-mx6qdl-poky-linux-gnueabi/qtbase/5.11.2+gitAUTOINC+5b6eb8e247-r0/recipe-sysroot/usr/include/EGL/eglplatform.h:38:0,
> >                  from /mnt/data/Yocto-miatech/yocto-miatech/build-apalis-imx6/tmp/work/cortexa9hf-neon-mx6qdl-poky-linux-gnueabi/qtbase/5.11.2+gitAUTOINC+5b6eb8e247-r0/recipe-sysroot/usr/include/EGL/egl.h:39,
> >                  from main.cpp:7:
> > /mnt/data/Yocto-miatech/yocto-miatech/build-apalis-imx6/tmp/work/cortexa9hf-neon-mx6qdl-poky-linux-gnueabi/qtbase/5.11.2+gitAUTOINC+5b6eb8e247-r0/recipe-sysroot/usr/include/EGL/eglvivante.h:111:16: note: class type 'wl_display' is incomplete
> >  typedef struct wl_display *      EGLNativeDisplayType;
> >                 ^~~~~~~~~~
> > main.cpp:16:50: error: cannot convert 'Display* {aka _XDisplay*}' to 'EGLNativeDisplayType {aka wl_display*}' in initialization
> >      EGLNativeDisplayType egldpy = XOpenDisplay("");
> >                                                   ^
> > In file included from main.cpp:9:0:
> > /mnt/data/Yocto-miatech/yocto-miatech/build-apalis-imx6/tmp/work/cortexa9hf-neon-mx6qdl-poky-linux-gnueabi/qtbase/5.11.2+gitAUTOINC+5b6eb8e247-r0/recipe-sysroot/usr/include/X11/Xlib.h:255:8: note: class type 'Display {aka _XDisplay}' is incomplete
> >  struct _XDisplay;  /* Forward declare before use for C++ */
> >         ^~~~~~~~~
> > main.cpp:17:11: error: cannot convert 'EGLNativeDisplayType {aka wl_display*}' to 'Display* {aka _XDisplay*}' in assignment
> >      dpy = egldpy;
> >            ^~~~~~
> > In file included from /mnt/data/Yocto-miatech/yocto-miatech/build-apalis-imx6/tmp/work/cortexa9hf-neon-mx6qdl-poky-linux-gnueabi/qtbase/5.11.2+gitAUTOINC+5b6eb8e247-r0/recipe-sysroot/usr/include/EGL/eglplatform.h:38:0,
> >                  from /mnt/data/Yocto-miatech/yocto-miatech/build-apalis-imx6/tmp/work/cortexa9hf-neon-mx6qdl-poky-linux-gnueabi/qtbase/5.11.2+gitAUTOINC+5b6eb8e247-r0/recipe-sysroot/usr/include/EGL/egl.h:39,
> >                  from main.cpp:7:
> > /mnt/data/Yocto-miatech/yocto-miatech/build-apalis-imx6/tmp/work/cortexa9hf-neon-mx6qdl-poky-linux-gnueabi/qtbase/5.11.2+gitAUTOINC+5b6eb8e247-r0/recipe-sysroot/usr/include/EGL/eglvivante.h:111:16: note: class type 'wl_display' is incomplete
> >  typedef struct wl_display *      EGLNativeDisplayType;
> >                 ^~~~~~~~~~
> > main.cpp:18:42: error: invalid conversion from 'Window {aka long unsigned int}' to 'EGLNativeWindowType {aka wl_egl_window*}' [-fpermissive]
> >      EGLNativeWindowType w = XCreateWindow(dpy, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
> >                              ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > main.cpp:19:26: error: invalid conversion from 'EGLNativeWindowType {aka wl_egl_window*}' to 'Window {aka long unsigned int}' [-fpermissive]
> >      XDestroyWindow(dpy, w);
> >                           ^
> > In file included from main.cpp:9:0:
> > /mnt/data/Yocto-miatech/yocto-miatech/build-apalis-imx6/tmp/work/cortexa9hf-neon-mx6qdl-poky-linux-gnueabi/qtbase/5.11.2+gitAUTOINC+5b6eb8e247-r0/recipe-sysroot/usr/include/X11/Xlib.h:2243:12: note:   initializing argument 2 of 'int XDestroyWindow(Display*, Window)'
> >  extern int XDestroyWindow(
> >             ^~~~~~~~~~~~~~
> > Makefile:174: recipe for target 'main.o' failed
> > make: *** [main.o] Error 1
> test config.qtbase_gui.tests.egl-x11 FAILED
> 
> so, my quiestion is: Is it possible to use an OpenGL on X11 with XCB backend? I need to accelerate the QWidgets application in some way... :(
> 
> DR,
> Denis
> _______________________________________________
> Development mailing list
> Development at qt-project.org
> https://lists.qt-project.org/listinfo/development

-- 













—


bitshift dynamics GmbH
Neudorfer Str. 1, 79541 Lörrach

Registergericht: Amtsgericht Freiburg i. Breisgau, HRB 713747

Geschäftsführer: Alexander Nassian, Markus Pfaffinger



http://www.bitshift-dynamics.de <http://www.bitshift-dynamics.de/>


Zentrale: +49 762158673 - 0
Fax: +49 7621 58673 - 90


Allgemeine Anfragen: 
info at bitshift-dynamics.com <mailto:info at bitshift-dynamics.com>
Technischer 
Support: support at bitshift-dynamics.com 
<mailto:support at bitshift-dynamics.com>
Buchhaltung: 
invoice at bitshift-dynamics.com <mailto:invoice at bitshift-dynamics.com>


More information about the Development mailing list