Broadcom97425-BCM7425-Qt4dot8-eglfs-QPA

From Qt Wiki
Revision as of 18:48, 24 March 2016 by Wieland (talk | contribs) (Nominated for deletion)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
This article is nominated for deletion. Reason: Duplicate of Broadcom97425-BCM7425-Qt4dot8-eglfs-QPA
Please raise your support/opposition to this nomination in the article's discussion page.
This article may require cleanup to meet the Qt Wiki's quality standards. Reason: Auto-imported from ExpressionEngine.
Please improve this article if you can. Remove the {{cleanup}} tag and add this page to Updated pages list after it's clean.

Building AppLibs/RefSW for Qt

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

Qt 4.8 eglfs / QPA

  1. Obtain qt-4.8.0 release from Qt Download site and extract it in a working folder
  2. Obtain 7425 specific files from qt-platform-mkspecs git (look for folder "4.8")
  3. Copy folder named "linux-7425nxs-mipsel-uclibc-g+" to <qt-4.8.0-sources>/mkspecs/qpa
  4. Set following environment variables in the shell before configuring/building Qt,

' BCM_APPLIBS_PATH=<path-till-Applibs-folder>/AppLibs ' BCM_NEXUS_PATH=<path-till-Applibs-folder>/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

  1. Apply patch "7425nxs-eglfs.patch" to eglfs Qt Lighthouse Driver located at <qt-4.8.0-sources>/src/plugins/platforms/eglfs

' $ cd <qt-4.8.0-sources>/src/plugins/platforms/eglfs ' $ patch -p4 < 7425nxs-eglfs.patch

  1. 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

  1. Build Qt as,

' $ make

  1. Install Qt on host as,

' $ make install

Building Qt apps

  1. 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

  1. Ensure that following environment variables in the shell are set,

' BCM_APPLIBS_PATH=<path-till-Applibs-folder>/AppLibs ' BCM_NEXUS_PATH=<path-till-Applibs-folder>/nexus ' BCM_TARGET_LIBDIR=<path-till-nfsrootfs-base-folder>/romfs/lib ' DEBUG=n

  1. Invoke qmake on the applications .pro file (<qt-4.8.0-sources>/examples/opengl/hello_gles2)

' $ qmake <application>.pro

  1. Build the application sources as,

' $ make

Running Qt apps on target

  1. Ensure that folder "qt-installs/qt480ga-nxs-qpa-rel" is copied on target file system at "/usr/local"

' Note- after copying, the path should appear as "/usr/local/qt-installs/qt480ga-nxs-qpa-rel"

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

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