Open Source Components for the Native SDK for BlackBerry® Tablet OS

Libraries Includes in Tablet OS

Tablet OS bundles a comprehensive list of Proprietary and OSS libraries. As of the time of writing this page, the list of bundled Open Source libraries is: bzip, c-ares, CURL, EGL, expat, FreeType, Fontconfig, ICU, libiconv, libxml2, Ncurses, OpenAL, OpenGL ES, OpenKODE, OpenSSL, SQLite, zlib.

The components listed below make additional Open Source libraries available to the developers:

 

Media Components
The following compoments are related to multi-media processing

OpenAL
OpenAL (Open Audio Library) is a cross-platform 3D audio API appropriate for use with gaming applications and many other types of audio applications. The ported code is available at github.com/blackberry/OpenAL.
Also see - OpenAL at CreativeLabs and OpenAL Soft.
Note - the binary is not in the Tablet OS but is pre-bundled with the NDK.

ALUT
ALUT (OpenAL Utility Toolkit) is a companion toolkit to OpenAL; its often bundled together and that is the case for us.
The ported code is available at github.com/blackberry/ALUT. Also see - ALUT at CreativeLabs

Ogg Vorbis
Ogg Vorbis is an open, patent-free, professional audio encoding and streaming technology with all the benefits of Open Source. The ported code is available at github.com/blackberry/OggVorbis.
Also see - Vorbis.com.

SDL
SDL (Simple DirectMedia Layer) is a cross-platform multimedia library designed to provide low level access to audio, keyboard, mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer. The ported code is available at github.com/blackberry/SDL.
Also see - LibSDL.org.

 

Gaming Middleware
The following components are Physics Engines and other components:

Box2D
Box2D is a feature rich rigid body open source 2D physics engine for games. The ported code is available at github.com/blackberry/Box2D.
Also see - Box2D.org

Bullet Physics
Bullet Physics is a is an open source physics engine featuring 3D collision detection, soft body dynamics, and rigid body dynamics. The ported code is available at github.com/blackberry/Bullet.
Also see - BulletPhysics.org

OpenCV
OpenCV, the Open Computer Vision Library, is a library focused on real-time image processing. A partial port is available at github.com/blackberry/OpenCV.
Also see - code.OpenCV.org

RecastNavigation
Recast is a navigation mesh construction toolset for games. The ported code is available at github.com/blackberry/RecastNavigation.
Also see - RecastNavigation at Google Code

 

Game Engines
The following components are Game Engines:

Cocos2D-X
C++ port of cocos2d game engine. Multi-platform, light weight, developer-friendly, free and open source. The ported code was available at github.com/blackberry/Cocos2D-X but it has been upstreamed to Cocos2d-X and our copy will be removed very soon.
Also see - Cocos2D-X.org

GamePlay
GamePlay is a new open-source, cross-platform 3D native gaming framework making it easy to learn and write mobile and desktop games. The code is available at github.com/blackberry/GamePlay.
Also see - We are working on a micro-site at gameplay3d.org

Quake 3
Quake III Arena is a multiplayer first-person shooter video game developed by id Software. The engine is open source and has been ported to the PlayBook. You will need maps to run this game. The ported code is available at github.com/blackberry/Quake3.
Also see - Official Site

 

Libraries - General Purpose
The following components are general purpose libraries and frameworks:

Qt
Qt is a cross-platform application and UI framework with APIs for C++ programming and Qt Quick for rapid UI creation.
An initial port including QtCore, QtQuick and Lighthouse is available at github.com/blackberry/Qt. Also see - Qt.Nokia.Com

Boost
Boost is a collection of free peer-reviewed portable C++ source libraries. The latest release (1.47) runs correctly on Tablet OS using both GNU and Dinkum C++ libraries.
Also see - Boost.org.

PCRE
The PCRE (Perl Compatible Regular Expressions) library is a set of functions that implement regular expression pattern matching using the same syntax and semantics as Perl 5. The ported code is available at github.com/blackberry/PCRE.
Also see - PCRE.org.

 

Libraries - Languages
The following components are languages:

Erlang-OTP
Erlang-OTP is Erlang libraries and design principles. The ported code is available at github.com/blackberry/Erlang-OTP.
Also see - Erlang.org.

Lua
Lua is a powerful, fast, lightweight, embeddable scripting language. Lua combines simple procedural syntax with powerful data description constructs based on associative arrays and extensible semantics. The ported code is available at github.com/blackberry/Lua.
Also see - Lua.org.

SpiderMonkey
Mozilla SpiderMonkey is Mozilla’s JavaScript engine. The ported code is available at github.com/blackberry/SpiderMonkey.
Also see - developer.Mozilla.org.

v8
v8 is Google’s open source JavaScript engine. The ported code is available at github.com/blackberry/v8.
Also see - v8 at Google code

 

Other Components
Other native components include:

CouchDB
This is a port of the Apache CouchDB, the open source document-oriented database written mostly in the Erlang programming language. The ported code is available at github.com/blackberry/CouchDB.
Also see - CouchDB.Apache.org

CppUnit
A port of CppUnit. The ported code is available at github.com/blackberry/CppUnit.
Also see - Wikipedia

GetOpt
A port of a popular reimplementation of getopt(1). The ported code is available at github.com/blackberry/GetOpt.
Also see - GetOpt Home page

JsonCpp
A port of the JsonCpp project to BlackBerry 10. The ported code is available at github.com/blackberry/JsonCpp.
Also see - JSON_parser’s README

JSON_parser
A port of a fast, C-based, JSON parser. The ported code is available at github.com/blackberry/JSON_parser.
Also see - JSON_parser’s README

ZXing
A port of ZXing (Zebra Crossing) the multi-format 1D/2D barcode image processing library. The ported code is available at github.com/blackberry/ZXing.
Also see - ZXing at Google Code

 

Other Ports
The following are ports of popular open source projects that showcase the platform

DosBox
DosBox is an open source DOS emulator for BeOS, Linux, Mac OS X, OS/2, and Windows. Primarily focuses on running DOS Games. The ported code is available at github.com/blackberry/DosBox.
Also see - DosBox.com

OpenTTD
OpenTTD is a simulation game based on Transport Tycoon Deluxe. The ported code is available at github.com/blackberry/OpenTTD.
Also see - OpenTTD.org

The Battle of Wesnoth
The Battle for Wesnoth is a Free, turn-based tactical strategy game with a high fantasy theme, featuring both single-player, and online/hotseat multiplayer combat. The ported code is available at github.com/blackberry/Wesnoth.
Also see - Wesnoth.org.

DosBox, OpenTTD and Wesnoth use this small library

TouchControlOverlay
This library takes touchscreen input and converts it into keyboard and mouse events in a predefined way. The ported code is available at github.com/blackberry/TouchControlOverlay.