Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Naev is a 2d action/rpg space game that combines elements from the action, rpg and simulation genres.
C Lua Python C++ Objective-C Scheme Other



   For an overview of the game, please visit
   or view the man page (If you're on a Unix-like system).

   An exhaustive list of command line arguments is detailed in the man page.

   Hardware requirements can also be found on the website.


   Naev's dependencies are intended to be relatively common. In addition to
   an OpenGL-capable graphics card and driver, Naev requires the following:
      * SDL
      * libxml2
      * freetype2
      * libpng
      * OpenAL
      * libvorbis (>= 1.2.1 necessary for Replaygain)
      * binutils
      * libzip

   Note that several distributions ship outdated versions of libvorbis, and
   thus libvorbisfile is statically linked into the release binary.

   Compiling your own binary on many distributions will result in Replaygain
   being disabled.

   See for package lists for several

   Mac Dependencies are different, see extras/macosx/COMPILE for details.



   ./ && ./configure

   If you need special settings you should pass flags to configure, using -h
   will tell you what it supports.

   On Mac OS X, see extras/macosx/COMPILE for details. Uses Xcode, not gcc.


   Naev currently supports make install which will install everything that
   is needed.

   If you wish to create a .desktop for your desktop environment, logos
   from 16x16 to 256x256 can be found in extras/logos


   Please take a look at the FAQ (linked below) before submitting a new
   bug report, as it covers a number of common gameplay questions and
   common issues.

   If Naev is crashing during gameplay, please file a bug report after


   As of 0.5.0, it's possible to set keybindings in-game which is generally
   more convenient than editing the configuration file.

   A full list of keys can be found at

   5A) Introduction
      5A1) About
         Naev uses a dynamic keybinding system that allows you to set 
         the keybindings to joystick, keyboard or a mixture of both.

         This can changed via conf.lua, or with the in-game editor.

   5B) Joystick
      If you have a joystick you'll have to tell Naev which joystick
      to use.  You can either use the -j or -J parameter from the
      command-line or put it in the conf.lua file.
         naev -j 0
         naev -J "Precision"
         joystick = "Precision" # in conf.lua
      5B1) Syntax
         KEY_IDENTIFIER = { type = KEY_TYPE, key = KEY_NUMBER,
            [reverse = KEY_REVERSE, mod = MOD_IDENTIFIER] }
         KEY_IDENTIFIER is the identifier given below
         KEY_TYPE can be one of keyboard, jaxis or jbutton
         KEY_NUMBER is the number of the key (found with xev usually, just
            convert the keysym from hex to base 10)
         KEY_REVERSE is whether it is reversed or not, which is only useful
            in the case of jaxis
         MOD_IDENTIFIER is the modifier to take into account, can be one of:
            lctrl, rctrl, lshift, rshift, lmeta, rmeta, ralt, lalt
            It isn't used with joystick bindings.
      5B2) Example
         accel = { type = "jbutton", key = 0 }
Something went wrong with that request. Please try again.