There are specific configuration and library requirements depending on the target platform you are working with.
The following are specific configurations and considerations for Linux, x86, and armle targets:
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:
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.
Storyboard requires a libts-0.0.so.0 to be in the lib path to use the tslib-plugin. If the board has libts-1.0.so.0 simply create a symlink for libts-0.0.so.0 and point it at the libts-1.0.so.0.
ln -s /lib/libts-1.0.so.0 /lib/libts-0.0.so.0
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
Executing the above command and touching the screen should present characters to the terminal verifying you have the right device.
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:
Get the mtcalib sample from the Crank public SVN. Importing sample projects from Crank's public SVN can be found here.
Run sbengine with the mtcalib sample:
sbengine -omtdev,calibrate mtcalib.gapp
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
The following are specific configurations and considerations for Microsoft WinCE, Compact7 win32, and armle targets.
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
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