BCM7425/Qt4dot8-eglnullws-QWS

From Qt Wiki
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 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 eglnullws / QWS

This details steps to build Qt with Qt's OpenGL graphics driver.
This OpenGL graphics driver supports execution of Single Qt app that uses QGLWidget as full-screen (examples/opengl/hello_gles2)

  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/qws
  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-eglnullws.patch" to eglnullws Qt GFX Driver located at <qt-4.8.0-sources>/src/plugins/gfxdrivers/eglnullws

' $ cd <qt-4.8.0-sources>/src/plugins/gfxdrivers/eglnullws ' $ patch -p5 < 7425nxs-eglnullws.patch

  1. Configure Qt as,

' $ configure -embedded mips -xplatform qws/linux-7425nxs-mipsel-uclibc-g+ -depths 16,24,32 -no-largefile -no-accessibility * -opensource -verbose -system-zlib -system-libpng -system-libjpeg -system-freetype -fast -plugin-gfx-eglnullws -qt-gfx-vnc * -opengl -webkit -confirm-license -release -make libs -xmlpatterns -exceptions -no-qt3support * -prefix /usr/local/qt-installs/qt480ga-nxs-qws-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-qws-rel ' PATH=/usr/local/qt-installs/qt480ga-nxs-qws-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-qws-rel" is copied on target file system at "/usr/local"

' Note- after copying, the path should appear as "/usr/local/qt-installs/qt480ga-nxs-qws-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 -qws -display eglnullws