Target Specific Configurations

Linux x86, armle


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 (  This plugin will use the standard tslib environment variables in order to find and configure the touch device as follows:

export TSLIB_TSDEVICE=/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 the ts_calibrate which is part of the tslib distribution or build for Linux systems.

  • (only for tslib plugin)


Storyboard requires a to be in the lib path to use the tslib-plugin. If the board has simply create a symlink for and point it at the

ln -s /lib/ /lib/


Setting up muti-touch with Storyboard is relatively straight forward. In most cases you only need to pass the multi-touch device to Storyboard using the following option:

sbengine -omtdev,device=[path to touch device] your_app.gapp

Determining the Touch Device

Typically the touch device is labelled as /dev/input/touch0. You can easily verify by using the cat utility:

cat /dev/input/touch0

Executing the above command and touching the screen should present characters to the terminal verifying you have the right device.

Input Bounds Parameters

Usually the sbengine mtdev plugin queries and receives the correct information from the touch device. Sometimes, due to manufacturer's not following the correct specifications etc., the touch device does not get initialized correctly and the touch coordinates are off. In that case you need to use the -omtdev,calibrate option in conjunction with the mtcalib application to acquire the bounds parameters for screen calibration. To do that you will need to follow these steps:

  1. Get the mtcalib sample from the Crank public SVN. Importing sample projects from Crank's public SVN can be found here.

  2. Run sbengine with the mtcalib sample:

    sbengine -omtdev,calibrate mtcalib.gapp

  3. Pass the bounds information that you acquired from the mtcalib application to your original sbengine commandline:

    sbengine -omtdev,device=/dev/input/touch0,bounds=0:0:32000:32000 your_app.gapp



If your application uses the Storyboard IO library then the Linux kernel must have SysV message queue support.

Microsoft WinCE, Compact7 win32, armle


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 SB_PLUGINS directory since WinCE does not support environment variables. E.g.: 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


  • libgwes.dll Must be built into target WinCE image

Yocto Jethro Linux kernel (3.14) OpenGL, FBDEV, armle

Using the Yocto Jethro Linux kernel (3.14) with the boundary devices branch for the nitrogen6x you might encounter flickering graphics.


echo 10 >/sys/devices/soc0/backlight_lvds0.17/backlight/backlight_lvds0.17/brightness