Libretro

From Emulation General Wiki
Jump to navigation Jump to search
Libretro
Libretro.png
Developer(s) Anonymous/Unidentified
Latest version
Active Yes
Platform(s) Multi-platform
Type API
Website libretro.com
Twitter
Support ($) GitHub Sponsor
Patreon
Source code GitHub

libretro (formerly libsnes) is an API designed mainly for games and emulators. It allows games and emulators to be compiled as dynamically linked libraries known as "libretro cores", which can be used in a frontend that implements libretro, such as RetroArch. The frontend is responsible for providing all the implementation specific details, such as video/audio/input drivers. This means that a developer does not have to worry about writing different video drivers for Direct3D or OpenGL, or supporting all known joypads or input/sound APIs. All of these details are handled by the front-end.

libretro Frontends[edit]

RetroArch is the flagship project for libretro, however there are plenty of other available frontends.

Main article: Frontends#Libretro

Cores[edit]

Emulation[edit]

System Core Version Steam Notes
SNES higan (火眼) v110 ? Separate cores for each profile.

C++98 version is bsnes v085 Performance profile.

SNES bsnes-mercury v094 Fork of bsnes with modifications for speed. Separate cores for each profile
SNES Mednafen bsnes 0.9.26 ? Fork of bsnes v059 with a few modifications.
SNES nSide Balanced v106 ? Fork of higan v106 with additional hardware support. Good for slower computers that cannot run the Accuracy core-only releases from higan v098 onwards with full speed.
SNES Snes9x 1.62.3 Supports libretro in upstream.
SNES Snes9x 2002 (previously PocketSNES) 1.39 Snapshot of Snes9x for use on very slow platforms
SNES Snes9x 2005 1.43 Snapshot of Snes9x useful for Mario World hacks that have broken custom music.
SNES Snes9x 2005 Plus 1.43 Snapshot of Snes9x 1.43 plus BLARRG APU.
SNES Snes9x 2010 1.52.4 Fork of Snes9x 1.52 WIP focused on speed.
WonderSwan Mednafen Cygne ? Modified fork of Cygne.
PlayStation DuckStation git ?
PlayStation Mednafen PSX 0.9.39.2 Fork has significant modifications for enhancements as well as Vulkan renderer support. Sometimes referred to as "Beetle PSX."
PlayStation Mednafen PSX HW Alpha Adds an OpenGL renderer to Mednafen PSX based on the GPU renderer from Rustation. Sometimes referred to as "Beetle PSX HW." Still contains the software rendering mode as an option, so this core can effectively replace the "Mednafen PSX" core listed above.
PlayStation PCSX-ReARMed r22 ARM optimized fork of PCSX-Reloaded. Supports libretro in upstream.
PlayStation Rustation Git ?
PocketStation pockystation Git ?
PC Engine & PCE-CD Mednafen PCE-Fast ? ?
PC Engine SuperGrafx Mednafen SuperGrafx ? ?
PC-FX Mednafen PC-FX ? ?
Neo-Geo Pocket Mednafen NeoPop ? ? Modified fork of NeoPop.
Virtual Boy Mednafen VB ?
Atari 2600 Stella 3.9.3
Atari 5200 Atari800 3.1.0
Atari 7800 ProSystem 1.3e
Atari Lynx Handy 0.95
Atari Lynx Mednafen Handy ? ? Modified fork of Handy.
Atari Jaguar Virtual Jaguar 2.1.0 ? Very low FPS.
NES bnes v083
NES FCEUmm 98.13mm (SVN)
NES QuickNES 1.0
NES Mesen Git Supports libretro in upstream.
NES Nestopia 1.46-WIP Supports libretro in upstream.
Game Boy/Color Gambatte 0.5.0 Has an option to disable color correction.
Game Boy/Color Gearboy Git Open source, multi-platform, GB (DMG) / GBC (CGB) emulator written in C++.
Game Boy/Color TGB Dual 0.8.3 Has a split-screen mode for game linking.
Game Boy/Color SameBoy Git Extremely accurate GB (DMG) & GBC (CGB) emulator written in portable C. Latest core update in 2018.
Game Boy Advance VBA-Next 1.0.2 ? Fork of VBA-M focused on speed.
Game Boy Advance VBA-M SVN Supports libretro in upstream.
Game Boy Advance Meteor 1.4 ? Supports libretro in upstream.
Game Boy Advance Mednafen VBA 0.9.33.3 ? Fork of an old version of VBA.
Game Boy Advance TempGBA Git PSP-only fork of gpSP.
Game Boy Advance gpSP 0.91 Dynarec available for ARM.
Game Boy Advance Mednafen VBA 0.9.33.3 ? Fork of an old version of VBA.
Game Boy Advance, Game Boy/Color mGBA 0.9.2
Nintendo 64 Mupen64Plus 2.0-rc2 Fork, has significant modifications.
Nintendo 64 paraLLEl pre-alpha ? New fork/rewrite of the Mupen64Plus core with a port of the Angrylion video plugin (Multi-threaded version also exists) to Vulkan for massive speed improvements. Highly accurate on compatible games, extremely broken on incompatible games.
Sega Systems (SG-1000, Master System, Genesis, Sega CD, Game Gear) Genesis Plus GX 1.7.4 Exclusive to libretro on non-GC/Wii platforms. Supports libretro in upstream.
Sega Systems (Master System, Genesis, Sega CD, 32X, Game Gear, Pico) PicoDrive 1.81 Exclusive to libretro on PC platforms. Supports libretro in upstream.
Sega Genesis BlastEm ?
Sega Saturn Mednafen Saturn ? Sometimes referred to as "Beetle Saturn"
Sega Saturn Yabause 0.9.13 Lacks dynarec and GL renderer. Heavily outdated.
Sega Saturn Kronos 2.6.1 2nd-degree Yabause fork. Has OpenGL ES 3.0 (for mobile) / 3.1 rendering & cached interpreter CPU core (Faster than Yabause's core). Supports STV arcade.
Arcade FinalBurn Alpha 0.2.97.24 ? Older version for use on slower platforms.
Arcade FinalBurn Alpha 0.2.97.38 ?
Arcade MAME 2000 0.37b5 Old version for use on very slow platforms.
Arcade MAME 2003 0.78 Old version for use on slow platforms. Core updated in 2018.
Arcade MAME 2003 Plus 0.78 Updated 2018 version of MAME (0.78) for libretro, with added game support and improvements.
Arcade MAME 2010 0.139 Old but more recent version for mobile devices.
Arcade MAME 2014 0.159 Very recent version for PC and other fast devices.
Arcade (LaserDisc) DAPHNE Git ? WIP. Arcade LaserDisc emulator adapted to a libretro core.
Arcade (Sega Model 3) Supermodel Git ? WIP. Sega Model 3 arcade emulator. OpenGL-only core for now.
Everything MAME 0.188 (Git) ? Based on bleeding edge Git. Official merge of MESS into MAME codebase.
Nintendo DS DeSmuME 2015 SVN Based on DeSmuME 2015 SVN. Has options for single-screen fullscreen with swapping.
Nintendo DS DeSmuME (New) Git Has options for single-screen fullscreen with swapping. Latest core update in 2018.
Nintendo DS melonDS Git ? WIP. Different emulator that aims to be more accurate than DeSmuME.
Nintendo 3DS Citra Git Has an updated 2018 core.
PSP PPSSPP Git 2018: Now has working Vulkan, OpenGL & Direct3D 11 renderers. 1st core to use D3D 11.
286 and 386 DOSBox SVN
Commodore 64 vice-libretro 3.0 WIP.
Amiga PUAE 2.8.0 ? Very old, shallow fork; based on WinUAE.
Amiga libretro-fsuae Git ? Cross-platform Amiga emulator; newer than old PUAE core. Based on FS-UAE 2.8.1u5.
Atari ST/STE/TT/Falcon Hatari 1.7 ?
MSX/SVI/ColecoVision/SG-1000 blueMSX 2.8.2 (SVN)
MSX fMSX 3.9
3DO Opera 1.3.2.4 ~
Vectrex vecx SVN
Magnavox Odyssey²/Videopac O2EM 1.18 ?
ZX Spectrum FUSE 1.11
Nintendo GameCube and Wii Dolphin Git 2018: Now has working Direct3D 11, OpenGL & Vulkan renderers. 2nd core to use D3D 11 after PPSSPP's core.
Nintendo GameCube and Wii Dolphin (Ishiiruka builds) (いし海豚) Git WIP. Based on a custom build version of Dolphin. OpenGL renderer works, Direct3D 11 & Vulkan renderers coming soon. Can have better frame pacing/performance than the Dolphin libretro core.
Game & Watch gw-libretro Git This emulator is actually a simulator of Game & Watch systems. This core has code from MADrigal.
Amstrad CPC Cap32 Git WIP
Sega Dreamcast Flycast Git Greatly enhanced core based on reicast. Also runs NAOMI and Atomiswave games.
Sega Dreamcast redream ?
Sinclair ZX81 (for now) EightyOne (81) Git ? WIP
Mattel Intellivision FreeIntv Git WIP. Mattel Intellivision emulator. Designed for SNES era and later joypads.
Sharp X68000 px68k-libretro Git ? Portable Sharp X68000 Emulator for PSP, Android and other platforms.
Thomson TO8/TO8D Theodore Git Libretro core for Thomson TO8/TO8D emulation, based on Daniel Coulom's DCTO8D emulator.

Game Engine[edit]

Game Core Version Notes
Cave Story NXEngine 1.0.0.4
ChaiLove libretro-chailove 0.20.0 Open-source framework for making 2D games in C++ with ChaiScript (eg. Floppy Bird).
Doom PrBoom 2.5.0 Does not have the advanced features of GZDoom or can run WADs designed for it. However, it's highly portable, very stable, and is compatible with every officially released patch of Doom up until Final Doom,
Flashback REminiscence Git Port of the game engine recreation of the spiritual successor to Another World/Out of this World.
Lua Engine (Lutro) libretro-lutro v1 WIP. Experimental lua game framework that follows the LÖVE API. Sample games include Snake, Tetris and Pong.
LucasArt Game Engines ScummVM 1.6.0 Requires loading games inside its own GUI, does not load games from RetroArch's Load Content option.
OutRun CannonBall 0.3 Complete rewrite of the Outrun arcade game into portable C++ written in 2014 by Chris White. Has many enhancements. The libretro version has analog axis and triggers support alongside a new 120Hz mode.
Quake TyrQuake 0.61
Quake II vitaQuakeII 2.2
Rick Dangerous xrick-libretro 1.0.0.6 Open-source implementation of the game Rick Dangerous. Core based on BigOrno's work.
RPG Maker 2000/2003 EasyRPG 0.4.1
Tomb Raider #1-5 OpenLara 2017-04-24 WIP. Available for 32bit/64bit Windows & Linux. Has many enhancements over the original games.

Standalone Game[edit]

Game Genre
Dinothawr Puzzle

Other[edit]

Core Description
FFmpeg Media Player
Modelviewer 3D Tech Demo
SceneWalker 3D Tech Demo
Imageviewer Image Viewer

External Links[edit]