Changes

Jump to navigation Jump to search

Using RetroArch

6,085 bytes added, 22:02, 28 January 2019
m
Protected "Using RetroArch" ([Move=Allow only administrators] (indefinite))
Work in progress guide. Please expand upon it.
 
==Basic Usage==
{{Main|Dummies Guide: RetroArch}}
After downloading [[RetroArch]],[[File:Rgui.png|thumb|205px|RGUI, RetroArch's original interface. XMB and GLUI follow the same basic structure.]] start up retroarch.exe.
==Installing RetroArch on Linux==
===Debian Ubuntu based===
First, add the PPA for <code>ppa:libretro/stable</code> or <code>ppa:libretro/testing</code> for stable builds and dev builds respectively (instructions [[Emulation on Ubuntu|here]]), then type the following into a terminal:
sudo apt-get update
libretro_directory = "/usr/lib/libretro"
You can also set the libretro path using the RGUImenu. In Retroarch, go to Settings -> Path Options -> Core Directory and navigate to the appropriate folder. If you set everything up correctly, you should see the cores when you select the ''Core'' option in the RGUImenu.
===Installation on Gentoo===
==General Setup/Usage==
===RGUI Menu Controls===
Default keys for the keyboard are: x (confirm), z (back) and the arrow keys. If you're using an XInput (xbox 360) controller, your controller should already be set-up.
===Mupen64Plus===
The following file need This core has the option to choose between four graphics plugins and two RSP plugins: *Glide64 is the most recommended general use graphics plugin, as it is very compatible and reasonably accurate while still being decently fast. *Rice is much faster than Glide64, but it also suffers from a lot more issues. Only use if your device is too slow to handle Glide64. *gln64 has even more problems than Rice, while not being much faster. Not recommended. Will likely be placed replaced with GLideN64 in the System folder near future. *Angrylion is ultra accurate, but is too slow for most people to use . Requires the Rice CXD4 RSP to work. Resolution must be set to 640x480 or higher. *paraLLEl is a Vulkan renderer based on Angrylion. It is much faster than Angrylion, but is still incomplete and has more issues. Turning Synchronous RDP off results in a speed boost, but also breaks many things. *The HLE RSP plugin:is very fast and will work fine for most games. *The CXD4 RSP is more accurate, and is needed for a few games to work correctly. A good general purpose setup is Glide64 with the CXD4 RSP. If it's a tad slow for your setup, switch to the HLE RSP.
*<code>RiceVideoLinuxThere is currently a bug in Glide64 that makes it so texture filtering is applied to everything, even when the Texture Filtering setting is set to Automatic. To make it display textures correctly, go to Core Options, toggle the setting to something other than Automatic, then set it back to Automatic. Glide64 will display textures correctly now, using the 3-point Bilinear method.ini</code>
Download it [http://wwwIf you get strange texture issues while using Glide64, such as textures partially disappearing or popping over polygons, mess around with the Polygon Offset Factor setting in Core Options until the issue goes away.mediafireKeep in mind some games may require a more aggressive setting than others, so experiment until you get a good balance that works for most games.com/?au459fbk8r86jat here]The optimal setting tends to be GPU-specific.
<code>Glide64mk2A few games, such as Star Fox 64, suffer from looking too dark due to a lack of gamma correction, which was done on real hardware.ini</code> Short of implementing this in a plugin, a decent workaround is no longer needed in to use the current version of mupen64plusimage-libretroadjustment.cg shader, and set the Target Gamma setting to 1.0. This will make such games look as it is baked into the Glide64 nowthey ought to.
===Super Game Boy===
retroarch "C:\Games\SNES\Super Game Boy 2 (Japan).sfc" --libretro ".\cores\bsnes_balanced_libretro.dll" --subsystem sgb "C:\Games\Game Boy\Kirby's Dream Land (USA, Europe).gb"
You will need <code>sgb.boot.rom</code> (CRC: ec8a83b9) in your System folder, this can be found on the [[Emulator Files]] page in the SNES file pack if you do not have it. If it is named "sgb_bios.bin" then rename it to "sgb.boot.rom".
CRC of Super Game Boy SNES cartridge roms:[http://wiki.libretro.com/index.php?title=Bsnes#Super_Gameboy_Support]*Super Game Boy (Japan, USA) (Rev 1).sfc (CRC: 27a03c98)*Super Game Boy (World) (Rev 2).sfc (CRC: 8a4a174f)*Super Game Boy 2 (Japan).sfc (CRC: cb176e45) You can also use the RetroArch-Phoenix launcher to launcher to load them, but YMMV since it is not being updated anymore. Also, you can create a batch file like [http://pastebin.com/raw.php?i=yLm3HuDT this] to be able to drag and drop Game Boy ROMs onto it and launch them in SGB mode. Also, if you are using nightly build or Linux build it might just hang at black screen, even if you have all correct requirements.
===Dual Analog Controllers===
===Audio DSP Plugins===
RetroArch supports loading audio DSP plugins to add effects such as reverb to the audio output. This has been in RetroArch for a long time, but was recently reworked to be easier to use and more accessible from RGUIthe menu, and are available in the main RetroArch repository now. Now you can load DSP filters using RGUI in the menu under Settings\>Audio>Audio Options\DSP FilterPlugin, where you can load a DSP preset with .dsp extension, which is a text file similar to a shader preset that lets you chain DSP filters and specify their options. The DSP filters themselves are dynamic libraries that are loaded according to the .dsp file. Each DSP filter has a standalone preset that documents the default options, and there are some example presets that combine more than one filter.
Note that some of these filters may reduce volume a bit, so you may want to boost RA's volume level to compensate. If you want to remove the filter, press Start when the DSP Filter option is highlighted.
===SoftFilters===
Classic emulator filters like SuperEagle or Blargg's NTSC have been available as bSNES bsnes filter plugins in the past, which is no longer supported in bSNESbsnes/higan but was still available in RetroArch. However, this filter format was recently replaced with the SoftFilter spec, which has been upgraded to support more platforms, multi-threading and SIMD usage. The filters are dynamic libraries which are loaded in RGUI the menu under Settings\>Video>Video\Soft Filter, which will apply the filter before any shaders are applied.
The filters are found [https://github.com/libretro/RetroArch/tree/master/gfx/video_filters here], which can be built for your platform with the makefile. These files should be included in nightly builds from the buildbot.
Note that these filters are WIP and may not work with all cores as they need to have codepaths for the pixel format the core uses (either 32bpp XRGB8888 or 16bpp RGB565). Blargg's NTSC is currently limited to 16bpp cores for example (bSNES bsnes is 32bpp so it won't work, but SNES9x Snes9x is 16bpp so it works there). Cores that use Libretro GL for 3D like Mupen64plus Mupen64Plus can not use these filters.
===Outputting log to a file===
retroarch --menu --verbose >> log.txt 2>&1
It will load up to RGUI the menu as if you just double clicked the executable, but it will redirect standard output and standard error to a text file called <code>log.txt</code> in your RetroArch folder. The command above will append to the log and not overwrite existing information, if you want it to overwrite, change ">>" into ">". This can be put into a .bat file to easily run it when desired.
==Building from source==
==Hotkeys==
*F1 - Open RGUImenu
*F2 - Save state
*F4 - Load state
===Menu runs too fast===
If Vsync is disabled for any reason, the menu may run unthrottled and scroll too fast to be usable. To fix this, enable ''Limit Maximum Run Speed'', and set ''Maximum Run Speed '' to 1.0xin ''Settings''→''Frame Throttle''. In the config file, these options are called <code>fastforward_ratio_throttle_enable</code> and <code>fastforward_ratio</code>. However, this will make fast forward not work, you will need to increase the ''Maximum Run Speed '' higher than 1.0x for that to work.
This tends to happen when you first start up RetroArch and not after loading a game. This is because without a core loaded, the menu is only throttled by Vsync when ''Limit Maximum Run Speed '' is disabled, while cores are able to throttle on audio as well. Fastforward disables both Vsync and audio sync, which allows the core to run unthrottled unless it is specifically limited by the ''Limit Maximum Run Speed '' setting. In newer RetroArch versions, you can just enable ''Throttle Menu Framerate'' under ''Settings''→''Frame Throttle'' to specifically limit the menu to 60fps without impacting fastforward speed.
===Command prompt running and closing itself upon running retroarch.exe===
If it happens on all cores with a clean config file, then try changing <code>video_driver</code> setting from <code>gl</code> to <code>d3d</code> or <code>sdl2</code>, if you have a particularly ancient GPU.
 
===Performance issues while using the GL driver===
 
Windows users with Nvidia hardware may find that even while idle, RetroArch CPU usage is upwards of 12% or above while using the GL video driver. If this is the case, go into the Nvidia Control Panel, and under Manage 3D Settings, check to see if the Threaded Optimizations option is set to Auto or On. If so, add retroarch.exe to the list of programs, and then toggle it to Off. This should lower CPU usage drastically.
 
===Stuttering due to inaccurate refresh rate estimation===
 
RetroArch uses [[Vsync#Dynamic_Rate_Control|Dynamic Rate Control]] to synchronize both audio and video rates of the emulated game to those of your system. It relies on the refresh rate setting being accurate to your display. By default, it is set to sync to 59.95Hz, which is the standard rate for NTSC video. However, if your display runs at a different rate than what , it can cause problems with synchronization, so you should make sure that setting accurately reflects your display's actual refresh rate. If you don't know your display's exact refresh rate, RetroArch provides a couple of ways of accurately estimating it.
 
The first method is to go into ''Settings''→''Video'' in the menu, and go to ''Estimated Monitor Framerate''. You'll probably see it already counting up frames as soon as you enter that menu. In order to get an accurate reading, press '''Start''' button or '''Spacebar''' key to reset the counter, then let it run for 2048 frames (about 34 seconds at 60fps), then press '''A''' button or '''Enter''' key to have the estimation set as the refresh rate for synchronization. A lower deviation is better for accurate estimation, using exclusive fullscreen can help with that.
 
The second method is to simply launch RetroArch from the command line in verbose logging mode, by doing <code>retroarch --menu --verbose</code>, and let it run for at least 4096 frames (about 1 minute at 60fps). When you close RetroArch, it will report the estimation results in the log. Again, running in exclusive fullscreen gives more accurate results. Example estimation output:
 
RetroArch [INFO] :: Average audio buffer saturation: 49.84 %, standard deviation (percentage points): 11.99 %.
RetroArch [INFO] :: Amount of time spent close to underrun: 0.70 %. Close to blocking: 1.04 %.
RetroArch [INFO] :: Average monitor Hz: 60.006001 Hz. (27.568 % frame time deviation, based on 2048 last samples).
 
The refresh rate given there should be very accurate, and you can copy it into <code>video_refresh_rate</code> in your config file.
 
===Stuttering on multi-monitor setups===
 
Further testing is needed, but on multi-monitor setups on Windows using the GL driver, it appears RetroArch will only sync smoothly when outputting to the Windows-designated primary monitor. Outputting to a secondary monitor will often result in occasional stutter, even in exclusive fullscreen and after accurate refresh rate estimation, [https://mollyrocket.com/casey/blog_0032.html possibly due to a WGL oversight]. Short of switching primary and secondary designations prior to opening RetroArch, increasing audio latency and/or using only video sync seems to help mitigate this to an extent. Switching to either the D3D or Vulkan (if available) driver appears to eliminate this problem completely.
==External links==
*[https://github.com/libretro/RetroArch/wiki/RGUI RGUI Documentation]
*[http://www.libretro.com/index.php/wiki/configuration/general-configuration/ General Configuration]
*[http://www.libretro.com/index.php/wiki/configuration/windows-guide/ Advanced Configuration]
[[Category:FAQs]]
[[Category:RetroArch]]

Navigation menu