armv7 embedded device with no Graphical interface
-
Hello all, what would be the best QT application for armv7 32 bit, based device, which has no Graphical interface. Therefore it could process and run the c++ application but the visualization would have to run remotely (Web Browser) . Just trying to get started here, we have to spend a couple of f day researching and there is no precompiled solution for oru target.
Specs:
ARM ® Cortex®-A9 2 x 800 Mhz (armv7)
YOCTO Linuxthanks in advance
-
Hi and welcome to devnet,
Are you thinking about something like the new wasm backend ?
-
Thnaks a lot for replying guys
That would work for me I guess, i just need some guidance on how to build it, I even built from source on it, but was an older version I believe 5.4 which would no support the Web Assembly .
If I only want to do the Web Assembly, do I still need to build the whole QT 5.13 into my target ??
Just to supply you guys with some more info , here are the results of my build
Build type: linux-g++ (arm, CPU features: <none>)
Compiler: gcc 7.2.0
Configuration: use_gold_linker compile_examples enable_new_dtags largefile precompile_header shared rpath release c++11 c++14 c++1z concurrent dbus no-pkg-config 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++1z
Using ccache ........................... no
Using gold linker ...................... yes
Using new DTAGS ........................ yes
Using precompiled headers .............. yes
Using LTCG ............................. no
Target compiler supports:
NEON ................................. no
Build parts ............................ libs examples tools
Qt modules and options:
Qt Concurrent .......................... yes
Qt D-Bus ............................... yes
Qt D-Bus directly linked to libdbus .... no
Qt Gui ................................. yes
Qt Network ............................. yes
Qt Sql ................................. yes
Qt Testlib ............................. yes
Qt Widgets ............................. yes
Qt Xml ................................. yes
Support enabled for:
Using pkg-config ....................... no
udev ................................... no
Using system zlib ...................... no
Qt Core:
DoubleConversion ....................... yes
Using system DoubleConversion ........ no
GLib ................................... no
iconv .................................. yes
ICU .................................... no
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 ....................... no
OpenSSL ................................ no
Qt directly linked to OpenSSL ........ no
OpenSSL 1.1 ............................ no
DTLS ................................... no
SCTP ................................... no
Use system proxies ..................... yes
Qt Gui:
Accessibility .......................... yes
FreeType ............................... yes
Using system FreeType ................ no
HarfBuzz ............................... yes
Using system HarfBuzz ................ no
Fontconfig ............................. no
Image formats:
GIF .................................. yes
ICO .................................. yes
JPEG ................................. yes
Using system libjpeg ............... no
PNG .................................. yes
Using system libpng ................ no
EGL .................................... no
OpenVG ................................. no
OpenGL:
Desktop OpenGL ....................... no
OpenGL ES 2.0 ........................ no
OpenGL ES 3.0 ........................ no
OpenGL ES 3.1 ........................ no
OpenGL ES 3.2 ........................ no
Vulkan ................................. no
Session Management ..................... yes
Features used by QPA backends:
evdev .................................. yes
libinput ............................... no
INTEGRITY HID .......................... no
mtdev .................................. no
tslib .................................. no
xkbcommon-evdev ........................ no
QPA backends:
DirectFB ............................... no
EGLFS .................................. no
LinuxFB ................................ yes
VNC .................................... yes
Mir client ............................. no
Qt Sql:
SQL item models ........................ yes
Qt Widgets:
GTK+ ................................... no
Styles ................................. Fusion Windows
Qt PrintSupport:
CUPS ................................... no
Qt Sql Drivers:
DB2 (IBM) .............................. no
InterBase .............................. no
MySql .................................. no
OCI (Oracle) ........................... no
ODBC ................................... no
PostgreSQL ............................. no
SQLite2 ................................ no
SQLite ................................. yes
Using system provided SQLite ......... no
TDS (Sybase) ........................... no
Qt Testlib:
Tester for item models ................. yes
Qt SerialBus:
Socket CAN ............................. yes
Socket CAN FD .......................... no
Qt QML:
QML network support .................... yes
QML debugging and profiling support .... yes
QML sequence object .................... yes
QML list model ......................... yes
QML XML http request ................... yes
QML Locale ............................. yes
QML delegate model ..................... yes
Qt Quick:
Direct3D 12 ............................ no
AnimatedImage item ..................... yes
Canvas item ............................ yes
Support for Qt Quick Designer .......... yes
Flipable item .......................... yes
GridView item .......................... yes
ListView item .......................... yes
TableView item ......................... yes
Path support ........................... yes
PathView item .......................... yes
Positioner items ....................... yes
Repeater item .......................... yes
ShaderEffect item ...................... yes
Sprite item ............................ yes
Qt Scxml:
ECMAScript data model for QtScxml ...... yes
Qt Gamepad:
SDL2 ................................... no
Qt 3D:
Assimp ................................. yes
System Assimp .......................... no
Output Qt3D Job traces ................. no
Output Qt3D GL traces .................. no
Use SSE2 instructions .................. no
Use AVX2 instructions .................. no
Aspects:
Render aspect ........................ yes
Input aspect ......................... yes
Logic aspect ......................... yes
Animation aspect ..................... yes
Extras aspect ........................ yes
Qt 3D Renderers:
OpenGL Renderer ........................ yes
Qt 3D GeometryLoaders:
Autodesk FBX ........................... no
Qt Wayland Client ........................ no
Qt Wayland Compositor .................... no
Qt Bluetooth:
BlueZ .................................. no
BlueZ Low Energy ....................... no
Linux Crypto API ....................... no
WinRT Bluetooth API (desktop & UWP) .... no
Qt Sensors:
sensorfw ............................... no
Qt Quick Controls 2:
Styles ................................. Default Fusion Imagine Material Universal
Qt Quick Templates 2:
Hover support .......................... yes
Multi-touch support .................... yes
Qt Positioning:
Gypsy GPS Daemon ....................... no
WinRT Geolocation API .................. no
Qt Location:
Qt.labs.location experimental QML plugin . yes
Geoservice plugins:
OpenStreetMap ........................ yes
HERE ................................. yes
Esri ................................. yes
Mapbox ............................... yes
MapboxGL ............................. no
Itemsoverlay ......................... yes
QtXmlPatterns:
XML schema support ..................... yes
Qt Multimedia:
ALSA ................................... no
GStreamer 1.0 .......................... no
GStreamer 0.10 ......................... no
Video for Linux ........................ yes
OpenAL ................................. no
PulseAudio ............................. no
Resource Policy (libresourceqt5) ....... no
Windows Audio Services ................. no
DirectShow ............................. no
Windows Media Foundation ............... no
Qt WebEngine:
Embedded build ......................... no
Pepper Plugins ......................... yes
Printing and PDF ....................... yes
Proprietary Codecs ..................... no
Spellchecker ........................... yes
Native Spellchecker .................... no
WebRTC ................................. yes
Use System Ninja ....................... no
Geolocation ............................ yes
WebChannel support ..................... yes
Use v8 snapshot ........................ yes
Kerberos Authentication ................ no
Use ALSA ............................... no
Use PulseAudio ......................... no
Optional system libraries used:
re2 .................................. no
icu .................................. no
libwebp, libwebpmux and libwebpdemux . no
opus ................................. no
ffmpeg ............................... no
libvpx ............................... no
snappy ............................... no
glib ................................. no
zlib ................................. no
minizip .............................. no
libevent ............................. no
jsoncpp .............................. no
protobuf ............................. no
libxml2 and libxslt .................. no
lcms2 ................................ no
png .................................. no
JPEG ................................. no
harfbuzz ............................. no
freetype ............................. no
x11 .................................. no
Required system libraries:
fontconfig ........................... no
dbus ................................. no
nss .................................. no
khr .................................. no
glibc ................................ yes
Required system libraries for qpa-xcb:
libdrm ............................... no
xcomposite ........................... no
xcursor .............................. no
xi ................................... no
xrandr ............................... no
xtst ................................. noNote: Also available for Linux: linux-clang linux-icc
Note: QtSerialBus: Newer kernel needed for flexible data-rate frame support (canfd_frame).
Note: No wayland-egl support detected. Cross-toolkit compatibility disabled.
WARNING: gperf is required to build QtWebEngine.
WARNING: host pkg-config not found
ERROR: The OpenGL functionality tests failed!
You might need to modify the include and library search paths by editing QMAKE_INCDIR_OPENGL[_ES2],
QMAKE_LIBDIR_OPENGL[_ES2] and QMAKE_LIBS_OPENGL[_ES2] in the mkspec for your platf -
No, just start with qtbase, once you have it continue with the other modules you need.
-
thanks for the reply again, would that be the contrib you refer to https://github.com/qt/qtbase ??
-
GitHub is a mirror, the official sources are at https://code.qt.io. However, you seem to have already the sources so there's no need to clone it again.
-
@sgaist thnaks, but the source i compiled was an old version I belive 5.4, it would have to be upate correct ??
I am just going to rebuild using 5.13. Now as far as the next steps how do I go about to get the Web assembly running and imported from the QT creator
thanks
-
while trying to run configure i got this, i did clone from https://code.qt.io.
root@axcf2152:/opt/qt5/qtbase# ./configure
Can't locate File/Basename.pm in @INC (you may need to install the File::Basename module) (@INC contains: /etc/perl /usr/lib/perl/site_perl/5.24.4/ /usr/lib/perl/site_perl/5.24.4 /usr/lib/perl/vendor_perl/5.24.4/ /usr/lib/perl/vendor_perl/5.24.4 /usr/lib/perl/5.24.4/ /usr/lib/perl/5.24.4 /usr/local/lib/site_perl /usr/lib/perl/5.24.4 .) at /opt/qt5/qtbase/bin/syncqt.pl line 47.
BEGIN failed--compilation aborted at /opt/qt5/qtbase/bin/syncqt.pl line 47. -
Did you clone qtbase directly ?
In any case, I would recommend to put the sources somewhere a standard user can access (it's home directory for example) rather that building stuff as root.
That said, you can clone the qt5 repository and then follow the instructions to get all the sources checkout out properly.
-
Which guide ?
-
https://wiki.qt.io/Qt_for_WebAssembly
my question on that is when i build from source do I only need to build QTbase ??
thanks
-
If you want to use QtQuick, you should also build qtdeclarative.
-
I am really not sure about what we need to be totally honest, QT has some many options it becomes overwhelming.
We do understand that the functionality we need lies on QT Web Assembly, What would exactly the source package dependencies and all that I need to build to run the QT web assembly ?? is qt declarative and QTquick mandatories, we need this deployment as light as possible
-
Mandatory ? No they are not, it depends mainly on what your application should show/do. If you need some fancy animations, then QtQuick is the way to go.
-
Create a small application and follow the Build and Run applications part of the guide you are following. Then you shall have an application ready.
-
while building
./configure xplatform wasm-emscripten -nomake examples -prefix $PWD/qtbase
- cd qtbase
- /opt/qt5/qtbase/configure -top-level xplatform wasm-emscripten -nomake examples -prefix /opt/qt5/qtbase
<srcbase> = /opt/qt5/qtbase
<bldbase> = /opt/qt5/qtbase
<outbase> = /opt/qt5/qtbase
Creating qmake...
.Done.
ERROR: Invalid command line parameter 'xplatform'.
-
@jasonnnn said in armv7 embedded device with no Graphical interface:
'xplatform'.
should be -xplatform