BCM7425-Qt4dot8-eglfs-QPA: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 1: Line 1:
h2. Building AppLibs/RefSW for Qt
h2. Building AppLibs/RefSW for Qt


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


== Qt 4.8 eglfs / QPA ==
== Qt 4.8 eglfs / QPA ==


# Obtain qt-4.8.0 release from &quot;Qt Download site&amp;quot;:http://get.qt.nokia.com/qt/source/qt-everywhere-opensource-src-4.8.0.tar.gz and extract it in a working folder
# Obtain qt-4.8.0 release from "Qt Download site":http://get.qt.nokia.com/qt/source/qt-everywhere-opensource-src-4.8.0.tar.gz and extract it in a working folder
# Obtain 7425 specific files from &quot;qt-platform-mkspecs git&amp;quot;:http://gitorious.org/qt-platform-mkspecs (look for folder &quot;4.8&amp;quot;)
# Obtain 7425 specific files from "qt-platform-mkspecs git":http://gitorious.org/qt-platform-mkspecs (look for folder "4.8")
# Copy folder named &quot;linux-7425nxs-mipsel-uclibc-g+''&quot; to &lt;qt-4.8.0-sources&amp;gt;/mkspecs/qpa<br /># Set following environment variables in the shell before configuring/building Qt,<br />'''''' BCM_APPLIBS_PATH=&lt;path-till-Applibs-folder&amp;gt;/AppLibs<br />'''''' BCM_NEXUS_PATH=&lt;path-till-Applibs-folder&amp;gt;/nexus<br />'''''' DEBUG=n<br />'''''' for example,<br />'''''' $ export BCM_APPLIBS_PATH=/home/qtnokia/WorkDir/97425-P1/stb-rs_p2-al_p2dot1/AppLibs<br />'''''' $ export BCM_NEXUS_PATH=/home/qtnokia/WorkDir/97425-P1/stb-rs_p2-al_p2dot1/nexus<br /># Apply patch &quot;7425nxs-eglfs.patch&amp;quot; to eglfs Qt Lighthouse Driver located at &lt;qt-4.8.0-sources&amp;gt;/src/plugins/platforms/eglfs<br />'''''' $ cd &lt;qt-4.8.0-sources&amp;gt;/src/plugins/platforms/eglfs<br />'''''' $ patch -p4 &lt; 7425nxs-eglfs.patch<br /># Configure Qt as,<br />'''''' $ 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 <s>prefix /usr/local/qt-installs/qt480ga-nxs-qpa-rel<br /># Build Qt as,<br />'''''' $ make<br /># Install Qt on host as,<br />'''''' $ make install
# Copy folder named "linux-7425nxs-mipsel-uclibc-g+''" to <qt-4.8.0-sources>/mkspecs/qpa
<br />h2. Building Qt apps  
# Set following environment variables in the shell before configuring/building Qt,
<br /># After the Qt build succeeds, set following environment variables on host before building any fullscreen OpenGL Qt App for the above build,<br />'''''' QTDIR=/usr/local/qt-installs/qt480ga-nxs-qpa-rel<br />'''''' PATH=/usr/local/qt-installs/qt480ga-nxs-qpa-rel/bin:$PATH<br /># Ensure that following environment variables in the shell are set,<br />'''''' BCM_APPLIBS_PATH=&lt;path-till-Applibs-folder&amp;gt;/AppLibs<br />'''''' BCM_NEXUS_PATH=&lt;path-till-Applibs-folder&amp;gt;/nexus<br />'''''' BCM_TARGET_LIBDIR=&lt;path-till-nfsrootfs-base-folder&amp;gt;/romfs/lib<br />'''''' DEBUG=n<br /># Invoke qmake on the applications .pro file &amp;#40;&lt;qt-4.8.0-sources&amp;gt;/examples/opengl/hello_gles2&amp;amp;#41;<br />'''''' $ qmake &lt;application&amp;gt;.pro<br /># Build the application sources as,<br />'''''' $ make
'''''' BCM_APPLIBS_PATH=<path-till-Applibs-folder>/AppLibs
<br />h2. Running Qt apps on target  
'''''' BCM_NEXUS_PATH=<path-till-Applibs-folder>/nexus
<br /># Ensure that folder &quot;qt-installs/qt480ga-nxs-qpa-rel&amp;quot; is copied on target file system at &quot;/usr/local&amp;quot;<br />'''''' Note</s> after copying, the path should appear as &quot;/usr/local/qt-installs/qt480ga-nxs-qpa-rel&amp;quot;
'''''' DEBUG=n
# Copy the application binary and other required resource files on target file-system, say &quot;/root&amp;quot;
'''''' for example,
# Locate a shell script named &quot;start&amp;quot; in &quot;/bin&amp;quot; folder on target.
'''''' $ 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" 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
# 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>/AppLibs
'''''' BCM_NEXUS_PATH=<path-till-Applibs-folder>/nexus
'''''' BCM_TARGET_LIBDIR=<path-till-nfsrootfs-base-folder>/romfs/lib
'''''' DEBUG=n
# Invoke qmake on the applications .pro file (<qt-4.8.0-sources>/examples/opengl/hello_gles2)
'''''' $ qmake <application>.pro
# Build the application sources as,
'''''' $ make
 
h2. Running Qt apps on target  
 
# 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"
# Copy the application binary and other required resource files on target file-system, say "/root"
# Locate a shell script named "start" in "/bin" folder on target.
# Copy it in your app folder and edit the paths inside it.
# Copy it in your app folder and edit the paths inside it.
# Launch application using same &quot;start&amp;quot; script as,
# Launch application using same "start" script as,
#* # ./start /root/app1/app1 -platform eglfs
#* # ./start /root/app1/app1 -platform eglfs


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

Revision as of 10:59, 25 February 2015

h2. 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":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":http://gitorious.org/qt-platform-mkspecs (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

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

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