Install QT 5.13.0 on Tinker Board without Cross



  • I installed QT 5.13.0 console applications work, but OpenGL applications, after rendering the window, throw an error:

    ** (hellogl2:32124): WARNING **: Error retrieving accessibility bus address: org.freedesktop.DBus.Error.ServiceUnknown: The name org.a11y.Bus was not provided by any .service files
    QXcbIntegration: Cannot create platform OpenGL context, neither GLX nor EGL are enabled
    QXcbIntegration: Cannot create platform OpenGL context, neither GLX nor EGL are enabled
    QOpenGLWidget: Failed to create context
    QXcbIntegration: Cannot create platform OpenGL context, neither GLX nor EGL are enabled
    QOpenGLWidget: Failed to create context
    QXcbIntegration: Cannot create platform OpenGL context, neither GLX nor EGL are enabled
    qt.qpa.backingstore: composeAndFlush: QOpenGLContext creation failed
    qt.qpa.backingstore: composeAndFlush: makeCurrent() failed
    

    For assembly used mkspecs:

    # qmake configuration for the Asus Tinkerboard (Rockchip RK3288, Cortex-A17, Mali-T764)
    #
    # This configuration targets eglfs via DRM/KMS and Wayland.
    
    QT_QPA_DEFAULT_PLATFORM = eglfs
    
    MAKEFILE_GENERATOR      = UNIX
    CONFIG                 += incremental
    QMAKE_INCREMENTAL_STYLE = sublib
    
    include(../common/linux.conf)
    include(../common/gcc-base-unix.conf)
    include(../common/g++-unix.conf)
    
    # modifications to g++.conf
    QMAKE_CC                = arm-linux-gnueabihf-gcc
    QMAKE_CXX               = arm-linux-gnueabihf-g++
    QMAKE_LINK              = arm-linux-gnueabihf-g++
    QMAKE_LINK_SHLIB        = arm-linux-gnueabihf-g++
    
    # modifications to linux.conf
    QMAKE_AR                = arm-linux-gnueabihf-ar cqs
    QMAKE_OBJCOPY           = arm-linux-gnueabihf-objcopy
    QMAKE_NM                = arm-linux-gnueabihf-nm -P
    QMAKE_STRIP             = arm-linux-gnueabihf-strip
    
    # modifications to gcc-base.conf
    QMAKE_AR_LTCG           = arm-linux-gnueabihf-gcc-ar cqs
    QMAKE_NM_LTCG           = arm-linux-gnueabihf-gcc-nm -P
    
    QMAKE_LIBS_EGL         += -lEGL
    QMAKE_LIBS_OPENGL_ES2  += -lGLESv2 -lEGL
    QMAKE_LIBS_OPENVG      += -lOpenVG -lEGL
    
    COMPILER_FLAGS         += -mtune=cortex-a17 -march=armv7-a -mfpu=neon-vfpv4
    
    # Preferred eglfs backend
    # One of: eglfs_brcm  eglfs_kms  eglfs_mali  eglfs_viv  eglfs_x11
    
    EGLFS_DEVICE_INTEGRATION = eglfs_kms
    
    
    COMPILER_FLAGS += -mfloat-abi=hard
    LINKER_FLAGS   += -mfloat-abi=hard
    
    
    QMAKE_CFLAGS       += $$COMPILER_FLAGS
    QMAKE_CXXFLAGS     += $$COMPILER_FLAGS
    QMAKE_LFLAGS       += $$LINKER_FLAGS
    
    load(qt_config)
    

    Use config:

    ./configure -platform linux-tinkerboard-g++ -release -opengl es2 -nomake tests -nomake examples -opensource -confirm-license -v
    

    The result of assembly configuration:

    Configure summary:
    
    Build type: linux-tinkerboard-g++ (arm, CPU features: neon)
    Compiler: gcc 6.3.0
    Configuration: compile_examples 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 examples tools
    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 ........................ no
        OpenGL ES 3.2 ........................ no
      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 .................................. yes
      EGLFS details:
        EGLFS OpenWFD ........................ no
        EGLFS i.Mx6 .......................... no
        EGLFS i.Mx6 Wayland .................. no
        EGLFS RCAR ........................... no
        EGLFS EGLDevice ...................... yes
        EGLFS GBM ............................ yes
        EGLFS VSP2 ........................... no
        EGLFS Mali ........................... no
        EGLFS Raspberry Pi ................... no
        EGLFS X11 ............................ 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.
    
    

    Use mali driver: libmali-midgard-r13p0-r0p0.so



  • This post is deleted!


  • The solution was to reconfigure as follows:

    ./configure -platform linux-tinkerboard-g++ -eglfs -qpa eglfs -release -opengl es2 -nomake tests -nomake examples -opensource -confirm-license -v
    

    And although the HelloGL2 / 3 examples now work fine, when the application starts (and it always runs on the full screen), the X server stops (or minimizes), you have to exit the system and run it in terminal manually. Perhaps this is fixable, but use it with VNC not possible. Also the frame rate in example HelloGL3 quite small. Perhaps the performance can be increased on this board by increasing the GPU frequency in the board settings (You can find the topic on the forum of this board how to do this) but apparently the automatic frequency control does not work here which will probably lead to more power consumption and heating.


Log in to reply