Shiner: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
No edit summary
 
No edit summary
Line 1: Line 1:
=Shiner=
[[Category:Devices]]


{| class="infotable line"
= Shiner =
! Architecture
 
! '''<span class="caps">ARM</span>'''
{|
!Architecture
!'''ARM'''
|-
|-
| <span class="caps">CPU</span>
|CPU
| <span class="caps">ARM</span> Cortex A9
|ARM Cortex A9
|-
|-
| <span class="caps">RAM</span>
|RAM
| 512 MB
|512 MB
|-
|-
| <span class="caps">GPU</span>
|GPU
| PowerVR 3D <span class="caps">GPU</span>
|PowerVR 3D GPU
|-
|-
| Hardware acceleration
|Hardware acceleration
| OpenGL ES 2.0
|OpenGL ES 2.0
|-
|-
| Qt 4.8 (eglnullws/QWS)
|Qt 4.8 (eglnullws/QWS)
| Supported, with OpenGL
|Supported, with OpenGL
|-
|-
| Qt 5.0 (eglfs/QPA)
|Qt 5.0 (eglfs/QPA)
| Supported, with OpenGL
|Supported, with OpenGL
|}
|}


==Device Information==
== Device Information ==


The Shiner is made by [http://www.tridentmicro.com/producttree/stb/cable-iptv-stb/pnx847x/ Trident Microsystems] ''[tridentmicro.com]''.
The Shiner is made by &quot;Trident Microsystems&amp;quot;: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 (<span class="caps">STB</span>s) on broadband networks and for online video on demand (<span class="caps">VOD</span>) on home networks.
# &quot;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.&quot;


===Software===
=== Software ===


# Trident <span class="caps">SDK</span> 3.3.0
# Trident SDK 3.3.0


===Hardware===
=== Hardware ===


# Chip Type :- Shiner
# Chip Type :- Shiner
Line 40: Line 42:
# Template :- 0A
# Template :- 0A


===Assumptions===
=== Assumptions ===


# Trident reference software <span class="caps">SDK</span> 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 configured with &quot;source ./pnx8400_a9_env.sh sage_512M retail ipstb_license_free pnx8473 singlehd_512M.ini&amp;quot;
# Trident reference software <span class="caps">SDK</span> 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 <span class="caps">SDK</span> 3.3.0” is installed at &lt;Trident <span class="caps">SDK</span> 3.3.0 installation path&gt;
# &quot;Trident SDK 3.3.0&amp;quot; is installed at &lt;Trident SDK 3.3.0 installation path&amp;gt;
# <span class="caps">EGL</span> and OpenGL ES 2.0 headers are located at &lt;path to <span class="caps">EGL</span> headers&gt;
# EGL and OpenGL ES 2.0 headers are located at &lt;path to EGL headers&amp;gt;
# <span class="caps">EGL</span> and OpenGL ES 2.0 libs are located at &lt;path to <span class="caps">EGL</span> libs&gt;
# EGL and OpenGL ES 2.0 libs are located at &lt;path to EGL libs&amp;gt;


==Qt 4.8.0 EGLNullWS/QWS==
== Qt 4.8.0 EGLNullWS/QWS ==


===Getting Qt 4.8.0 with Trident’s mkspecs===
=== Getting Qt 4.8.0 with Trident's mkspecs ===


# Extract qt-everywhere-opensource-src-4.8.0.tar.gz
# 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”
# Create folder named &quot;linux-trident-sage-g+''&quot; in &quot;qt-everywhere-opensource-src-4.8.0/mkspecs/qws&amp;quot;<br /># Get following files in &quot;qt-everywhere-opensource-src-4.8.0/mkspecs/qws/linux-trident-sage-g&quot;<br />## https://gitorious.org/qt-platform-mkspecs/qt-platform-mkspecs/blobs/master/4.8/qws/linux-trident-sage-g/qmake.conf<br />## https://gitorious.org/qt-platform-mkspecs/qt-platform-mkspecs/blobs/master/4.8/qws/linux-trident-sage-g/qplatformdefs.h
# Get following files in “qt-everywhere-opensource-src-4.8.0/mkspecs/qws/linux-trident-sage-g++”
<br />h3. Compiling Qt 4.8.0 &lt;
## https://gitorious.org/qt-platform-mkspecs/qt-platform-mkspecs/blobs/master/4.8/qws/linux-trident-sage-g++/qmake.conf
<br />Set the development environment variables using following commands<br /> <code><br /> cd /path/to/Trident_SDK_3.3.0/<br /> export MY_BUILDTREE=/path/to/Trident_SDK_3.3.0/SRC<br /> </code><br />Configure, build and install Qt 4.8.0 as<br /> <code><br /> $ /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 <s>multimedia
## https://gitorious.org/qt-platform-mkspecs/qt-platform-mkspecs/blobs/master/4.8/qws/linux-trident-sage-g++/qplatformdefs.h
<br /> $ make<br /> $ make install<br /> </code><br />After the build succeeds set following environment variables before building any Qt Apps,<br /># QTDIR=/path/to/installation/directory/qt-everywhere-opensource-src-4.8.0-qws/<br /># PATH=/path/to/installation/directory/qt-everywhere-opensource-src-4.8.0-qws/bin/
 
<br />Before executing any Qt applications on target copy &quot;/path/to/installation/directory/qt-everywhere-opensource-src-4.8.0-qws&amp;quot; from host on target at &quot;/path/to/installation/directory/qt-everywhere-opensource-src-4.8.0-qws&amp;quot; on target file system
===Compiling Qt 4.8.0 &lt;===
<br />h2. Qt 5.0 EGLFS/QPA
 
<br />Only QtBase module is tested.
Set the development environment variables using following commands Configure, build and install Qt 4.8.0 as After the build succeeds set following environment variables before building any Qt Apps,
<br />h3. Compiling Qt 5.0  
 
<br />One need to pass following &quot;device-option&amp;quot;s<br /># SDK_BUILDTREE=&lt;Trident SDK 3.3.0 installation path&amp;gt;/SRC<br /># CROSS_COMPILE=&lt;Trident SDK 3.3.0 installation path&amp;gt;/SRC/open_source_archive/linux/toolchains/gcc-4.5.2_uclibc/usr/bin/arm-linux-uclibcgnueabi</s>
# <span class="caps">QTDIR</span>=/path/to/installation/directory/qt-everywhere-opensource-src-4.8.0-qws/
# SDK_BUILDSPEC=&lt;build specification for given board&amp;gt;
# <span class="caps">PATH</span>=/path/to/installation/directory/qt-everywhere-opensource-src-4.8.0-qws/bin/
# SDK_INCDIR_EGL_OPENGL_ES2=&lt;path to EGL headers&amp;gt;
 
# SDK_LIBDIR_EGL_OPENGL_ES2=&lt;path to EGL libs&amp;gt;
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 <span class="caps">EGLFS</span>/QPA==
 
Only QtBase module is tested.
 
===Compiling Qt 5.0===
 
One need to pass following “device-option“s
 
# <span class="caps">SDK</span>_BUILDTREE=&lt;Trident <span class="caps">SDK</span> 3.3.0 installation path&gt;/SRC
# <span class="caps">CROSS</span>_COMPILE=&lt;Trident <span class="caps">SDK</span> 3.3.0 installation path&gt;/SRC/open_source_archive/linux/toolchains/gcc-4.5.2_uclibc/usr/bin/arm-linux-uclibcgnueabi-
# <span class="caps">SDK</span>_BUILDSPEC=&lt;build specification for given board&gt;
# <span class="caps">SDK</span>_INCDIR_EGL_OPENGL_ES2=&lt;path to <span class="caps">EGL</span> headers&gt;
# <span class="caps">SDK</span>_LIBDIR_EGL_OPENGL_ES2=&lt;path to <span class="caps">EGL</span> libs&gt;
 
Configure, build and install Qt 5.0 as After the build succeeds set following environment variables before building any Qt Apps,
 
# <span class="caps">QTDIR</span>=/path/to/installation/directory/qt-gitorious-opensource-src-5.0/
# <span class="caps">PATH</span>=/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


===Categories:===
Configure, build and install Qt 5.0 as<br /> <code><br /> $ 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=&lt;Trident SDK 3.3.0 installation path&amp;gt;/SRC  <s>device-option CROSS_COMPILE=&lt;Trident SDK 3.3.0 installation path&amp;gt;/SRC/open_source_archive/linux/toolchains/gcc-4.5.2_uclibc/usr/bin/arm-linux-uclibcgnueabi</s>  -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<br /> $ make module-qtbase<br /> $ make module-qtbase-install_subtargets<br /> </code><br />After the build succeeds set following environment variables before building any Qt Apps,<br /># QTDIR=/path/to/installation/directory/qt-gitorious-opensource-src-5.0/<br /># PATH=/path/to/installation/directory/qt-gitorious-opensource-src-5.0/bin/


* [[:Category:Devices|Devices]]
Before executing any Qt applications on target copy &quot;/path/to/installation/directory/qt-gitorious-opensource-src-5.0&amp;quot; from host on target at &quot;/path/to/installation/directory/qt-gitorious-opensource-src-5.0&amp;quot; on target file system

Revision as of 10:25, 24 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&quot;:http://www.tridentmicro.com/producttree/stb/cable-iptv-stb/pnx847x/.

  1. "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

  1. Trident SDK 3.3.0

Hardware

  1. Chip Type :- Shiner
  2. Chip Rev :- M1
  3. Template :- 0A

Assumptions

  1. 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&quot;
  2. 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.
  3. Can run Trident's simple test apps on reference board to test OpenGL ES 2.0 and media playback.
  4. "Trident SDK 3.3.0&quot; is installed at <Trident SDK 3.3.0 installation path&gt;
  5. EGL and OpenGL ES 2.0 headers are located at <path to EGL headers&gt;
  6. EGL and OpenGL ES 2.0 libs are located at <path to EGL libs&gt;

Qt 4.8.0 EGLNullWS/QWS

Getting Qt 4.8.0 with Trident's mkspecs

  1. Extract qt-everywhere-opensource-src-4.8.0.tar.gz
  2. Create folder named "linux-trident-sage-g+" in "qt-everywhere-opensource-src-4.8.0/mkspecs/qws&quot;
    # 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 <


Set the development environment variables using following commands

<br /> cd /path/to/Trident_SDK_3.3.0/<br /> export MY_BUILDTREE=/path/to/Trident_SDK_3.3.0/SRC<br />


Configure, build and install Qt 4.8.0 as

<br /> $ /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 <s>multimedia
<br /> $ make<br /> $ make install<br />


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&quot; from host on target at "/path/to/installation/directory/qt-everywhere-opensource-src-4.8.0-qws&quot; 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&quot;s
# SDK_BUILDTREE=<Trident SDK 3.3.0 installation path&gt;/SRC
# CROSS_COMPILE=<Trident SDK 3.3.0 installation path&gt;/SRC/open_source_archive/linux/toolchains/gcc-4.5.2_uclibc/usr/bin/arm-linux-uclibcgnueabi

  1. SDK_BUILDSPEC=<build specification for given board&gt;
  2. SDK_INCDIR_EGL_OPENGL_ES2=<path to EGL headers&gt;
  3. SDK_LIBDIR_EGL_OPENGL_ES2=<path to EGL libs&gt;

Configure, build and install Qt 5.0 as

<br /> $ 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=&lt;Trident SDK 3.3.0 installation path&amp;gt;/SRC  <s>device-option CROSS_COMPILE=&lt;Trident SDK 3.3.0 installation path&amp;gt;/SRC/open_source_archive/linux/toolchains/gcc-4.5.2_uclibc/usr/bin/arm-linux-uclibcgnueabi</s>  -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<br /> $ make module-qtbase<br /> $ make module-qtbase-install_subtargets<br />


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&quot; from host on target at "/path/to/installation/directory/qt-gitorious-opensource-src-5.0&quot; on target file system