I am trying to compile Qt 5.3.2 for i.MX6, using Yocto. I am using the "dizzy" branches of both "fsl-community-bsp" and "meta-qt5".
The compilation succeeds, I compile "meta-toolchain-qt5" and I configure QtCreator... actually I am able to run minimal Qt applications (both widget-based and QML-based). My problem comes when I want to use the QML WebView element... In such a scenario the application crashes with various (random?) errors: SIGILL, SIGABRT, pointer exceptions and so on... as if someone is overwriting the code memory with garbage... Here it the full stacktrace (taken from QtCreator):
My source code is very simple... my "main.cpp" is the following:
#include <QApplication>
#include <QQuickView>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QQuickView view;
view.setSource(QUrl("qrc:/main.qml"));
view.showFullScreen();
return app.exec();
}
My "main.qml" is the following:
import QtQuick 2.3
import QtWebKit 3.0
Rectangle {
visible: true
x: 0
y: 0
width: 480
height: 272
Text {
text: qsTr("Hello World")
x: 0
y: 0
}
WebView
{
id: webview
width: 480
height: 272
url: "qrc:/test.html"
x: 0
y: 0
}
}
"test.html" is a standard HTML page (only some sample text in it)...
If I remove "WebView" from my QML the application works fine... Any ideas about what is causing the problem? Does someone else has similar problems?
If it helps, please consider that using Yocto I have compiled the image named "fsl-image-multimedia-full" and all Yocto and meta-qt5 files are unchanged, except for the fact that I made some modifications to avoid compiling Qt examples, to exclude xcb and dbus support and to include sqlite support.
Ok, I've found a working solution... Playing with framebuffer settings, I've succeeded in making my test working passing "fbpix=BGR32" to the kernel command line...
My command line is now:
console=ttymxc3,115200n8 root=/dev/mmcblk0p2 rootwait rw video=mxcfb0:dev=lcd,SAMSUNG-LMS700,if=RGB24,fbpix=BGR32 splash consoleblank=0 video=mxcfb1:off video=mxcfb2:off