Skip to content

Compilation guide (Linux)

l3iggs edited this page Jul 26, 2014 · 29 revisions

Compilation on Linux and BSD does not have many surprises, as its foundation is Unix-based.

Dependencies

  • At least one libretro implementation
  • pkgconfig
  • Working OpenGL headers (should be included by default, but you might need to install libgl/mesa development packages)

Optional dependencies

  • libxml2-devel - For XML shaders and cheat support.
  • freetype-devel - TTF font rendering
  • ffmpeg/libavcodec - FFmpeg recording
  • nvidia-cg-toolkit - Cg shaders
  • libudev-devel
  • zlib-devel

Some other libraries can be built support for as well, please refer to ./configure --help.

Satisfying dependencies under Fedora 20

sudo yum install make automake gcc gcc-c++ kernel-devel mesa-libEGL-devel libv4l-devel libxkbcommon-devel mesa-libgbm-devel Cg libCg zlib-devel freetype-devel libxml2-devel ffmpeg-devel

This list of packages may not be complete.

Getting the code

git clone git://github.com/libretro/libretro-super.git
cd libretro-super
sh libretro-fetch.sh

This guide assumes you'd like to install retroarch into a folder called ~/ra

Building RetroArch

cd retroarch
./configure # Script will autodetect features. Refer to --help if you want to override anything, such as --prefix.
make
mkdir ~/ra
make DESTDIR=~/ra install

Building libretro cores

You should at least build one libretro implementation so RetroArch can do stuff. There is a super-project that is designed to easily build every libretro port out there. To build every core:

cd .. #to libretro-super directory
NOCLEAN=1 ./libretro-build.sh #remove NOCLEAN=1 if you wish to perform "make clean" on every repo before building 
mkdir ~/ra/cores
./libretro-install.sh ~/ra/cores

Enjoy! :)

Clone this wiki locally