Changes

Jump to navigation Jump to search

RetroArch

3,411 bytes added, 10 April
no edit summary
{{Infoboxsoftware|image logo = RA_LogoRetroarch.png|first logowidth = 0250|developer = Squarepusher, themaister, [https://github.9.9com/libretro/RetroArch/graphs/contributors others]|version = {{Version|RetroArch}}|second active = Yes|third platform = [[Emulators on Windows|Windows]]<br/>[[Emulators on macOS|macOS]]<br/>[[Emulators on Linux|Linux]]<br/>[[Emulators on Haiku|Haiku]]<br/>[[Emulators on Android|Android]]<br/>[[Emulators on iOS|iOS]] (jailbroken)<br/>[[Emulators on Raspberry Pi|Raspberry Pi]]<br/>[[Emulators on Pandora|Pandora]]<br/>[[Emulators on DragonBox Pyra|Pyra]]<br/>[[Emulators on PS2|PlayStation 2]]<br/>[[Emulators on PS3|PlayStation 3]]<br/>[[Emulators on PS4|PlayStation 4]] (Unofficial)<br/>[[Emulators on PSP|PlayStation Portable]]<br/>[[Emulators on Vita|PlayStation Vita/TV]]<br/>[[Emulators on Xbox|Xbox]]<br/>[[Emulators on Xbox 360|Xbox 360]]<br/>[[Emulators on Xbox One|Xbox One]]<br/>[[Emulators on GameCube|GameCube]]<br/>[[Emulators on Wii|Wii]]<br/>[[Emulators on Wii U|Wii U]]<br/>[[Emulators on Switch|Nintendo Switch]]<br/>[[Emulators on 3DS|Nintendo 3DS]]<br/>[[Emulators on GCW Zero|GCW Zero]] (Unofficial)<br/>OpenDingux<br/>BlackBerry<br/>Steam Link<br/>Leapfrog|type = Multiplatform[[libretro]] frontend|fourth prog-lang = Squarepusher, themaisterC, othersC++|fifth website = http[https://www.libretro.com/libretro.com]|support = [https://www.patreon.com/libretro Patreon]<br/>[https://github.com/sponsors/libretro GitHub Sponsor]<br/>[https://liberapay.com/Libretro/donate Liberapay]|source = [https://github.com/libretro GitHub]|license = GNU GPLv3}}
'''RetroArch''' is a free and [http://en.wikipedia.org/wiki/Open_source open source] reference implementation of the libretro API, which is licensed under the [http://en.wikipedia.org/wiki/MIT_License MIT License]. It implements the basic necessities needed for running applications like video game emulators, games and other similar subject matter. RetroArch has been ported to various platforms and runs on [http://en.wikipedia.org/wiki/Microsoft_Windows Microsoft Windows], [http://en.wikipedia.org/wiki/OS_X OS X], [http://en.wikipedia.org/wiki/GNU/Linux GNU/Linux], [http://en.wikipedia.org/wiki/Android_%28operating_system%29 Android]<sup class="reference" id="cite_ref-1">[http://en.wikipedia.org/wiki/RetroArch#cite_note-1 [1]]</sup><sup class="reference" id="cite_ref-2">[http://en.wikipedia.org/wiki/|RetroArch#cite_note-2 [2]]</sup><sup class="reference" id="cite_ref-3">[http://en.wikipedia.org/wiki/RetroArch#cite_note-3 [3]]</sup><sup class="reference" id="cite_ref-4">[http://en.wikipedia.org/wiki/RetroArch#cite_note-4 [4]]</sup>, [http://en.wikipedia.org/wiki/IOS_jailbreaking iOS ''' (jailbrokenformerly '''SSNES''')]is an open-source, [http://en.wikipedia.org/wiki/BlackBerry_10 Blackberry 10]<sup class="reference" id="cite_refmulti-5">platform [http://en.wikipedia.org/wiki/RetroArch#cite_note-5 [5libretro]]</sup>, [http://en.wikipedia.org/wiki/Raspberry_Pi Raspberry Pi], [http://en.wikipedia.org/wiki/Pandora_%28console%29 OpenPandoraFrontends|frontend], [http://en.wikipedia.org/wiki/PlayStation_3 PlayStation 3], [http://en.wikipedia.org/wiki/Xbox_%28console%29 Xbox], [http://en.wikipedia.org/wiki/Xbox_360 Xbox 360], [http://en.wikipedia.org/wiki/GameCube GameCube], and [http://en.wikipedia.org/wiki/Nintendo_Wii Nintendo Wii]written in C or C++. It is described as a modular multi-system emulator/game system that is designed to be fast, lightweight, and portable. Other projects that implement the libretro API include XBMC (see RetroPlayer) and Arcan.
==Downloads==
Note: Some libretro cores are maintained separately from their originators, and thus possess a different update timeline.*[httphttps://themaisterbuildbot.netlibretro.com/stable/retroarch.html RetroArch for WindowsStable Builds]*[httphttps://playbuildbot.googlelibretro.com/storenightly/apps/details?id=org.retroarch RetroArch for AndroidNightly Builds]*[httphttps://forumbuildbot.themaisterlibretro.netcom/nightly/windows/viewtopic.php?id=347 Windows RetroArch for GameCube/Wii-Nightly-Installer]*Ubuntu PPAs: [https://anonfileslaunchpad.comnet/~libretro/+archive/fileubuntu/0b9b21f606c5d20d7ab27fb5bdaabb61 RetroArch for PS3 (CFW)stable Stable] and , [https://anonfileslaunchpad.comnet/~libretro/+archive/ubuntu/filetesting Nightly/939b30ae56b59c6cb34703c0aa1b4fee PS3 (DEX)Testing] v.0.9.9*Arch Linux User Repositories: [https://anonfilesaur.comarchlinux.org/packages/fileretroarch-git/9491e2c79442f7f83fb12e0bd83c3d8b RetroArch for Xbox 360Testing] v0.9.8.4*, [https://anonfilesaur.comarchlinux.org/file/9fc861ae37e44dc868bfcd67c763e282 RetroArch for Xbox HUEGpackages?O=0&K=libretro&submit=Go All] v0.9.8.4
==Cores=====EmulationMobile/Console Versions==={| border*[https://play.google.com/store/apps/details?id="0" cellpadding="1" cellspacing="1" class="articlecom.retroarch RetroArch for Android on Play Store], 32-bit & 64-table" stylebit ARM (also [https://play.google.com/store/apps/details?id="widthcom.retroarch.aarch64 Plus version])*[https: 500px;"//buildbot.libretro.com/stable/{{RetroArchVer}}/apple/ios9/RetroArchiOS9.ipa RetroArch for iOS9] ({{RetroArchVer}})|*[https://buildbot.libretro.com/stable/{{RetroArchVer}}/apple/ios-! scope="col"|System! scope="col"|Core! scope="col"|Version|arm64/RetroArch.ipa RetroArch for iOS-arm64] ({{RetroArchVer}})|SNES*[https://buildbot.libretro.com/stable/{{RetroArchVer}}/playstation/psp/RetroArch.7z RetroArch for Playstation Portable] ({{RetroArchVer}})|*[https://buildbot.libretro.com/stable/{{RetroArchVer}}/playstation/vita/RetroArch.vpk RetroArch for PlayStation Vita/TV] ({{RetroArchVer}})*[Higan|bsnes]https://buildbot.libretro.com/stable/{{RetroArchVer}}/playstation/ps2/RetroArch_elf.7z RetroArch for Playstation 2]({{RetroArchVer}})|*[https://xbins.org/libretro/stable/1.9.0/playstation/ps3/RetroArch.PS3.CEX.PS3.pkg RetroArch for PlayStation 3 (DEX)] (1.9.92 Performance0)|-*[https://xbins.org/libretro/stable/1.7.4/xbox/xbox/RetroArch.zip RetroArch for Xbox] (1.7.4)|SNES|bsnes|0*[https://digiex.92 Balanced|net/threads/retroarch-360-|SNES|bsnes|0.92 Accuracy|-|SNES|[[Snes9x]]||9-8-|SNES|Snes9x3-Next||download-|WonderSwan|[[Mednafen]]|0928|sega-|PS1|Mednafen|0928|sens-|PC Engine|Mednafen|0928|gameboy-|Neofinalburn-Geo Pocket|Mednafen||emulator-|Virtual Boy|Mednafen||for-|Atari 2600|Stella||xbox-360.12395/ RetroArch for Xbox 360] (0.9.8.3)|NES|*[[Higan|bNES]]||https://buildbot.libretro.com/stable/{{RetroArchVer}}/windows-msvc2019-|NES|FCEU||uwp/x64/RetroArch-|NES|QuickNES||msvc2019-UWP_x64.msixbundle RetroArch for Xbox One / Universal Windows Platform] ({{RetroArchVer}})|NES*[https://buildbot.libretro.com/stable/{{RetroArchVer}}/nintendo/ngc/RetroArch.7z RetroArch for GameCube] ({{RetroArchVer}})|*[https://buildbot.libretro.com/stable/{{RetroArchVer}}/nintendo/wii/RetroArch.7z RetroArch for Wii] ({{RetroArchVer}})*[Nestopia]https://buildbot.libretro.com/stable/{{RetroArchVer}}/nintendo/wiiu/RetroArch_rpx.7z RetroArch for Wii U]({{RetroArchVer}})|1*[https://buildbot.libretro.44|-|Game Boycom/stable/{{RetroArchVer}}/nintendo/3ds/ColorRetroArch_cia.7z RetroArch for Nintendo 3DS (.cia)] ({{RetroArchVer}})|*[[Gambatte]https://buildbot.libretro.com/stable/{{RetroArchVer}}/nintendo/switch/libnx/RetroArch.7z RetroArch for Nintendo Switch]({{RetroArchVer}})||*[https://pyra-handheld.com/boards/threads/retroarch-1-|GBA|[[VisualBoy Advance|VBA7-Next2.81254/ RetroArch for Pandora on OpenPandora's repo](1.7.3) and [https://repo.openpandora.org/?page=detail&app=retroarch.lifning.001 old 2013 variant](0.9.9.1)||*[https://pyra-|GBA|Meteor|handheld.com/repo/apps/53 RetroArch for Pyra] (1.49.6)|*[https://boards.dingoonity.org/gcw-|Sega Systems development/(Master, Genesis, Sega CD, Game Geartest-release)|Genplus GX||-retroarch-for-gcw0/ RetroArch for GCW Zero (.opk)] (0.1b) {Unofficial test build}|Arcade|*[[Final Burn Alpha]https://store.steampowered.com/app/1118310/RetroArch/ RetroArch on Steam]||}
===Game Engine=Supported Systems=={{Main| border="0" cellpadding="1" cellspacing="1" class="article-table" style="width: 500px;"|Quake|Tryquake||-|Doom|PrBoom||-|Cave Story|nxengine||libretro#Cores}===WIP cores==={| border="0" cellpadding="1" cellspacing="1" class="article-table" style="width: 500px;"|DOS|[[DOSBox]]||-|Nintendo DS|[[DeSmuMe]]||-|Sega Saturn|[[Yabause]]||-|Nintendo 64|[[Mupen64Plus]]||-|Arcade|Mame-2003||-|LucasArt Game Engines|Scummvm||-|Atari Jaguar|[[Virtual Jaguar]]||}
==Features==
*Consistency across multiple platforms, using the same UI structure and a fully featured command line interface.
*Gamepad-controlled menu system with multiple styles available, such as XMB or Material UI. (There's also a [https://www.youtube.com/watch?v=hfuioGjCItw QT-based 'WIMP' desktop-style interface] for PC platforms that was announced before and released in version [https://www.libretro.com/index.php/retroarch-1-7-3-released/ 1.7.3].)
*Gamepad auto-configuration profiles, so that gamepads are mapped automatically when connected. XInput controller autoconfig is built into the application, with other controller types available as external profiles.
*Per-core and per-game configuration overrides
*Built-in [https://docs.libretro.com/guides/crtswitchres/ <abbr title="On Windows OS you need CRT Emudriver OR EDID editor tool such as 'Custom Resolution Utility'.">Custom resolution/CRTSwitchRes</abbr>] and refresh rate for video output, with exclusive fullscreen mode and monitor index for multi-monitor setups.
*Dynamic rate control for smooth audio and video, even when the game's output rate differs from your system's. Especially obvious with systems like GBA that do not run 60Hz.
*Basic fast-forward, SRAM saving, savestate, etc. It supports serialization of the emulation state, which is used to provide real-time rewind and netplay.
*[[Shaders and Filters|Pixel shaders]] and [[Shader_Presets|presets]], primarily using Slang, Cg and GLSL, with HLSL on Xbox 360. The shader format it uses is flexible and fairly easy to use, allowing for complex multi-pass effects with adjustable runtime parameters. Also supports traditional video filter plugins that are run in software.
*Supports audio DSP filter plugins through .dsp configuration files.
*Custom overlay support.
*FFmpeg recording and playback support. It can record either the native resolution output of the core or the post-processed output of the frontend. Playback is handled through an internal FFmpeg libretro core.
*Streaming support. By adding your twitch account to RetroArch and making some small [https://www.retroarch.com/index.php?page=recording setup], it is possible to stream on Twitch the content of the game played.
*[[GGPO]]-like netplay (latency hiding rollback). It should be lag-free if everyone involved emulates at full speed, doesn't live on opposite sides of the world, and has decent internet speeds. It uses peer-to-peer UDP and supports two players. Due to rollback, it requires a fair amount of CPU power to run, and only works with cores that support serialization.
*Options for decreasing input latency related to vsync by eliminating buffering by the video driver, as well as using frame delay to delay polling of inputs until right before a vsync occurs on the display.
*Supports [[Input_lag|input lag-mitigating techniques]]. One of these setting is "Run-ahead" which allows cycle-accuracy emulators to run ahead of mandatory 1 or 2 frames of input lag. These settings allow emulators to [https://medium.com/@libretro/retroarch-1-7-2-achieving-better-latency-than-original-hardware-through-new-runahead-method-1b80d26bb5d1/ achieve better latency than original hardware] (Run-ahead option official debut in version 1.7.2).
*[https://retroachievements.org/download.php#ralibretro RetroAchievements support].
*Libretro cores compatible with [[BizHawk]] and [[Virtual_reality#VR_game_room_simulations|EmuVR]], so if you don't like using RetroArch as a [[Frontends|frontend]] you have other options as well.
*Consistency across multiple systems.==Building RetroArch== *A "just works" functionality for the most part, with further configuration options available or soon to come. *Custom resolution and refresh rate for output. *Amazing [[Shaders and Filters{{Main|shader]] support. *Dynamic rate control for amazing sound even when it's run at a different rate than the video, such as vsync causes sometimes. Especially obvious with GBA. *Basic fast forward, rewind, savestate, etc for if you're cheating scum and whatnot.Building RetroArch}}
==Using RetroArch==
After downloading RetroArch, run 'retroarch-phoenix.exe' and then go to 'RetroArch > Update RetroArch' to start downloading emulation cores. [[File:RAP_update.png|right]][[File:RA_updater.png|thumb{{Main|Using RetroArch's Updater]]From there, click 'Check Version'. This checks if everything is up-to-date (you have to do this every time you use the updater). Double-click on a core to start downloading it.}}'''Note:''' Some users experience a glitch where RetroArch update stops at 100% after downloading a core or update. If this happens close RetroArch, find the downloaded .zip file in RetroArch's directory and manually unzip the file. To launch a game, select the emulator core you'd like to use under 'libretro core path', and the appropriate ROM under 'Normal ROM path'. Make sure that 'retroarch.exe' is selected under 'RetroArch path', and click 'Start RetroArch'. If you are going to play in a system that needs a BIOS, there's a bit more setup required. First off, download these [http://www.mediafire.com/download.php?ohg67bj49om12a5 BIOS] files. Now go to 'System > General' and change the 'System directory' to where ever you'd like and place the BIOS files in there. [[File:RA_System_Directory.png|right|250px]] In addition, systems like the PSX require you to load them through CUE sheets. Most rips come with these, but in case yours didn't, a template is shown: FILE "GAME NAME [1] US.bin" BINARY TRACK 01 MODE1/2352 INDEX 01 00:00:00Replace GAME NAME [1] US.bin with whatever your game's file name is, but keep the quotation marks. Load the .cue file in RetroArch under Normal ROM to start the game. ==Shaders/Filters== RetroArch can use bsnes' XML .shader, CG pixel .cg, and .cgp for shaders. It can also use bsnes' .filter files for filters.==NetPlayDummies=={{Main|Dummies Guide: RetroArch uses GGPO-like netcode (latency hiding rollback). It should be lag-free if everyone involved emulates at full speed, don't live on opposite sides of the world and has decent internet speeds. It uses peer-to-peer UDP and supports two players. Due to rollback it requires a fair amount of CPU power to run.}}
For netplay, you must specify whether you will be hosting (server) or joining (client) the game. If joining, you must also enter the host's IP address in the field below. Make sure your firewall ==Netplay==Netplay is open on port 55435 (default; you can change it if you like) and that now usable from the port is forwarded menu in your routercurrent builds, if applicableunder Settings>Netplay Options. You can also specify 'spectator mode,' which will allow an arbitrary number of spectators get it to join and watch you play without being able to play themselveswork with the [https://github.com/libretro/RetroArch/wiki/Using-command-line command line] or the long-deprecated [https://www.mediafire.com/download/yrydc78bl6y82z4/retroarch-phoenix.7z RetroArch-Phoenix Launcher] as well in older builds.
Delay frames denotes the maximum number of frames RetroArch You must specify whether you will need to emulate at once to maintain synchonization due to actual network latency. You can figure out an appropriate ballpark for this number by pinging the other player and dividing the time be hosting (in millisecondsserver) by 16 or joining (roughly client) the number of milliseconds in a frame from a game running at 60 fps). If joining, you must also enter the host's IP address in the gameplay field below. Make sure your firewall is a bit choppyopen on port 55435 (default; you can change it if you like) and that the port is forwarded in your router, try increasing the if applicable. You can also specify 'spectator mode,' which will allow an arbitrary number of delay frames a bitspectators to join and watch you play without being able to play themselves.
Similar to Delay frames denote the GGPO platform, maximum number of frames RetroArch creates a constant stream of savestates which, along with button presses, are exchanged and compared between 's libretro cores will need to emulate at once to maintain synchronization due to actual network latency. You can figure out an appropriate ballpark for this number by pinging the server other player and client machines. If dividing the savestates start to diverge, time (in milliseconds) by 16 (roughly the game rolls back number of milliseconds in time to a point where they both agree and then emulates the missing frames all frame from a game running at once to get back to the appropriate spot60 fps). This gives If the illusion of completely lagless inputs, which gameplay is invaluable for twitchya bit choppy, fine controlstry increasing the number of delay frames a bit.
If you try to connect Similar to the GGPO platform, RetroArch creates a constant stream of savestates which, along with button presses, are exchanged and compared between the server and it immediately says client disconnected, open your log and make sure your ROMs match exactly (it will complain about a hash mismatch otherwise)machines. If it gives you a weird time-out errorthe savestates start to diverge, just close the window and try game rolls back in time to connect again a point where they both agree, and it should work itself out (sometimes excessive spikes in network latency can cause then the libretro cores emulates the states missing frames all at once to get back to diverge catastrophicallythe appropriate spot. This gives the illusion of completely lagless inputs, which is invaluable for twitchy, resulting in this error)fine controls.
==Guides If you try to connect to a server and it immediately says client disconnected, open your log and Info=====How to use Super Game Boy make sure your ROMs on RetroArch:===<p class="de2">Download these [http://wwwmatch exactly (it will complain about a hash mismatch otherwise).mediafire.com/download.php?htga58k9rumhla9 SGBIf it gives you a weird time-capable bsnes cores]. Then [http://www.its.caltech.edu/~costis/sgb_hack/sgb_bios.bin download this]out error, place it in just close the RetroArch folderwindow and try to connect again, and rename it as "sgb.boot.rom". Now on RetroArch, under File > Special ROM, select a Super Game Boy ROM should work itself out (they will all basically work) and a Game Boy ROM. Finally, under ROM type, select Super GameBoy, make sure you have sometimes excessive spikes in network latency can cause the bsnes core you downloaded selectedstates to diverge catastrophically, and playresulting in this error).</p>
<p class="de2">=Alternative Launchers and Frontends== </p>There are plenty of other frontends that can either work as a launcher for RetroArch or you can replace it entirely with another [[Frontends#Libretro|libretro frontend]].
<h3 class="de1">How to use RetroArch:</h3>{{Main|Frontends}}
==Controversies==A number of controversies have sparked during the development of RetroArch, mostly due to Squarepusher/TwinAphex's attitude and actions towards upstream emulators. As a result, DuckStation and Reicast development has halted<p class="de1"ref>[httphttps://filthypantsweb.blogspotarchive.org/web/20220201223114/https://old.reddit.com/2011r/emulation/comments/s8poim/pcsx2_qt_still_needs_to_be_split_up_into_parts/htkalk1//</ref><ref>https:/11/gettinggithub.com/skmp/reicast-started-with-ssnes.html Getting Started]emulator/issues/1928</pref>.
<p class="de1">=Also See==* [[EmulatorJS]]* [httphttps://filthypantsemulation.blogspotgametechwiki.com/2011index.php/11/advanced-ssnes-configuration-options.html Advanced configuration optionsCategory:RetroArch_PSP RetroArch PSP]</p>
<p class="de1">=External links==*[https://githubdocs.libretro.com/ThemaisterLibretro Documentation] (Contains extensive documentation on the usage of Libretro, Retroarch, and its cores.)*[https://forums.libretro.com/ Official forums]*[https://RetroArchdiscordapp.com/wiki RetroArch Wiki @ Githubinvite/27Xxm2h Official Discord server]<*[https:/p>/www.youtube.com/user/Libretro/ Official Youtube channel]
<p class="de1">[https://github.com/Themaister/RetroArch/wiki/RGUI Using RGUI]</p>=References=={{Reflist}}
==Source code==https[[Category://github.com/libretroRetroArch|*]][[Category:EmulatorsFrontends]][[Category:Game Boy Advance emulatorsNetplay]][[Category:Game Boy emulatorsWindows emulation software‏‎]]
[[Category:Linux emulation software]]
[[Category:Multi-emulatorsmacOS emulation software]][[Category:Haiku emulation software]][[Category:Raspberry Pi emulation software]][[Category:Pandora emulation software]][[Category:Android emulation software]][[Category:iOS emulation software]][[Category:PlayStation Portable emulation software]][[Category:PlayStation Vita emulation software]][[Category:PlayStation 2 emulation software]][[Category:PlayStation 3 emulation software]][[Category:PlayStation 4 emulation software]][[Category:GameCube emulation software]][[Category:Nintendo Entertainment System emulatorsWii emulation software]][[Category:OS X Wii U emulation software]][[Category:NetPlay3DS emulation software]][[Category:Switch emulation software]][[Category:Xbox emulation software]][[Category:Xbox 360 emulation software]][[Category:Xbox One emulation software]][[Category:Web emulation software]]
Anonymous user

Navigation menu