Shiner: Difference between revisions
No edit summary |
No edit summary |
||
Line 28: | Line 28: | ||
== Device Information == | == Device Information == | ||
The Shiner is made by | The Shiner is made by "Trident Microsystems":http://www.tridentmicro.com/producttree/stb/cable-iptv-stb/pnx847x/. | ||
# | # "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 === | === Software === | ||
Line 44: | Line 44: | ||
=== Assumptions === | === Assumptions === | ||
# Trident reference software SDK 3.3.0 is configured with | # 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. | # 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. | # 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 | # EGL and OpenGL ES 2.0 headers are located at <path to EGL headers> | ||
# EGL and OpenGL ES 2.0 libs are located at | # EGL and OpenGL ES 2.0 libs are located at <path to EGL libs> | ||
== Qt 4.8.0 EGLNullWS/QWS == | == Qt 4.8.0 EGLNullWS/QWS == | ||
Line 56: | Line 56: | ||
# Extract qt-everywhere-opensource-src-4.8.0.tar.gz | # Extract qt-everywhere-opensource-src-4.8.0.tar.gz | ||
# Create folder named | # 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" | |||
## https://gitorious.org/qt-platform-mkspecs/qt-platform-mkspecs/blobs/master/4.8/qws/linux-trident-sage-g/qmake.conf | |||
## https://gitorious.org/qt-platform-mkspecs/qt-platform-mkspecs/blobs/master/4.8/qws/linux-trident-sage-g/qplatformdefs.h | |||
h3. Compiling Qt 4.8.0 < | |||
Before executing any Qt applications on target copy | Set the development environment variables using following commands | ||
<code> | |||
cd /path/to/Trident_SDK_3.3.0/ | |||
export MY_BUILDTREE=/path/to/Trident_SDK_3.3.0/SRC | |||
</code> | |||
Configure, build and install Qt 4.8.0 as | |||
<code> | |||
$ /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 | |||
</code> | |||
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 | |||
h2. Qt 5.0 EGLFS/QPA | |||
Only QtBase module is tested. | |||
h3. 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 | |||
<code> | |||
$ 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 | |||
</code> | |||
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 |
Revision as of 10:45, 25 February 2015
Shiner
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":http://www.tridentmicro.com/producttree/stb/cable-iptv-stb/pnx847x/.
- "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"
h3. 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
h2. Qt 5.0 EGLFS/QPA
Only QtBase module is tested.
h3. 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