Target Configuration

When building a target configuration all of the application files and target binaries must be copied to the target system.  The following is a description of the files needed for the target system and their runtime requirements.

Application files

The deployment bundle must be put on the embedded target.  The Deployment bundle is exported from Storyboard Designer and for more information on exporting look at the section labeled “Exporting to a Storyboard Embedded Engine” in the Storyboard Designer User’s Guide.

The deployment bundle includes:

  • Storyboard application file (.gapp)

  • Scripts: these are lua files which should be in the “scripts/” directory

  • Images: these are the image assets required and should be in the “images/” directory

  • Fonts: these are all of the font files required and should be in the “fonts/” directory.

* The directory structure below the root directory of the deployment bundle should not be changed from that export from Designer. All paths for images, scripts and fonts are relative to the base directory that the Storyboard application file is in.

Engine and Plugins

An engine execution environment is provided for each support operating system, architecture and rendering system.  The target system should be configured with the Engine (sbengine) and plugins required for the target application.  All plugins are loaded via the GRE_PLUGINS environment variable.  This variable can be set to the directory containing the plugins or to a “;” (Windows) or “:” (Unix’ish) separated list of plugins to load.

For example, to load only the lua and timer plug-ins on a Linux system:

export GRE_PLUGINS=/lib/gre/libgre-plugin-lua.so:/lib/gre/libgre-plugin-timer.so

To load all of the plug-ins in the directory /lib/gre:

export GRE_PLUGINS=/lib/gre

System specific requirements

The following is a list of currently support target configurations and the requirements and notes for each.

Linux SDL

Operating System: Linux

Render Manager: SDL

Architecture: X86

Requirements:

This build requires a working copy of the Simple Direct Media Library (SDL) with a minimum version of 1.2.  This build uses the Freetype library for font loading and rendering.

If your application uses the Storyboard IO library then the linux kernel must have mqueue support.

Libraries:
  • libSDL.so

  • libfreetype.so

Linux FBDEV

Operating System: Linux

Render Manager: FBDEV

Architecture X86, ARMLE, SH

Requirements:

This build renders directly to the Linux framebuffer device (/dev/fb0).  No other Graphical User Interface should be running when Storyboard is started as it assumes control of the framebuffer device.  This build also uses the Freetype library for font loading and rendering.  

For the ARM version a plugin is available which supports a touchscreen device through the use of tslib (libgre-plugin-tslib.so).  This plugin will use the standard tslib environment variables in order to find and configure the touch device as follows:

export TSLIB_CONSOLEDEVICE=none

export TSLIB_TSEVICE=/dev/input/ts0

export TSLIB_CALIBFILE=/etc/pointercal

export TSLIB_CONFFILE=/etc/ts.conf

It is assumed that the touch device has been configured previously.  In order to configure the touch device please run “ts_calibrate” which is part of the tslib distribution or build for your system.

If your application uses the Storyboard IO library then the linux kernel must have mqueue support.

Libraries:
  • libfreetype.so

  • libts.so (only for tslib plugin)

Extra Render Manager Options:
  • fullscreen: run in fullscreen mode

  • fb=[device path]: the path to the framebuffer device to use (default=/dev/fb0)

Linux DirectFB

Operating System: Linux

Render Manager: DIRECTFB

Architecture X86, ARMLE, SH

Requirements:

This build renders directly to Linux DirectFB 1.4.

It is assumed that the touch device has been configured previously.

If your application uses the Storyboard IO library then the linux kernel must have mqueue support.

Libraries:
  • libfreetype.so

  • libfusion.so

  • libdirectfb.so

  • libdirect.so

Extra Render Manager Options:
  • dumpconfig: dump the layer and graphics configuration information

  • double: enable double buffering (fullscren redraws)

  • layer=[index]: set the default layer for directfb rendering (default=0)

Linux OpenVG 1.x

Operating System: Linux

Render Manager: OpenVG

Architecture ARMLE (Beagleboard)

Requirements:

This build renders using OpenVG 1.x as supplied by the PowerVR SDK for the OMAP3.

It is assumed that the touch device has been configured previously.

If your application uses the Storyboard IO library then the linux kernel must have mqueue support.

Libraries:
  • libfreetype.so

  • libOpenVG.so

  • libEGL.so

  • libVGU.so

  • libIMGegl.so

  • libsrv_um.so

Extra Render Manager Options:
  • quality=[0|1|2]: set the rendering quality. 0=non antialiased, 1=faster, 2=better (default=non antialiased)

Linux OpenGL ES 1.x

Operating System: Linux

Render Manager: OpenGL ES 1.x

Architecture ARMLE (Beagleboard)

Requirements:

This build renders using OpenGL Es 1.x as supplied by the PowerVR SDK for the OMAP3.

It is assumed that the touch device has been configured previously.

If your application uses the Storyboard IO library then the linux kernel must have mqueue support.

Libraries:
  • libfreetype.so

  • libOpenGLCM.so

  • libEGL.so

  • libIMGegl.so

  • libsrv_um.so

Extra Render Manager Options:
  • quality=[0|1|2]: set the rendering quality including shade model and texture filter. 0=linear/flat, 1=nearest/smooth, 2=nearest/smooth (default=linear/flat)

Neutrino SDL

Operating System: Neutrino 6.4.0

Render Manager: SDL

Architecture: X86

Requirements:

This build requires a working copy of the Simple Direct Media Library (SDL) with a minimum version of 1.2.  This build uses the Freetype library for font loading and rendering.   SDL for Neutrino is built on top of the Photon microGUI and therefore requires Photon to be running on your system.  A precompiled version of SDL for Neutrino can be found on the Crank Software website (www.cranksoftware.com).

If your application uses the Storyboard IO library then a functional mqueue must be running.

Libraries:
  • libSDL.so

  • libfreetype.so

  • libph.so

  • libasound.so

Neutrino Advanced Graphics

Operating System: QNX Neutrino 6.4.

Render Manager: Advanced Graphics

Architecture: X86, ARMLE, PPCBE, SH

Requirements:

This build uses the Graphics Framework API for all rendering and the Font Fusion libraries for font loading and rendering.  When running the Engine the display manager (io-display) must be running with a functional graphics driver and Photon must not be running.

If your application uses the Storyboard IO library then a functional mqueue must be running.

Libraries:
  • libgf.so

  • libimg.so (for image loading, and all required image plugins)

  • libFF-T2K.so

Extra Render Manager Options:
  • raw_input=[touch device path] the path to a touchscreen device as defined by a devi-* driver. The driver must be run with the "-Pr" option

Microsoft WinCE

Operating System: WinCE 6.0

Render Manager: WIN32

Architecture: X86, ARMLE

Requirements:

Alpha blending must be compiled in to the target WinCE image

To utilize the -v verbosity options, a console must be compiled in to the target WinCE image

Use command line option to pass GRE_PLUGINS directory since WinCE does not support enviroment variables. Eg: sbengine -omodel_mgr,plugin_path="/Temp"

liblua.dll must reside in the same directory as sbengine.exe, due to the lack of a PATH environment variable

Libraries:
  • libgwes.dll Must be built into target WinCE image

Extra Render Options:
  • fullscreen: Removes the window border and fills the display outside of the application area

  • dumpcaps: Print the device capabilities and acceleration flags