Shiner
IMPORTANT: The content of this page is outdated. Reason: Old hardware and old Qt versions If you have checked or updated this page and found the content to be suitable, please remove this notice. |
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. |
Architecture | ARM |
---|---|
CPU | ARM Cortex A9 |
RAM | 512 MB |
GPU | PowerVR 3D GPU |
Hardware acceleration | OpenGL ES 2.0 |
Qt 4.8 (eglnullws/QWS) | Supported, with OpenGL |
Qt 5.0 (eglfs/QPA) | Supported, with OpenGL |
Device Information
The Shiner is made by Trident Microsystems.
- "The Trident PNX8472/ PNX8473 combines a unique array of worldclass, high-performance technologies for mainstream high-definition (HD) set-top boxes (STBs) on broadband networks and for online video on demand (VOD) on home networks."
Software
- Trident SDK 3.3.0
Hardware
- Chip Type :- Shiner
- Chip Rev :- M1
- Template :- 0A
Assumptions
- Trident reference software SDK 3.3.0 is configured with "source ./pnx8400_a9_env.sh sage_512M retail ipstb_license_free pnx8473 singlehd_512M.ini"
- Trident reference software SDK 3.3.0 is built on Host PC as conveyed in Trident's documentation given by Trident's Field Application Engineer.
- Can run Trident's simple test apps on reference board to test OpenGL ES 2.0 and media playback.
- "Trident SDK 3.3.0" is installed at <Trident SDK 3.3.0 installation path>
- EGL and OpenGL ES 2.0 headers are located at <path to EGL headers>
- EGL and OpenGL ES 2.0 libs are located at <path to EGL libs>
Qt 4.8.0 EGLNullWS/QWS
Getting Qt 4.8.0 with Trident's mkspecs
- Extract qt-everywhere-opensource-src-4.8.0.tar.gz
- Create folder named "linux-trident-sage-g+" in "qt-everywhere-opensource-src-4.8.0/mkspecs/qws"
- Get following files in "qt-everywhere-opensource-src-4.8.0/mkspecs/qws/linux-trident-sage-g"
Compiling Qt 4.8.0 <
Set the development environment variables using following commands
cd /path/to/Trident_SDK_3.3.0/
export MY_BUILDTREE=/path/to/Trident_SDK_3.3.0/SRC
Configure, build and install Qt 4.8.0 as
$ /path/to/qt-everywhere-opensource-src-4.8.0/configure -embedded arm -xplatform qws/linux-trident-sage-g''+ -little-endian -opensource -confirm-license -release -shared -verbose -qt3support -freetype -qt-sql-sqlite -system-libpng -system-libjpeg -no-openvg -no-rpath -qt-gfx-linuxfb -qt-gfx-transformed -qt-gfx-vnc -qt-gfx-multiscreen -qt-kbd-linuxinput -no-kbd-tty -qt-mouse-linuxinput -no-mouse-pc -xmlpatterns -exceptions -declarative -script -scripttools —prefix=/path/to/installation/directory/qt-everywhere-opensource-src-4.8.0-qws/ -make libs -make tools -make examples -make demos -make docs -make translations -webkit -javascript-jit -opengl es2 -plugin-gfx-eglnullws -qt-gfx-directfb -no-xvideo -multimedia
$ make
$ make install
After the build succeeds set following environment variables before building any Qt Apps,
- QTDIR=/path/to/installation/directory/qt-everywhere-opensource-src-4.8.0-qws/
- PATH=/path/to/installation/directory/qt-everywhere-opensource-src-4.8.0-qws/bin/
Before executing any Qt applications on target copy "/path/to/installation/directory/qt-everywhere-opensource-src-4.8.0-qws" from host on target at "/path/to/installation/directory/qt-everywhere-opensource-src-4.8.0-qws" on target file system
Qt 5.0 EGLFS/QPA
Only QtBase module is tested.
Compiling Qt 5.0
One need to pass following "device-option"s
- SDK_BUILDTREE=<Trident SDK 3.3.0 installation path>/SRC
- CROSS_COMPILE=<Trident SDK 3.3.0 installation path>/SRC/open_source_archive/linux/toolchains/gcc-4.5.2_uclibc/usr/bin/arm-linux-uclibcgnueabi-
- SDK_BUILDSPEC=<build specification for given board>
- SDK_INCDIR_EGL_OPENGL_ES2=<path to EGL headers>
- SDK_LIBDIR_EGL_OPENGL_ES2=<path to EGL libs>
Configure, build and install Qt 5.0 as
$ configure —prefix=/path/to/installation/directory/qt-gitorious-opensource-src-5.0 -release -opensource -confirm-license -shared -verbose -device linux-arm-trident-pnx8473-g++ -device-option TRIDENT_SHINER_SDK_BUILDTREE=<Trident SDK 3.3.0 installation path>/SRC -device-option CROSS_COMPILE=<Trident SDK 3.3.0 installation path>/SRC/open_source_archive/linux/toolchains/gcc-4.5.2_uclibc/usr/bin/arm-linux-uclibcgnueabi- -device-option TRIDENT_SHINER_SDK_BUILDSPEC=sage_512M-ipstb_license_free-gcc-4.5.2_uclibc-linux-retail -device-option TRIDENT_SHINER_SDK_INCDIR_EGL_OPENGL_ES2=/target_opt/OpenGLES20Headers/include -device-option TRIDENT_SHINER_SDK_LIBDIR_EGL_OPENGL_ES2=/target_opt/3ddrivers/usr/lib
$ make module-qtbase
$ make module-qtbase-install_subtargets
After the build succeeds set following environment variables before building any Qt Apps,
- QTDIR=/path/to/installation/directory/qt-gitorious-opensource-src-5.0/
- PATH=/path/to/installation/directory/qt-gitorious-opensource-src-5.0/bin/
Before executing any Qt applications on target copy "/path/to/installation/directory/qt-gitorious-opensource-src-5.0" from host on target at "/path/to/installation/directory/qt-gitorious-opensource-src-5.0" on target file system