summaryrefslogtreecommitdiffstats
path: root/src/doc/src
diff options
context:
space:
mode:
authorLeena Miettinen <riitta-leena.miettinen@qt.io>2016-05-20 14:11:17 +0200
committerRainer Keller <Rainer.Keller@qt.io>2016-05-23 06:49:06 +0000
commita60d0bc6995994ea72a968ea7d933690bda51589 (patch)
tree95fe7ec739ef74437899f6f664fd59cab5844ce2 /src/doc/src
parent046ad79065faff555168bae13e3414b23b0521a8 (diff)
doc: Add emulator build instructions
Task-number: QTAUTO-141 Task-number: QTAUTO-142 Change-Id: I14fb793f937702dfcb564555334c8ce5726a4f24 Reviewed-by: Topi Reiniรถ <topi.reinio@theqtcompany.com>
Diffstat (limited to 'src/doc/src')
-rw-r--r--src/doc/src/qtee-build-emulator.qdoc207
-rw-r--r--src/doc/src/qtee-changelog.qdoc2
-rw-r--r--src/doc/src/qtee-index.qdoc1
-rw-r--r--src/doc/src/qtee-static-linking.qdoc2
4 files changed, 210 insertions, 2 deletions
diff --git a/src/doc/src/qtee-build-emulator.qdoc b/src/doc/src/qtee-build-emulator.qdoc
new file mode 100644
index 0000000..f87354d
--- /dev/null
+++ b/src/doc/src/qtee-build-emulator.qdoc
@@ -0,0 +1,207 @@
+/****************************************************************************
+**
+** Copyright (C) 2016 The Qt Company Ltd.
+** All rights reserved.
+** For any questions to The Qt Company, please use the contact form at
+** http://www.qt.io/contact-us
+**
+** This file is part of Qt for Device Creation.
+**
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
+**
+****************************************************************************/
+
+/*!
+ \page qtee-build-emulator.html
+ \title Building the Emulator from Sources
+ \previouspage qtee-static-linking.html
+ \nextpage qtee-changelog.html
+
+ To build the emulator from source, you need to build the emulator host part
+ and an emulator device image for a VirtualBox virtual machine.
+
+ \section1 Building Emulator Host Part from Sources
+
+ To build the emulator host part from sources:
+
+ \list 1
+ \li Create a directory for the emulator parts:
+
+ \badcode
+ mkdir emulator
+ cd emulator
+ \endcode
+
+ \li Clone the emulator repositories:
+
+ \badcode
+ git clone ssh://codereview.qt-project.org/tqtc-boot2qt/emulator-scripts.git scripts
+ git clone ssh://codereview.qt-project.org/tqtc-boot2qt/emulator emulator
+ cd emulator
+ git submodule update --init
+ cd ..
+ \endcode
+
+ \li Create a build directory for a shadow build:
+
+ \badcode
+ mkdir build
+ cd build
+ \endcode
+
+ \li Build the QtSystems module:
+
+ \badcode
+ mkdir qtsystems
+ pushd qtsystems
+ qmake "${EMULATOR_SOURCE_DIR}"/src/qtsystems
+ make
+ make install
+ popd
+ \endcode
+
+ \li Build the QtSimulator module:
+
+ \badcode
+ mkdir simulator
+ pushd simulator
+ qmake "${EMULATOR_SOURCE_DIR}"/src/qtsimulator
+ make
+ make install
+ popd
+ \endcode
+
+ \li Build the QtGlesStream component:
+
+ \badcode
+ mkdir qtglesstream
+ pushd qtglesstream
+ qmake "${EMULATOR_SOURCE_DIR}"/src/qtglesstream
+ make
+ make install
+ popd
+ \endcode
+
+ \li Build the emulator:
+
+ \badcode
+ mkdir emulator
+ pushd emulator
+ EMULATOR_INSTALL_DIR=../install/
+ qmake "${EMULATOR_SOURCE_DIR}" PREFIX="${EMULATOR_INSTALL_DIR}"
+ make
+ make install
+ popd
+ \endcode
+
+ \endlist
+
+ \section1 Building Emulator Device Image for VirtualBox VM
+
+ To build the emulator device image for a VirtualBox VM:
+
+ \list 1
+ \li Make sure that your Qt library is built with GLES support and
+ defaults to eglfs.
+ \li Make sure that the virtual machine is reachable with the IP address
+ \c 192.168.56.101.
+ \li Create a shared folder on the virtual machine and mount it to
+ \c /var/vqvideo by using the \c vboxsf kernel module and a mount
+ tool for the folder. You can get these from the VirtualBox addons
+ provided by Oracle or compile them yourself from the VirtualBox
+ sources.
+
+ \badcode
+ mkdir -p /var/vqvideo
+ mount.vboxsf vqvideo /var/vqvideo
+ \endcode
+
+ \li Set up \c appcontroller, as instructed in
+ \l{Setting Up appcontroller}.
+ \li Build the \c emulatorproxy daemon that is located in the emulator
+ sources in the \c src/helperlibs/proxy directory:
+
+ \badcode
+ cd "${EMULATOR_SOURCE_DIR}"/src/helperlibs/proxy
+ sdk-qmake && make
+ \endcode
+
+ \li Start the \c emulatorproxy daemon on the device to enable the
+ emulator to perform several tasks on the running machine. The daemon
+ will fork itself.
+ \li Clone the QtSimulator module from
+ \c ssh://codereview.qt-project.org/tqtc-boot2qt/qtsimulator, and
+ then build and deploy it on the device as any Qt module:
+
+ \badcode
+ git clone ssh://codereview.qt-project.org:29418/tqtc-boot2qt/qtsimulator
+ cd qtsimulator
+ sdk-qmake && make && make install
+ \endcode
+
+ \li Clone the QtGlesStream module from
+ \c ssh://codereview.qt-project.org/qt/tqtc-qtglesstream, and then
+ build and deploy it on the device:
+
+ \badcode
+ git clone ssh://codereview.qt-project.org:29418/qt/tqtc-qtglesstream
+ tqtc-qtglesstream
+ sdk-qmake && make && make install
+ \endcode
+
+ \li To enable handling touch and keyboard input, build the emulator
+ specific input plugin from the emulator sources in the
+ \c src/helperlibs/vinput directory using qmake and deploy it to the
+ Qt input plugin folder on the device:
+
+ \badcode
+ cd "${EMULATOR_SOURCE_DIR}"/src/helperlibs/vinput
+ sdk-qmake && make && make install
+ \endcode
+
+ \endlist
+
+ \section2 Setting Up appcontroller
+
+ To set up \c appcontroller:
+
+ \list 1
+ \li Clone the \c appcontroller sources from
+ \c git://codereview.qt-project.org/tqtc-boot2qt/appcontroller.
+ \li Build \c appcontroller using qmake and make.
+ \li Set \c appcontroller in the PATH.
+ \li Create a configuration file for \c appcontroller to configure device
+ specific variables for your application.
+ \endlist
+
+ An example \c /etc/appcontroller.conf configuration file looks like this:
+
+ \badcode
+ env=QT_QPA_GENERIC_PLUGINS=simulator
+ env=QT_QPA_EGLFS_HIDECURSOR=1
+ env=QML2_IMPORT_PATH=/data/user/qt/qmlplugins
+ env=QT_IM_MODULE=qtvirtualkeyboard
+ env=QTGLESSTREAM_DISPLAY=192.168.56.1
+ env=QT_QUICK_CONTROLS_STYLE=Flat
+ base=linux
+ platform=emulator
+ \endcode
+
+ \table
+ \row
+ \li \c base
+ \li Has to be \c linux
+ \row
+ \li \c platform
+ \li Has to be \c emulator
+ \row
+ \li \c env
+ \li All these variables will be added to the environment before
+ starting the application.
+ \endtable
+*/
diff --git a/src/doc/src/qtee-changelog.qdoc b/src/doc/src/qtee-changelog.qdoc
index 5e96d45..549fa3b 100644
--- a/src/doc/src/qtee-changelog.qdoc
+++ b/src/doc/src/qtee-changelog.qdoc
@@ -20,7 +20,7 @@
/*!
\page qtee-changelog.html
\title ChangeLog
- \previouspage qtee-customization.html
+ \previouspage qtee-build-emulator.html
\nextpage qtee-troubleshooting.html
\section1 Boot to Qt 5.6.0
diff --git a/src/doc/src/qtee-index.qdoc b/src/doc/src/qtee-index.qdoc
index 02403f1..79b622a 100644
--- a/src/doc/src/qtee-index.qdoc
+++ b/src/doc/src/qtee-index.qdoc
@@ -63,6 +63,7 @@
\list
\li \l{Linking to Static Builds of Qt}
\endlist
+ \li \l{Building the Emulator from Sources}
\li \l{ChangeLog}
\li \l{Troubleshooting}
\li \l{Known Issues}
diff --git a/src/doc/src/qtee-static-linking.qdoc b/src/doc/src/qtee-static-linking.qdoc
index 4014dbc..4357784 100644
--- a/src/doc/src/qtee-static-linking.qdoc
+++ b/src/doc/src/qtee-static-linking.qdoc
@@ -20,7 +20,7 @@
\page qtee-static-linking.html
\title Linking to Static Builds of Qt
\previouspage qtee-custom-embedded-linux-image.html
- \nextpage qtee-changelog.html
+ \nextpage qtee-build-emulator.html
The device-specific sysroots in \B2Q come with a dynamically linked version
of Qt libraries (\c *.so files). In some cases, using static linking may be