_______________________ /\ \ \_| Arx | | Libertatis | | __________________|__ \_/____________________/
Cross-platform port of Arx Fatalis
Arx Libertatis is based on the publicly released Arx Fatalis source code. The source code is availbale under the GPLv3+ license with some additonal terms - see the COPYING and LICENSE files for details.
Bug Tracker: https://bugs.arx-libertatis.org/
IRC: #arxfatalis on irc.freenode.net
- CMake 2.8.3+ (compile-time only, 2.8.5+ under Windows)
- Boost 1.48+ (headers only^1)
- GLM 0.9.5.0+
- FreeType 2.3.0+
- OpenAL 1.1+ (OpenAL Soft strongly recommended!)
iconutil (form Xcode) or icnsutil (Mac OS X only)
- Systems without Win32 or POSIX filesystem support will also the
systemlibraries from Boost.
There is currently a single rendering backend for OpenGL:
Arx Libertatis comes with an optional gui crash reporter which has additional dependencies:
- Qt 4.7+ or 5 (
- libcurl 7.20.0+ (not required on Windows)
- GDB (Linux-only, optional, run-time only)
- Qt 5 only
While the crash reporter can be run without GDB, it's main usefulness comes from generating and submitting detailed back-traces in the event of a crash. On non-window systems we use GDB, the GNU Debugger, to accomplish that. If you want to help out the arx project, please install GDB before running arx. GDB is however purely a run-time dependency and is not needed when building the crash reporter.
Git Build Dependencies
Building checkouts from git on their own requires additional dependencies:
These are needed to render and scale the svg icons, which currently only render correctly in in Inkscape. Release and development snapshot source tarballs include the pre-built icon files and do not need these dependencies to build.
To avoid the Inkscape (and ImageMagick) dependency for git builds, pre-build icons can be downloaded from http://arx-libertatis.org/files/data/ or the ArxLibertatisData repository. The required data version is listed in the VERSION file. Place
arx-libertatis-data-$version directory into the build directory or tell the build system about it's location using the
DATA_FILES cmake option.
Compile and install
For Linux run:
$ mkdir build && cd build $ cmake .. $ make
To install the binaries system-wide, run as root:
# make install
Alternatively you can run the game by specifying the full path to the
arx binary in the
The wiki has more detailed instructions on compiling under Linux.
BUILD_TOOLS(default=ON): Build tools
BUILD_IO_LIBRARY(default=ON): Build helper library for the Blender plugin
BUILD_CRASHHANDLER(default=ON): Enable the built-in crash handler (default OFF for Mac)
BUILD_CRASHREPORTER(default=ON): Build the Qt crash reporter gui - requires
BUILD_CRASHHANDLER(default OFF for Mac)
UNITY_BUILD(default=ON): Unity build (faster build, better optimizations but no incremental build)
CMAKE_BUILD_TYPE(default=Release): Set to
Debugfor debug binaries
DEBUG(default=OFF^1): Enable debug output and runtime checks
DEBUG_EXTRA(default=OFF): Expensive debug options
DEVELOPER(default=OFF): Enable build options suitable for developers^2
- Enabled automatically if
CMAKE_BUILD_TYPEis set to
- Currently this disables
UNITY_BUILDfor faster incremental builds and enables
DEBUG, unles those options have been explicitly specified by the user.
/usr/localon UNIX and
C:/Program Fileson Windows): Where to install Arx Libertatis
Set options by passing
-D<option>=<value> to cmake.
Backends that are not available are disabled by default. The
cmake run should display a summary of the enabled backends at the end.
Advanced options not listed here are documented in OPTIONS.md.
Data file, config and savegame locations
You will need to get either the full game or demo data of Arx Fatalis.
Where arx will look for data files and write config and save files depends on the operating system and environment - the wiki has a page detailing the full data directory detection algorithm.
For Unix-like systems:
The game will try to rename all used files in the user directory (but not the data directory) to lowercase on the first run. System-wide installations with case-sensitive filesystems always need to manually rename the files to lowercase. The
arx-install-data script can be used to install the data files, convert them to lowercase and verify that all required files are present.
To print all directories searched by arx, run
$ arx --list-dirs
By default, user, config and data files will be loaded from and saved to standard system locations depending on the OS:
- user and config dir:
%USERPROFILE%\My Documents\My Games\Arx Libertatis
Vista and up:
%USERPROFILE%\Saved Games\Arx Libertatis
- data dir: location stored in
Mac OS X:
- user and config dir:
- data dir:
Linux and others:
- user dir:
- config dir:
- data dir:
Arx will also try to load data files from the directory containing the game executable.
To use the current working directory for user, config and data files (e.g. for a portable install) run the game as
$ arx --no-data-dir --user-dir=. --config-dir=.
Provided the data files are installed at the correct location, you can simply play the game using the installed shortcut or by running
arx --help and
man arx output for more details.
arxunpak <pakfile> [<pakfile>...]
Extracts the .pak files containing the game assets.
arxsavetool <command> <savefile> [<options>...]- commands are:
Extract the contents of the given savefile to the current directory
add <savefile> [<files>...]
Add files to a savefile, create it if needed
Fix savegame issues created by previous builds of Arx Libertatis
view <savefile> [<ident>]
Print savegame information - leave out
<ident>to list root files
arx-install-data script can extract and install the game data under Linux and FreeBSD from the CD, demo, GOG.com installer or any Arx Fatalis install (such as on Steam) - simply run it and follow the GUI dialogs. Also see the wiki page on installing the game data under non-Windows systems.
Or, if you prefer a command-line interface, run it as
$ arx-install-data --cli
More options and required tools (depending on the source file) are documented in the help output:
$ arx-install-data --help
To build developer documentation (doxygen), run this from the build directory:
$ make doc
To check for coding style problems, run the following: (requires python)
$ make style