FAQ - Themaister/RetroArch GitHub Wiki
Here's a collection of Frequently Answered Questions.
RetroArch is a frontend for libretro, an API which exposes the functionality of a game system. libretro started as libsnes with the SNES emulator bSNES, but libretro has since become emulator/game agnostic. RetroArch builds around the emulator/game core to provide a full emulator/game frontend.
RetroArch is suitable as a frontend for retro game emulators, as well as retro-style standalone games.
Some cool features to mention are frame-by-frame rewind (Braid-style), multi-pass GPU shaders, FFmpeg on-the-fly raw video recording and netplay. All these features will work independently of the libretro implementation used.
RetroArch itself is command-line driven, and relies on a graphical frontend to deliver a GUI. RetroArch has a simple built-in GUI (RGUI). RetroArch-Phoenix can also serve as a RetroArch launcher. As RetroArch is designed for CLI, it is easy to launch from various dedicated launchers.
RetroArch runs and is supported on GNU/Linux, BSD, Windows, Mac OSX (PPC/Intel), PlayStation 3, XBox 360, XBox 1, Raspberry Pi, Nintendo Wii, Android, and soon iOS and Blackberry as well.
If you have questions or issues which cannot be resolved easily, you can pay a visit to: RetroArch forum
RetroArch is mostly built from source. Binaries are provided for Windows (32-bit/64-bit) in the downloads section. OSX binaries might be available on the forums, but you are expected to build it yourself. Ubuntu users should be able to use builds from Hunterk's PPA.
Linux/BSD: Compilation guide (Linux)
Windows: Compilation guide (Windows)
OS X: Compilation guide (OS X)
RetroArch supports uncompressed as well as zipped roms.
RetroArch currently supports UPS, IPS and BPS patching formats. If you load rom.bin and rom.ups, rom.ips or rom.bps is present, the ROM will be autopatched. Autopatching only takes place of the libretro implementation supports loading ROMs from memory.
Filters are not built into RetroArch, but it supports filter plugins which you can load into RetroArch. The filter plugins are the same as used in bSNES (*.filter). Do note that RetroArch only supports the older filters from bSNES v082 and older (15-bit -> 32-bit filters). Using newer filters will most likely crash RetroArch due to the lack of means to verify if a filter is compatible. If you can, prefer using GPU shaders as they are more flexible and much better supported.
You can either report issues in the issues section, or create a thread on the forum.
Latest PC releases will be found in the release thread.
Full builds support every feature that RetroArch has implemented. This means shaders, FFmpeg, Python, etc. Since the *.dll footprint of all this is considerable, there is a redist you have to download (just once). Slim builds have stripped down dependencies, and do not need a redist. This however, means that only features that do not need external *.dlls will work.
To be more precise, the features you get from full build are as follows:
- XML shaders and cheat loading
- FreeType On-screen-display fonts
- RSound
- Multi-pass shading
- Cg shaders
- Python scripting
- FFmpeg recording
If you do not need any of these features, slim build is for you.
RetroArch and RetroArch-Phoenix are two separate projects, both found here on GitHub. While RetroArch is a command-line application, Retrorch-Phoenix is a GUI which allows you to configure RetroArch and launch games from a comfortable GUI environment. It is fully possible to use your own launching methods which is very suitable for i.e. HTPC setups.
If you downloaded the full build, you also need the library redist, similar to a DirectX redist or something. It only needs to be downloaded once. Extract every *.dll from the respective zip below into the RetroArch directory.
I tried launching RetroArch in Windows with a different program but there's an annoying command line window there. Any way to remove it?
You can pass the -D flag to RetroArch which will terminate the console window if you launch it outside cmd.exe (from a shortcut or something like that). If you want to use RGUI to select a core and game you also need to add --menu.