Broadcom97425-BCM7425-Qt4dot8-eglfs-QPA

From Qt Wiki
Revision as of 10:55, 24 February 2015 by Maintenance script (talk | contribs)
Jump to navigation Jump to search


Building AppLibs/RefSW for Qt

  1. Locate document named "BroadcomReferencePlatformSetup.pdf&quot; (Usually this will be inside a tar ball named on the lines of refsw_release_<chip-name&gt;<date&gt;.tgz)
    # Follow the instructions in "BroadcomReferencePlatformSetup.pdf&quot; to setup the Linux build machine
    # Locate document named "AppLibsInstallationBuildGuide.pdf&quot; (Usually this will be inside a tar ball named on the lines of applibs_release
    <date&gt;.tgz)
  2. Follow the instructions in "AppLibsInstallationBuildGuide.pdf&quot; to build Applibs

Qt 4.8 eglfs / QPA

  1. Obtain qt-4.8.0 release from "Qt Download site&quot;:http://get.qt.nokia.com/qt/source/qt-everywhere-opensource-src-4.8.0.tar.gz and extract it in a working folder
  2. Obtain 7425 specific files from "qt-platform-mkspecs git&quot;:http://gitorious.org/qt-platform-mkspecs (look for folder "4.8&quot;)
  3. Copy folder named "linux-7425nxs-mipsel-uclibc-g+" to <qt-4.8.0-sources&gt;/mkspecs/qpa
    # Set following environment variables in the shell before configuring/building Qt,
    '
    BCM_APPLIBS_PATH=<path-till-Applibs-folder&gt;/AppLibs
    '
    BCM_NEXUS_PATH=<path-till-Applibs-folder&gt;/nexus
    '
    DEBUG=n
    '
    for example,
    $ export BCM_APPLIBS_PATH=/home/qtnokia/WorkDir/97425-P1/stb-rs_p2-al_p2dot1/AppLibs
    $ export BCM_NEXUS_PATH=/home/qtnokia/WorkDir/97425-P1/stb-rs_p2-al_p2dot1/nexus
    # Apply patch "7425nxs-eglfs.patch&quot; to eglfs Qt Lighthouse Driver located at <qt-4.8.0-sources&gt;/src/plugins/platforms/eglfs
    '
    $ cd <qt-4.8.0-sources&gt;/src/plugins/platforms/eglfs
    '
    $ patch -p4 < 7425nxs-eglfs.patch
    # Configure Qt as,
    '
    $ configure -qpa -arch mips -xplatform qpa/linux-nxs-mipsel-uclibc-g+ -depths 16,24,32 -no-largefile -no-accessibility * -opensource -verbose -system-zlib -system-libpng -system-libjpeg -system-freetype -fast -opengl -webkit -confirm-license * -release -make libs -xmlpatterns -exceptions -no-qt3support prefix /usr/local/qt-installs/qt480ga-nxs-qpa-rel
    # Build Qt as,
    '
    $ make
    # Install Qt on host as,
    ' $ make install


h2. Building Qt apps
# After the Qt build succeeds, set following environment variables on host before building any fullscreen OpenGL Qt App for the above build,
' QTDIR=/usr/local/qt-installs/qt480ga-nxs-qpa-rel
'
PATH=/usr/local/qt-installs/qt480ga-nxs-qpa-rel/bin:$PATH
# Ensure that following environment variables in the shell are set,
' BCM_APPLIBS_PATH=<path-till-Applibs-folder&gt;/AppLibs
'
BCM_NEXUS_PATH=<path-till-Applibs-folder&gt;/nexus
' BCM_TARGET_LIBDIR=<path-till-nfsrootfs-base-folder&gt;/romfs/lib
'
DEBUG=n
# Invoke qmake on the applications .pro file &#40;<qt-4.8.0-sources&gt;/examples/opengl/hello_gles2&amp;#41;
' $ qmake <application&gt;.pro
# Build the application sources as,
'
$ make
h2. Running Qt apps on target
# Ensure that folder "qt-installs/qt480ga-nxs-qpa-rel&quot; is copied on target file system at "/usr/local&quot;
' Note
after copying, the path should appear as "/usr/local/qt-installs/qt480ga-nxs-qpa-rel&quot;

  1. Copy the application binary and other required resource files on target file-system, say "/root&quot;
  2. Locate a shell script named "start&quot; in "/bin&quot; folder on target.
  3. Copy it in your app folder and edit the paths inside it.
  4. Launch application using same "start&quot; script as,
    • # ./start /root/app1/app1 -platform eglfs

NOTE: Before executing any Qt applications on target copy "qt-installs/qt480ga-nxs-qpa-rel&quot; on target at usr/local on target file system