Source code


This page provides access to the source code repository of Solarus (the engine) and our games in their latest development version.

Solarus engine

The development version of Solarus is intented to be used by developers, contributors or people interested in the source code, but the code is often instable. If you just want the source code of the stable versions, have a look at the download page.

The source code is managed with git and the main repository is hosted by github. The Solarus repository contains the source of the engine and the quest editor.

  • You can create a local copy of the repository on your machine with the following git command:
git clone git://

To compile and install the engine from the source code, please read the compilation instructions or the install.txt file from the repository. The Doxygen online documentation is also available.


Our games are hosted in separate repositories:

Obviously, these repositories contain spoilers about what contain the games, so don’t look at the data files too deeply if you are more a player than a developer ;)


  1. Pingback: Welcome - Solarus

  2. Pingback: The map editor - Solarus

  3. Super thanks for this project.
    I actually downloaded it and compiled on my Debian system.
    Did you work for Nintendo or something?

  4. Thanks for your congrulations :)
    No, I never worked for Nintendo or any videogame company. I’m doing this on my free time. Solarus is completely independent.

  5. Trying to compile on another Debian system.

    failing with the following…

    /home/aaron/solarus/solarus/src/DialogResource.cpp: In static member function ‘static void DialogResource::initialize()’:
    /home/aaron/solarus/solarus/src/DialogResource.cpp:51: error: ‘lua_open’ was not declared in this scope
    make[2]: *** [src/CMakeFiles/solarus_static.dir/DialogResource.cpp.o] Error 1
    make[1]: *** [src/CMakeFiles/solarus_static.dir/all] Error 2

  6. root@debian2011:/home/aaron# dpkg -l | grep liblua
    ii liblua5.1-0 5.1.4-5 Simple, extensible, embeddable programming language
    ii liblua5.1-0-dev 5.1.4-5 Simple, extensible, embeddable programming language
    ii liblua5.1-curl-dev 0.3.0-3 libcURL development files for the Lua language version 5.1
    ii liblua5.1-curl0 0.3.0-3 libcURL bindings for the Lua language version 5.1
    ii liblua50 5.0.3-4 Main interpreter library for the Lua 5.0 programming language
    ii liblualib50 5.0.3-4 Extension library for the Lua 5.0 programming language

  7. liblua5.1-0 5.1.4-5
    on system that does not work
    Debian Squeeze

    liblua5.1-0 5.1.3-1
    this is the version on system that t does work
    Debian Lenny

  8. I got it to work.
    Had to download the source debian package for liblua5.1-0 5.1.3-1
    Compile it and make install it.

    I also removed liblua that installs with package manager.

    But now its working on squeeze.

  9. @mandula Not for money of course, since the game contains graphics that we don’t own. But for free, and as long as the authors (Christopho – Solarus Team) and the website ( are mentioned, there is no problem for me.

  10. Hi,

    Great job, but there is a licence issue with few Nintendo owned data. You should split your packages and distribute proprietary data in a separate package. Or maybe a big warning concerning this issue should be displayed in order to avoid licencing problems. An official Gentoo ebuild has been introduced into Portage tree, but the maintainer does not seem to have seen this issue (package licence set to GPLv3). I had to fill a bug into Gentoo’s bugtrack (#507412) to correct it.


  11. @slash We distribute the source and the games as separate packages. They are in separate github repositories. The engine (solarus), including the map editor, has no proprietary content and is GPL. zsdx and zsxd (the games) are the problematic packages. They have content from Nintendo that we don’t own, so they should not be introduced in distributions.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>