QT5 QtQuick1 OpenGL dependency
I am currently working on a project based on a Cortex ARM core with no OPENGL hardware support.
I was wondering if QtQuick1 needs OpenGL support.
If yes, I will continue QtDeclarative in QT 4.8.4
If no, I will port my apps to QtQuick1.
Anyone can help me to get this information? I did not find it browsing qt-project.org...
No, but QtGui does need it for linking, AFAIK. QtQuick1 is the same stuff that was present in Qt4, kept for compatibility reasons. I don't think OGL is needed at runtime.
How to be sure that OGL is not needed at runtime without testing it?
Have you any idea?
QtQuick1 is not using OpenGL at all. What I've said above is rumours that I've heard of people having trouble to compile without OGL drivers present. I don't know myself, I'm using QtQuick2. If you want a definite answer, try compiling the stuff yourself and see.
BTW. It may be possible that you can run mesa on your board and run OpenGL with your CPU.
Thank you for your answer.
I will try to compile it and check compilation and runtime OpenGL dependency. I tried once but I was a little bit confused with all QT configure options.
As I want to keep my rootFs as small as possible I am affraid of MESA size.
Furthermore, I think if I use MESA my apps wil be slow down.
I have spent many hours trying to cross compile QT5 for ARM target without OpenGL support.
I failed at the configure step as I did not find enough information to have a correct setting.
I tried to find inspiration having a look :
- to buildroot-2013.05 that support QT5 .
- to devices in qt5base/mkspecs/devices
right now i'm in a similar situation. Trying to generate my rootfs with buildroot-2013.05, but when selecting Qt5 on it, cannot add QtQuick1 because of OpenGL dependencies (my target has als yours, no GPU). Also, couldn't not find in buildroot where to add the OpenGL implementation.
Any luck with your attempts?
Reading again previous posts and specially sierdzio comment:
"QtQuick1 is not using OpenGL at all. What I’ve said above is rumours that I’ve heard of people having trouble to compile without OGL drivers present. "
Maybe it's an option, to "copy paste" some OpenGL implementations for other board (e.g. raspberry pi, from this nice tutorial: http://qt-project.org/wiki/RaspberryPi_Beginners_guide), configure and make Qt5 setting the path for OpenGL ES 2.0. (in rasp-pi example, /opt/vc...). In run time, if QtQuick1 really don't use OGL, should ignore this files and works normally.
Looks like a mess or not very a "professional" solution, but can be an option or a fix to this issue. I'm going to try it when arrives my board.
i'm doing the same as well and have had some limited success with configure using no opengl , but can't get the qtquick1 running either.
i'm not sure if the following is any use, but i thought i'd share the receipe:
i'm starting configure in the qtbase subdirectory to get the basics running:
@./configure -v -opensource -confirm-license -qt-xcb -no-pch -no-opengl -no-egl -qt-sql-sqlite -qt-zlib
-make libs -device imx6 -optimized-qmake -reduce-relocations -reduce-exports -release
-nomake examples -nomake tests
-sysroot /home/tom/Downloads/qt/rootfs -no-gcc-sysroot
note: /home/tom/Downloads/qt/rootfs is an empty directory
note2: in the CROSS_COMPILE i make it end in "arm-fsl-linux-gnueabi-" so when it starts using g++ it ends up like arm-fsl-linux-gnueabi-g++
once configure finishes i do:
sudo make install@
and then go into the subprojects to compile them
export QTDIR QT_PLUGIN_PATH QMAKESPEC PATH QT_INSTALL_PREFIX SQLITE3SRCDIR
sudo make install
the bad news: i've done a few subprojects but can't get qtquick1, qtdeclarative and qtwebkit running.
qtquick1 fails in the follwoing manner:
@make: Leaving directory
/home/tom/Downloads/qt/qt-everywhere-opensource-src-5.1.0/qtquick1/src/imports' cd shaders/ && ( test -e Makefile || /opt/qt5.1/bin/qmake /home/tom/Downloads/qt/qt-everywhere-opensource-src-5.1.0/qtquick1/src/imports/shaders/shaders.pro -o Makefile ) && make -f Makefile make: Entering directory/home/tom/Downloads/qt/qt-everywhere-opensource-src-5.1.0/qtquick1/src/imports/shaders'
arm-none-linux-gnueabi-g++ -c -pipe -O2 -fvisibility=hidden -fvisibility-inlines-hidden -std=c++0x -fno-exceptions -Wall -W -D_REENTRANT -fPIC -DQT_NO_LIBUDEV -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_PLUGIN -DQT_OPENGL_LIB -DQT_DECLARATIVE_LIB -DQT_WIDGETS_LIB -DQT_SCRIPT_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I/home/tom/Downloads/qt/qt-everywhere-opensource-src-5.1.0/qtbase/mkspecs/arm-none-linux-gnueabi-g++ -I. -I/usr/local/arm-2009q1/arm-none-linux-gnueabi/libc/usr/include -I/home/tom/Downloads/qt/rootfs/opt/qt5.1/include -I/home/tom/Downloads/qt/rootfs/opt/qt5.1/include/QtOpenGL -I../../../include -I../../../include/QtDeclarative -I/home/tom/Downloads/qt/rootfs/opt/qt5.1/include/QtWidgets -I/home/tom/Downloads/qt/rootfs/opt/qt5.1/include/QtScript -I/home/tom/Downloads/qt/rootfs/opt/qt5.1/include/QtGui -I/home/tom/Downloads/qt/rootfs/opt/qt5.1/include/QtCore -I.moc/release-shared -o .obj/release-shared/qmlshadersplugin_plugin.o qmlshadersplugin_plugin.cpp
In file included from shadereffectitem.h:47:0,
shadereffectsource.h:46:24: fatal error: QGLFunctions: No such file or directory@
According this link : http://qt-project.org/doc/qt-4.8/qglfunctions.html
QGLFunctions depend on OpenGL.
Unfortunately, it seems that qmlshadersplugin needs OpenGL...
thanks bmor, that is good to know !
i have given up on trying to get qt compiling with qtquick (1 & 2) and as a result i also don't have webkit.
i might give it another try when i can get opengl running on the box later.
i hope you have more luck !