• 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://github.com/christopho/solarus.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 ;)

    20 Responses to Source code

    1. Pingback: Welcome - Solarus

    2. April 29, 2010 at 10:30 am

      Great! It’s always nice to have engines source codes to look at for progressing in how we work. I’m eager to dive into it.

    3. Pingback: The map editor - Solarus

    4. August 24, 2010 at 10:41 am

      Looks like the svn server is down right now…

    5. August 24, 2010 at 10:49 am

      The anonymous access is down. I am working on it.

    6. August 25, 2010 at 11:57 am

      Done! The anonymous access to svn should work now.

    7. August 26, 2010 at 8:55 am

      It does !

    8. March 25, 2012 at 2:49 pm

      aaron@challenger:~/solarus$ git clone http://github.com/christopho/solarus.git
      Initialized empty Git repository in /home/aaron/solarus/solarus/.git/
      error: The requested URL returned error: 403
      warning: remote HEAD refers to nonexistent ref, unable to checkout.

      I can’t download?

    9. March 25, 2012 at 4:03 pm

      I have just fixed the git url. Sorry and thanks for the report!

    10. March 25, 2012 at 6:55 pm

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

    11. March 25, 2012 at 10:00 pm

      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.

    12. March 26, 2012 at 10:40 pm

      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

    13. March 27, 2012 at 9:04 am

      Is Lua installed correctly?
      apt-get install liblua5.1-0-dev

    14. March 28, 2012 at 12:04 am

      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

    15. March 28, 2012 at 1:12 am

      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

    16. March 28, 2012 at 1:33 am

      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.

    17. mandula
      January 7, 2014 at 10:12 am

      Am i allowed to release the game on Goolge Play?

    18. January 8, 2014 at 2:16 pm

      @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 (www.solarus-games.org) are mentioned, there is no problem for me.

    19. slash
      April 11, 2014 at 4:37 pm


      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.


    20. April 13, 2014 at 7:55 am

      @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 *