QXcbIntegration: Cannot create platform OpenGL context, neither GLX nor EGL are enabled



  • I am trying to get working the Hellogl2/3 example from the Qt OpenGL example on Tinker Board but I am getting the following error:

    @QXcbIntegration: Cannot create platform OpenGL context, neither GLX nor EGL are enabled
    

    I think it because EGL on X11 not enable and checking for EGL on X11 failed.

    And my build summary:

    Configure summary:
    
    Build type: linux-tinkerboard-g++ (arm, CPU features: neon)
    Compiler: gcc 6.3.0
    Configuration: enable_new_dtags largefile neon precompile_header shared rpath release c++11 c++14 concurrent dbus reduce_exports stl
    Build options:
      Mode ................................... release
      Optimize release build for size ........ no
      Building shared libraries .............. yes
      Using C standard ....................... C11
      Using C++ standard ..................... C++14
      Using ccache ........................... no
      Using new DTAGS ........................ yes
      Using precompiled headers .............. yes
      Using LTCG ............................. no
      Target compiler supports:
        NEON ................................. yes
      Build parts ............................ libs
    Qt modules and options:
      Qt Concurrent .......................... yes
      Qt D-Bus ............................... yes
      Qt D-Bus directly linked to libdbus .... yes
      Qt Gui ................................. yes
      Qt Network ............................. yes
      Qt Sql ................................. yes
      Qt Testlib ............................. yes
      Qt Widgets ............................. yes
      Qt Xml ................................. yes
    Support enabled for:
      Using pkg-config ....................... yes
      udev ................................... yes
      Using system zlib ...................... yes
      Zstandard support ...................... no
    Qt Core:
      DoubleConversion ....................... yes
        Using system DoubleConversion ........ yes
      GLib ................................... yes
      iconv .................................. no
      ICU .................................... yes
      Built-in copy of the MIME database ..... yes
      Tracing backend ........................ <none>
      Logging backends:
        journald ............................. no
        syslog ............................... no
        slog2 ................................ no
      Using system PCRE2 ..................... no
    Qt Network:
      getifaddrs() ........................... yes
      IPv6 ifname ............................ yes
      libproxy ............................... no
      Linux AF_NETLINK ....................... yes
      OpenSSL ................................ yes
        Qt directly linked to OpenSSL ........ no
      OpenSSL 1.1 ............................ no
      DTLS ................................... yes
      OCSP-stapling .......................... no
      SCTP ................................... no
      Use system proxies ..................... yes
    Qt Gui:
      Accessibility .......................... yes
      FreeType ............................... yes
        Using system FreeType ................ yes
      HarfBuzz ............................... yes
        Using system HarfBuzz ................ no
      Fontconfig ............................. yes
      Image formats:
        GIF .................................. yes
        ICO .................................. yes
        JPEG ................................. yes
          Using system libjpeg ............... yes
        PNG .................................. yes
          Using system libpng ................ yes
      EGL .................................... yes
      OpenVG ................................. no
      OpenGL:
        Desktop OpenGL ....................... no
        OpenGL ES 2.0 ........................ yes
        OpenGL ES 3.0 ........................ yes
        OpenGL ES 3.1 ........................ yes
        OpenGL ES 3.2 ........................ yes
      Vulkan ................................. no
      Session Management ..................... yes
    Features used by QPA backends:
      evdev .................................. yes
      libinput ............................... yes
      INTEGRITY HID .......................... no
      mtdev .................................. yes
      tslib .................................. no
      xkbcommon .............................. yes
      X11 specific:
        XLib ................................. yes
        XCB Xlib ............................. yes
        EGL on X11 ........................... no
    QPA backends:
      DirectFB ............................... no
      EGLFS .................................. no
      LinuxFB ................................ yes
      VNC .................................... yes
      Mir client ............................. no
      XCB:
        Using system-provided XCB libraries .. yes
        XCB XKB .............................. yes
        XCB XInput ........................... no
        Native painting (experimental) ....... yes
        GL integrations:
          GLX Plugin ......................... no
          EGL-X11 Plugin ..................... no
    Qt Sql:
      SQL item models ........................ yes
    Qt Widgets:
      GTK+ ................................... yes
      Styles ................................. Fusion Windows
    Qt PrintSupport:
      CUPS ................................... yes
    Qt Sql Drivers:
      DB2 (IBM) .............................. no
      InterBase .............................. no
      MySql .................................. yes
      OCI (Oracle) ........................... no
      ODBC ................................... yes
      PostgreSQL ............................. yes
      SQLite2 ................................ yes
      SQLite ................................. yes
        Using system provided SQLite ......... no
      TDS (Sybase) ........................... yes
    Qt Testlib:
      Tester for item models ................. yes
    
    Qt is now configured for building. Just run 'make'.
    Once everything is built, you must run 'make install'.
    Qt will be installed into '/usr/local/Qt-5.13.0'.
    
    Prior to reconfiguration, make sure you remove any leftovers from
    the previous build.
    
    
    Checking for EGL on X11... 
    + cd /home/linaro/qtbase/config.tests/egl-x11 && /home/linaro/qtbase/bin/qmake "CONFIG -= qt debug_and_release app_bundle lib_bundle" "CONFIG += shared warn_off console single_arch" 'QMAKE_USE += egl xlib' 'QMAKE_LIBS_XLIB = /usr/lib/arm-linux-gnueabihf/libXext.so /usr/lib/arm-linux-gnueabihf/libX11.so /usr/lib/arm-linux-gnueabihf/libm.so' 'QMAKE_LIBS_EGL = /usr/lib/arm-linux-gnueabihf/libEGL.so' /home/linaro/qtbase/config.tests/egl-x11
    + cd /home/linaro/qtbase/config.tests/egl-x11 && MAKEFLAGS= /usr/bin/make
    > arm-linux-gnueabihf-g++ -c -pipe -mtune=cortex-a17 -march=armv7-a -mfpu=neon-vfpv4 -mfloat-abi=hard -O2 -w -fPIC  -I. -I/home/linaro/qtbase/mkspecs/linux-tinkerboard-g++ -o main.o main.cpp
    > In file included from /usr/local/include/EGL/egl.h:39:0,
    >                  from main.cpp:7:
    > main.cpp: In function ‘int main(int, char**)’:
    > main.cpp:13:20: error: cannot convert ‘EGLNativeDisplayType {aka gbm_device*}’ to ‘Display* {aka _XDisplay*}’ in initialization
    >      Display *dpy = EGL_DEFAULT_DISPLAY;
    >                     ^
    > /usr/local/include/EGL/eglplatform.h:70:8: note: class type ‘gbm_device’ is incomplete
    >  struct gbm_device;
    >         ^~~~~~~~~~
    > main.cpp:14:50: error: cannot convert ‘Display* {aka _XDisplay*}’ to ‘EGLNativeDisplayType {aka gbm_device*}’ in initialization
    >      EGLNativeDisplayType egldpy = XOpenDisplay("");
    >                                                   ^
    > In file included from main.cpp:8:0:
    > /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:15:11: error: cannot convert ‘EGLNativeDisplayType {aka gbm_device*}’ to ‘Display* {aka _XDisplay*}’ in assignment
    >      dpy = egldpy;
    >            ^~~~~~
    > In file included from /usr/local/include/EGL/egl.h:39:0,
    >                  from main.cpp:7:
    > /usr/local/include/EGL/eglplatform.h:70:8: note: class type ‘gbm_device’ is incomplete
    >  struct gbm_device;
    >         ^~~~~~~~~~
    > main.cpp:16:42: error: invalid conversion from ‘Window {aka long unsigned int}’ to ‘EGLNativeWindowType {aka gbm_surface*}’ [-fpermissive]
    >      EGLNativeWindowType w = XCreateWindow(dpy, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
    >                              ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    > main.cpp:17:26: error: invalid conversion from ‘EGLNativeWindowType {aka gbm_surface*}’ to ‘Window {aka long unsigned int}’ [-fpermissive]
    >      XDestroyWindow(dpy, w);
    >                           ^
    > In file included from main.cpp:8:0:
    > /usr/include/X11/Xlib.h:2243:12: note:   initializing argument 2 of ‘int XDestroyWindow(Display*, Window)’
    >  extern int XDestroyWindow(
    >             ^~~~~~~~~~~~~~
    > Makefile:173: recipe for target 'main.o' failed
    > make: *** [main.o] Error 1
    test config.qtbase_gui.tests.egl-x11 FAILED
    

    Here my ./configure i don't use cross-comp:

    ./configure -platform linux-tinkerboard-g++ -release -no-eglfs -xcb -qpa xcb -make libs -gbm -opengl es2 -nomake tests -no-compile-examples -nomake examples -opensource -confirm-license -v
    
    

    eglplatform.h:

    /*
     * This confidential and proprietary software may be used only as
     * authorised by a licensing agreement from ARM Limited
     * (C) COPYRIGHT 2014 ARM Limited
     * ALL RIGHTS RESERVED
     * The entire notice above must be reproduced on all authorised
     * copies and copies may only be made to the extent permitted
     * by a licensing agreement from ARM Limited.
     */
    
    /**
     * @file eglplatform.h
     * Platform related definitions
     */
    
    #ifndef _EGLPLATFORM_H_
    #define _EGLPLATFORM_H_
    
    #ifdef __cplusplus
    extern "C"
    {
    #endif /* __cplusplus */
    
    
    #include <KHR/khrplatform.h>
    #include <stdint.h>
    
    #ifndef EGLAPI
    #define EGLAPI
    #endif
    
    #ifndef EGLAPIENTRY
    #define EGLAPIENTRY
    #endif
    
    #ifndef EGLAPIENTRYP
    #define EGLAPIENTRYP EGLAPIENTRY *
    #endif
    
    struct gbm_device;
    struct gbm_surface;
    
    typedef struct gbm_device * EGLNativeDisplayType;
    typedef struct gbm_surface * EGLNativeWindowType;
    typedef void * EGLNativePixmapType;
    
    typedef EGLNativeWindowType NativeWindowType;
    typedef EGLNativePixmapType NativePixmapType;
    typedef EGLNativeDisplayType NativeDisplayType;
    
    typedef khronos_int32_t EGLint;
    
    #ifdef __cplusplus
    }
    #endif /* __cplusplus */
    
    #endif /* _EGLPLATFORM_H_ */
    

    egl.h

    #ifndef __egl_h_
    #define __egl_h_ 1
    
    #ifdef __cplusplus
    extern "C" {
    #endif
    
    /*
    ** Copyright (c) 2013-2014 The Khronos Group Inc.
    **
    ** Permission is hereby granted, free of charge, to any person obtaining a
    ** copy of this software and/or associated documentation files (the
    ** "Materials"), to deal in the Materials without restriction, including
    ** without limitation the rights to use, copy, modify, merge, publish,
    ** distribute, sublicense, and/or sell copies of the Materials, and to
    ** permit persons to whom the Materials are furnished to do so, subject to
    ** the following conditions:
    **
    ** The above copyright notice and this permission notice shall be included
    ** in all copies or substantial portions of the Materials.
    **
    ** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
    ** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
    ** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
    ** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
    ** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
    ** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
    ** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
    */
    /*
    ** This header is generated from the Khronos OpenGL / OpenGL ES XML
    ** API Registry. The current version of the Registry, generator scripts
    ** used to make the header, and the header can be found at
    **   http://www.opengl.org/registry/
    **
    ** Khronos $Revision: 29318 $ on $Date: 2015-01-02 03:16:10 -0800 (Fri, 02 Jan 2015) $
    */
    
    #include <EGL/eglplatform.h>
    
    
    /* Generated on date 20150102 */
    
    /* Generated C header for:
     * API: egl
     * Versions considered: .*
     * Versions emitted: .*
     * Default extensions included: None
     * Additional extensions included: _nomatch_^
     * Extensions removed: _nomatch_^
     */
    
    #ifndef EGL_VERSION_1_0
    #define EGL_VERSION_1_0 1
    typedef unsigned int EGLBoolean;
    typedef void *EGLDisplay;
    #include <KHR/khrplatform.h>
    #include <EGL/eglplatform.h>
    typedef void *EGLConfig;
    typedef void *EGLSurface;
    typedef void *EGLContext;
    typedef void (*__eglMustCastToProperFunctionPointerType)(void);
    #define EGL_ALPHA_SIZE                    0x3021
    #define EGL_BAD_ACCESS                    0x3002
    #define EGL_BAD_ALLOC                     0x3003
    #define EGL_BAD_ATTRIBUTE                 0x3004
    #define EGL_BAD_CONFIG                    0x3005
    #define EGL_BAD_CONTEXT                   0x3006
    #define EGL_BAD_CURRENT_SURFACE           0x3007
    #define EGL_BAD_DISPLAY                   0x3008
    #define EGL_BAD_MATCH                     0x3009
    #define EGL_BAD_NATIVE_PIXMAP             0x300A
    #define EGL_BAD_NATIVE_WINDOW             0x300B
    #define EGL_BAD_PARAMETER                 0x300C
    #define EGL_BAD_SURFACE                   0x300D
    #define EGL_BLUE_SIZE                     0x3022
    #define EGL_BUFFER_SIZE                   0x3020
    #define EGL_CONFIG_CAVEAT                 0x3027
    #define EGL_CONFIG_ID                     0x3028
    #define EGL_CORE_NATIVE_ENGINE            0x305B
    #define EGL_DEPTH_SIZE                    0x3025
    #define EGL_DONT_CARE                     ((EGLint)-1)
    #define EGL_DRAW                          0x3059
    #define EGL_EXTENSIONS                    0x3055
    #define EGL_FALSE                         0
    #define EGL_GREEN_SIZE                    0x3023
    #define EGL_HEIGHT                        0x3056
    #define EGL_LARGEST_PBUFFER               0x3058
    #define EGL_LEVEL                         0x3029
    #define EGL_MAX_PBUFFER_HEIGHT            0x302A
    #define EGL_MAX_PBUFFER_PIXELS            0x302B
    #define EGL_MAX_PBUFFER_WIDTH             0x302C
    #define EGL_NATIVE_RENDERABLE             0x302D
    #define EGL_NATIVE_VISUAL_ID              0x302E
    #define EGL_NATIVE_VISUAL_TYPE            0x302F
    #define EGL_NONE                          0x3038
    #define EGL_NON_CONFORMANT_CONFIG         0x3051
    #define EGL_NOT_INITIALIZED               0x3001
    #define EGL_NO_CONTEXT                    ((EGLContext)0)
    #define EGL_NO_DISPLAY                    ((EGLDisplay)0)
    #define EGL_NO_SURFACE                    ((EGLSurface)0)
    #define EGL_PBUFFER_BIT                   0x0001
    #define EGL_PIXMAP_BIT                    0x0002
    #define EGL_READ                          0x305A
    #define EGL_RED_SIZE                      0x3024
    #define EGL_SAMPLES                       0x3031
    #define EGL_SAMPLE_BUFFERS                0x3032
    #define EGL_SLOW_CONFIG                   0x3050
    #define EGL_STENCIL_SIZE                  0x3026
    #define EGL_SUCCESS                       0x3000
    #define EGL_SURFACE_TYPE                  0x3033
    #define EGL_TRANSPARENT_BLUE_VALUE        0x3035
    #define EGL_TRANSPARENT_GREEN_VALUE       0x3036
    #define EGL_TRANSPARENT_RED_VALUE         0x3037
    #define EGL_TRANSPARENT_RGB               0x3052
    #define EGL_TRANSPARENT_TYPE              0x3034
    #define EGL_TRUE                          1
    #define EGL_VENDOR                        0x3053
    #define EGL_VERSION                       0x3054
    #define EGL_WIDTH                         0x3057
    #define EGL_WINDOW_BIT                    0x0004
    
    EGLAPI EGLBoolean EGLAPIENTRY eglChooseConfig (EGLDisplay dpy, const EGLint *attrib_list, EGLConfig *configs, EGLint config_size, EGLint *num_config);
    EGLAPI EGLBoolean EGLAPIENTRY eglCopyBuffers (EGLDisplay dpy, EGLSurface surface, EGLNativePixmapType target);
    EGLAPI EGLContext EGLAPIENTRY eglCreateContext (EGLDisplay dpy, EGLConfig config, EGLContext share_context, const EGLint *attrib_list);
    EGLAPI EGLSurface EGLAPIENTRY eglCreatePbufferSurface (EGLDisplay dpy, EGLConfig config, const EGLint *attrib_list);
    EGLAPI EGLSurface EGLAPIENTRY eglCreatePixmapSurface (EGLDisplay dpy, EGLConfig config, EGLNativePixmapType pixmap, const EGLint *attrib_list);
    EGLAPI EGLSurface EGLAPIENTRY eglCreateWindowSurface (EGLDisplay dpy, EGLConfig config, EGLNativeWindowType win, const EGLint *attrib_list);
    EGLAPI EGLBoolean EGLAPIENTRY eglDestroyContext (EGLDisplay dpy, EGLContext ctx);
    EGLAPI EGLBoolean EGLAPIENTRY eglDestroySurface (EGLDisplay dpy, EGLSurface surface);
    EGLAPI EGLBoolean EGLAPIENTRY eglGetConfigAttrib (EGLDisplay dpy, EGLConfig config, EGLint attribute, EGLint *value);
    EGLAPI EGLBoolean EGLAPIENTRY eglGetConfigs (EGLDisplay dpy, EGLConfig *configs, EGLint config_size, EGLint *num_config);
    EGLAPI EGLDisplay EGLAPIENTRY eglGetCurrentDisplay (void);
    EGLAPI EGLSurface EGLAPIENTRY eglGetCurrentSurface (EGLint readdraw);
    EGLAPI EGLDisplay EGLAPIENTRY eglGetDisplay (EGLNativeDisplayType display_id);
    EGLAPI EGLint EGLAPIENTRY eglGetError (void);
    EGLAPI __eglMustCastToProperFunctionPointerType EGLAPIENTRY eglGetProcAddress (const char *procname);
    EGLAPI EGLBoolean EGLAPIENTRY eglInitialize (EGLDisplay dpy, EGLint *major, EGLint *minor);
    EGLAPI EGLBoolean EGLAPIENTRY eglMakeCurrent (EGLDisplay dpy, EGLSurface draw, EGLSurface read, EGLContext ctx);
    EGLAPI EGLBoolean EGLAPIENTRY eglQueryContext (EGLDisplay dpy, EGLContext ctx, EGLint attribute, EGLint *value);
    EGLAPI const char *EGLAPIENTRY eglQueryString (EGLDisplay dpy, EGLint name);
    EGLAPI EGLBoolean EGLAPIENTRY eglQuerySurface (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint *value);
    EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffers (EGLDisplay dpy, EGLSurface surface);
    EGLAPI EGLBoolean EGLAPIENTRY eglTerminate (EGLDisplay dpy);
    EGLAPI EGLBoolean EGLAPIENTRY eglWaitGL (void);
    EGLAPI EGLBoolean EGLAPIENTRY eglWaitNative (EGLint engine);
    #endif /* EGL_VERSION_1_0 */
    
    #ifndef EGL_VERSION_1_1
    #define EGL_VERSION_1_1 1
    #define EGL_BACK_BUFFER                   0x3084
    #define EGL_BIND_TO_TEXTURE_RGB           0x3039
    #define EGL_BIND_TO_TEXTURE_RGBA          0x303A
    #define EGL_CONTEXT_LOST                  0x300E
    #define EGL_MIN_SWAP_INTERVAL             0x303B
    #define EGL_MAX_SWAP_INTERVAL             0x303C
    #define EGL_MIPMAP_TEXTURE                0x3082
    #define EGL_MIPMAP_LEVEL                  0x3083
    #define EGL_NO_TEXTURE                    0x305C
    #define EGL_TEXTURE_2D                    0x305F
    #define EGL_TEXTURE_FORMAT                0x3080
    #define EGL_TEXTURE_RGB                   0x305D
    #define EGL_TEXTURE_RGBA                  0x305E
    #define EGL_TEXTURE_TARGET                0x3081
    EGLAPI EGLBoolean EGLAPIENTRY eglBindTexImage (EGLDisplay dpy, EGLSurface surface, EGLint buffer);
    EGLAPI EGLBoolean EGLAPIENTRY eglReleaseTexImage (EGLDisplay dpy, EGLSurface surface, EGLint buffer);
    EGLAPI EGLBoolean EGLAPIENTRY eglSurfaceAttrib (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint value);
    EGLAPI EGLBoolean EGLAPIENTRY eglSwapInterval (EGLDisplay dpy, EGLint interval);
    #endif /* EGL_VERSION_1_1 */
    
    #ifndef EGL_VERSION_1_2
    #define EGL_VERSION_1_2 1
    typedef unsigned int EGLenum;
    typedef void *EGLClientBuffer;
    #define EGL_ALPHA_FORMAT                  0x3088
    #define EGL_ALPHA_FORMAT_NONPRE           0x308B
    #define EGL_ALPHA_FORMAT_PRE              0x308C
    #define EGL_ALPHA_MASK_SIZE               0x303E
    #define EGL_BUFFER_PRESERVED              0x3094
    #define EGL_BUFFER_DESTROYED              0x3095
    #define EGL_CLIENT_APIS                   0x308D
    #define EGL_COLORSPACE                    0x3087
    #define EGL_COLORSPACE_sRGB               0x3089
    #define EGL_COLORSPACE_LINEAR             0x308A
    #define EGL_COLOR_BUFFER_TYPE             0x303F
    #define EGL_CONTEXT_CLIENT_TYPE           0x3097
    #define EGL_DISPLAY_SCALING               10000
    #define EGL_HORIZONTAL_RESOLUTION         0x3090
    #define EGL_LUMINANCE_BUFFER              0x308F
    #define EGL_LUMINANCE_SIZE                0x303D
    #define EGL_OPENGL_ES_BIT                 0x0001
    #define EGL_OPENVG_BIT                    0x0002
    #define EGL_OPENGL_ES_API                 0x30A0
    #define EGL_OPENVG_API                    0x30A1
    #define EGL_OPENVG_IMAGE                  0x3096
    #define EGL_PIXEL_ASPECT_RATIO            0x3092
    #define EGL_RENDERABLE_TYPE               0x3040
    #define EGL_RENDER_BUFFER                 0x3086
    #define EGL_RGB_BUFFER                    0x308E
    #define EGL_SINGLE_BUFFER                 0x3085
    #define EGL_SWAP_BEHAVIOR                 0x3093
    #define EGL_UNKNOWN                       ((EGLint)-1)
    #define EGL_VERTICAL_RESOLUTION           0x3091
    EGLAPI EGLBoolean EGLAPIENTRY eglBindAPI (EGLenum api);
    EGLAPI EGLenum EGLAPIENTRY eglQueryAPI (void);
    EGLAPI EGLSurface EGLAPIENTRY eglCreatePbufferFromClientBuffer (EGLDisplay dpy, EGLenum buftype, EGLClientBuffer buffer, EGLConfig config, const EGLint *attrib_list);
    EGLAPI EGLBoolean EGLAPIENTRY eglReleaseThread (void);
    EGLAPI EGLBoolean EGLAPIENTRY eglWaitClient (void);
    #endif /* EGL_VERSION_1_2 */
    
    #ifndef EGL_VERSION_1_3
    #define EGL_VERSION_1_3 1
    #define EGL_CONFORMANT                    0x3042
    #define EGL_CONTEXT_CLIENT_VERSION        0x3098
    #define EGL_MATCH_NATIVE_PIXMAP           0x3041
    #define EGL_OPENGL_ES2_BIT                0x0004
    #define EGL_VG_ALPHA_FORMAT               0x3088
    #define EGL_VG_ALPHA_FORMAT_NONPRE        0x308B
    #define EGL_VG_ALPHA_FORMAT_PRE           0x308C
    #define EGL_VG_ALPHA_FORMAT_PRE_BIT       0x0040
    #define EGL_VG_COLORSPACE                 0x3087
    #define EGL_VG_COLORSPACE_sRGB            0x3089
    #define EGL_VG_COLORSPACE_LINEAR          0x308A
    #define EGL_VG_COLORSPACE_LINEAR_BIT      0x0020
    #endif /* EGL_VERSION_1_3 */
    
    #ifndef EGL_VERSION_1_4
    #define EGL_VERSION_1_4 1
    #define EGL_DEFAULT_DISPLAY               ((EGLNativeDisplayType)0)
    #define EGL_MULTISAMPLE_RESOLVE_BOX_BIT   0x0200
    #define EGL_MULTISAMPLE_RESOLVE           0x3099
    #define EGL_MULTISAMPLE_RESOLVE_DEFAULT   0x309A
    #define EGL_MULTISAMPLE_RESOLVE_BOX       0x309B
    #define EGL_OPENGL_API                    0x30A2
    #define EGL_OPENGL_BIT                    0x0008
    #define EGL_SWAP_BEHAVIOR_PRESERVED_BIT   0x0400
    EGLAPI EGLContext EGLAPIENTRY eglGetCurrentContext (void);
    #endif /* EGL_VERSION_1_4 */
    
    #ifndef EGL_VERSION_1_5
    #define EGL_VERSION_1_5 1
    typedef void *EGLSync;
    typedef intptr_t EGLAttrib;
    typedef khronos_utime_nanoseconds_t EGLTime;
    typedef void *EGLImage;
    #define EGL_CONTEXT_MAJOR_VERSION         0x3098
    #define EGL_CONTEXT_MINOR_VERSION         0x30FB
    #define EGL_CONTEXT_OPENGL_PROFILE_MASK   0x30FD
    #define EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY 0x31BD
    #define EGL_NO_RESET_NOTIFICATION         0x31BE
    #define EGL_LOSE_CONTEXT_ON_RESET         0x31BF
    #define EGL_CONTEXT_OPENGL_CORE_PROFILE_BIT 0x00000001
    #define EGL_CONTEXT_OPENGL_COMPATIBILITY_PROFILE_BIT 0x00000002
    #define EGL_CONTEXT_OPENGL_DEBUG          0x31B0
    #define EGL_CONTEXT_OPENGL_FORWARD_COMPATIBLE 0x31B1
    #define EGL_CONTEXT_OPENGL_ROBUST_ACCESS  0x31B2
    #define EGL_OPENGL_ES3_BIT                0x00000040
    #define EGL_CL_EVENT_HANDLE               0x309C
    #define EGL_SYNC_CL_EVENT                 0x30FE
    #define EGL_SYNC_CL_EVENT_COMPLETE        0x30FF
    #define EGL_SYNC_PRIOR_COMMANDS_COMPLETE  0x30F0
    #define EGL_SYNC_TYPE                     0x30F7
    #define EGL_SYNC_STATUS                   0x30F1
    #define EGL_SYNC_CONDITION                0x30F8
    #define EGL_SIGNALED                      0x30F2
    #define EGL_UNSIGNALED                    0x30F3
    #define EGL_SYNC_FLUSH_COMMANDS_BIT       0x0001
    #define EGL_FOREVER                       0xFFFFFFFFFFFFFFFFull
    #define EGL_TIMEOUT_EXPIRED               0x30F5
    #define EGL_CONDITION_SATISFIED           0x30F6
    #define EGL_NO_SYNC                       ((EGLSync)0)
    #define EGL_SYNC_FENCE                    0x30F9
    #define EGL_GL_COLORSPACE                 0x309D
    #define EGL_GL_COLORSPACE_SRGB            0x3089
    #define EGL_GL_COLORSPACE_LINEAR          0x308A
    #define EGL_GL_RENDERBUFFER               0x30B9
    #define EGL_GL_TEXTURE_2D                 0x30B1
    #define EGL_GL_TEXTURE_LEVEL              0x30BC
    #define EGL_GL_TEXTURE_3D                 0x30B2
    #define EGL_GL_TEXTURE_ZOFFSET            0x30BD
    #define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_X 0x30B3
    #define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_X 0x30B4
    #define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Y 0x30B5
    #define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Y 0x30B6
    #define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Z 0x30B7
    #define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Z 0x30B8
    #define EGL_IMAGE_PRESERVED               0x30D2
    #define EGL_NO_IMAGE                      ((EGLImage)0)
    EGLAPI EGLSync EGLAPIENTRY eglCreateSync (EGLDisplay dpy, EGLenum type, const EGLAttrib *attrib_list);
    EGLAPI EGLBoolean EGLAPIENTRY eglDestroySync (EGLDisplay dpy, EGLSync sync);
    EGLAPI EGLint EGLAPIENTRY eglClientWaitSync (EGLDisplay dpy, EGLSync sync, EGLint flags, EGLTime timeout);
    EGLAPI EGLBoolean EGLAPIENTRY eglGetSyncAttrib (EGLDisplay dpy, EGLSync sync, EGLint attribute, EGLAttrib *value);
    EGLAPI EGLImage EGLAPIENTRY eglCreateImage (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLAttrib *attrib_list);
    EGLAPI EGLBoolean EGLAPIENTRY eglDestroyImage (EGLDisplay dpy, EGLImage image);
    EGLAPI EGLDisplay EGLAPIENTRY eglGetPlatformDisplay (EGLenum platform, void *native_display, const EGLAttrib *attrib_list);
    EGLAPI EGLSurface EGLAPIENTRY eglCreatePlatformWindowSurface (EGLDisplay dpy, EGLConfig config, void *native_window, const EGLAttrib *attrib_list);
    EGLAPI EGLSurface EGLAPIENTRY eglCreatePlatformPixmapSurface (EGLDisplay dpy, EGLConfig config, void *native_pixmap, const EGLAttrib *attrib_list);
    EGLAPI EGLBoolean EGLAPIENTRY eglWaitSync (EGLDisplay dpy, EGLSync sync, EGLint flags);
    #endif /* EGL_VERSION_1_5 */
    
    #ifdef __cplusplus
    }
    #endif
    
    #endif
    
    


  • As it turned out, the per-installed version of QT 5.7.1 after installing libmali works fine with xcb and GPU acceleration, which probably indicates that the installation path of QT 5.13.0 is not correct, it is also possible to correct the location of the libraries. Probably the setting path should coincide with the location(5.13.0) of the qt5 folder where version 5.7.1 is installed.


Log in to reply