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
-
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.
-
@Sencis said in Install QT 5.13.0 on Tinker Board without Cross:
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.
Hey, going to have a project with same Tinkerboard. You said the animations weren't really smooth. Did you make it working with better frame rate?