Qt wiki will be updated on October 12th 2023 starting at 11:30 AM (EEST) and the maintenance will last around 2-3 hours. During the maintenance the site will be unavailable.
BCM7425/Qt4dot8-eglnullws-QWS
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. |
h2. Building AppLibs/RefSW for Qt
- 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 "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 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)
- Obtain qt-4.8.0 release from Qt Download site and extract it in a working folder
- Obtain 7425 specific files from qt-platform-mkspecs git (look for folder "4.8")
- Copy folder named "linux-7425nxs-mipsel-uclibc-g+" to <qt-4.8.0-sources>/mkspecs/qws
- 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
- 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
- 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
- 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-qws-rel ' PATH=/usr/local/qt-installs/qt480ga-nxs-qws-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-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"
- 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.
- Launch application using same "start" script as,
' # ./start /root/app1/app1 -qws -display eglnullws