Skip to content
Switch branches/tags
Go to file
Cannot retrieve contributors at this time
Tools you will need to build GemRB:
- cmake
- make
- a C++11 compatible compiler (g++, clang, MSVC and mingw are known to work)
Required dependencies:
- ZLib
- Python 3.3 or better, compiled with shared libraries
- SDL 1.2 or SDL 2.0+ (2.0.12 has a palette issue causing piles to have black outlines)
Optional dependencies:
- OpenAL (for sound; preferred)
- SDL_mixer / SDL2_mixer (lighter alternative sound driver)
- (lib)PNG (for the png importer plugin)
- libvorbis (for ogg/vorbis support)
- FreeType 2.4.2+ (for the TTF fonts plugin)
- (lib)VLC 2.0+ (for movies in some mac distributions of the games)
- OpenGL/OpenGLES drivers and libraries.
- GLEW libraries (Windows only, required for OpenGL support)
When choosing SDL 1.2 or SDL 2.0.x, pass -DSDL_BACKEND=SDL (for 1.2) or
-DSDL_BACKEND=SDL2 (for 2.0) to cmake invocation. You can also invoke cmake
with -DSDL_BACKEND=Auto (default) or even without defining specific backend
for autodetection.
You can explicitly disable searching (and using) a particular optional
dependency by specifying -DUSE_foo=OFF flags (cumulative), where "foo" can be
any name from the above list.
Building GemRB on unix-like systems
The following commands will try to configure, make and install GemRB.
mkdir build
cd build
cmake .. [some options]
# Or, you can launch GUI:
cmake-gui ..
make install
By default, GemRB is installed into /usr/local ("fhs"). You can pass -DLAYOUT
with "home" or "opt" to change the general layout and -DPREFIX to change the
install path prefix. Check the toplevel CMakeLists.txt to get see all the
individual path components you can additionally alter.
Pass -DCMAKE_BUILD_TYPE=Debug to cmake if you want to create a debug build.
Pass -DNOCOLOR=1 if you want to disable colored console output, which is a
useful option for transparent terminal emulators or non white-on-black color
If you're on an exotic platform and get a lot of errors trying to build,
also pass -DDISABLE_WERROR=1, so warnings won't impede you. This option is
also suggested if you're making a source package.
If you want to build the OpenGL driver, first ensure you have a working SDL2
install and using SDL2 backend. Then, if you want the standard driver, pass
-DOPENGL_BACKEND=OpenGL and if you want the OpenGL ES driver, pass
Building on a Raspberry Pi is supported (tested under Raspbian/Raspberry Pi OS).
The build system will automaticalluy add -DOPENGL_BACKEND=GLES, -DSDL_BACKEND=SDL2
to the build options. By default, the build will try to use the legacy/Broadcom GLES libraries in /opt/vc.
If your system is using the Mesa OpenGL driver with KMS support, pass -DDISABLE_VIDEOCORE
to disable the usage of the legacy/Broadcom drivers and you can use either OpenGL or GLES
for the OPENGL_BACKEND option.
Note: the Pi4 does not support the legacy/Broadcom GLES drivers, so you'll have to explicitely
pass -DDISABLE_VIDEOCORE to the 'cmake' build options.
Please let us know if you encounter any problems while building.
Building GemRB with MSVC
Check this guide with detailed instructions for installing dependencies
and building GemRB:
Building GemRB with mingw
The following commands will try to configure, make and install GemRB.
mkdir build
cd build
cmake .. -G "MinGW MakeFiles"
mingw32-make install
By default, GemRB is installed into c:\Program Files\GemRB . Supporting
files are mostly installed into the same directory.
See the following for an extensive build walkthrough: