User:BlackLotus89/Libretro


 * For reference: GStreamer looks like an article on an API to me. We may be able to grab some ideas on how it should look from there. (This note should be removed when moving to article space, of course.)

Libretro is a free and open source API, which is licensed under the MIT License.

It specifies how to write a library, called libretro core, so that it can be loaded by a frontend, like RetroArch. The frontend then manages video, audio and input. Because you only have to port the core that handles video, audio and input it is widely used for game emulation, because of the portability

Other projects that implement the libretro API include XBMC and Arcan.

It is important to note that neither Libretro nor RetroArch is a game emulator, even though the API is mostly used for gaming as of now.

RetroArch
RetroArch is a free and open source reference implementation of the libretro API. RetroArch has been ported to various platforms and runs on Microsoft Windows, OS X, GNU/Linux, Android  , iOS (jailbroken), Blackberry 10 , Raspberry Pi, OpenPandora, PlayStation 3, Xbox, Xbox 360, GameCube, and Nintendo Wii. It is described as a modular multi-system emulator/game system that is designed to be fast, lightweight, and portable.

Console emulation cores
The following table constitutes a non-exhaustive list of console emulation cores currently maintained and supported side by side with the original codebase used.

Game cores
RetroArch supports as well games natively written for its libretro API and other popular games ported to its API thanks to the source code availability.

WIP cores
The following emulation cores are currently a work-in-progress.