Editing Using RetroArch

Jump to navigation Jump to search

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision Your text
Line 1: Line 1:
 
==Basic Usage==
 
==Basic Usage==
 
{{Main|Dummies Guide: RetroArch}}
 
{{Main|Dummies Guide: RetroArch}}
After downloading [[RetroArch]],[[File:Rgui.png|thumb|300px|RGUI, RetroArch's original interface.]]
+
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.
[[File:GLUI.png|thumb|300px|GLUI]]
 
[[File:XMB.jpeg|thumb|300px|XMB]]
 
[[File:Ozon.png|thumb|300px|Ozon]]
 
start up retroarch.exe.
 
  
 
To launch a game, select the libretro core you'd like to use under '''Load Core''', and select a ROM under '''Load Content>Select File'''. Alternatively, you can use '''Load Content>Select File And Detect Core''' to be presented with a list of cores detected based on the file extension of the content.
 
To launch a game, select the libretro core you'd like to use under '''Load Core''', and select a ROM under '''Load Content>Select File'''. Alternatively, you can use '''Load Content>Select File And Detect Core''' to be presented with a list of cores detected based on the file extension of the content.
Line 16: Line 12:
 
  sudo apt-get update
 
  sudo apt-get update
 
   
 
   
  sudo apt-get install retroarch
+
  sudo apt-get install retroarch retroarch-assets retroarch-joypad-autoconfig
 
   
 
   
 
  sudo apt-get install <corename>
 
  sudo apt-get install <corename>
Line 56: Line 52:
  
 
Set USE flags that you want, it is not required to enable every single one (you only need at least one audio and video output device; defaults are suitable enough). It is recommended to add udev for joystick support and netplay for netplay support.
 
Set USE flags that you want, it is not required to enable every single one (you only need at least one audio and video output device; defaults are suitable enough). It is recommended to add udev for joystick support and netplay for netplay support.
 +
  
 
Build and install RetroArch from the git repository
 
Build and install RetroArch from the git repository
Line 74: Line 71:
  
 
The cores will be installed under /usr/lib/libretro/
 
The cores will be installed under /usr/lib/libretro/
 +
  
 
===Other Distros===
 
===Other Distros===
Line 98: Line 96:
  
 
If you are going to play in a system that needs a BIOS (e.g. PS1), place the [[Emulator_Files#Multi-System|BIOS files]] in RetroArch's 'system' directory.
 
If you are going to play in a system that needs a BIOS (e.g. PS1), place the [[Emulator_Files#Multi-System|BIOS files]] in RetroArch's 'system' directory.
 +
 +
Mednafen is very picky about which BIOS to use. The ones that you might need are:
 +
 +
<ul>
 +
<li class="de2"><code>scph5500.bin</code></li>
 +
<li class="de2"><code>scph5501.bin</code></li>
 +
<li class="de2"><code>scph5502.bin</code></li>
 +
</ul>
  
 
===Disc images===
 
===Disc images===
  
RetroArch requires you to load games through CUE sheets. Ensure that the CUE sheet is properly set up in order for the game to run. See the [[Cue sheet (.cue)]] for more.
+
[[Mednafen]] requires you to load games through CUE sheets. Ensure that the CUE sheet is properly set up in order for the game to run. See the [[Cue sheet (.cue)]] for more.
  
 
===Mupen64Plus===
 
===Mupen64Plus===
Line 113: Line 119:
  
 
*Angrylion is ultra accurate, but is too slow for most people to use. Requires the CXD4 RSP to work. Resolution must be set to 640x480 or higher.
 
*Angrylion is ultra accurate, but is too slow for most people to use. Requires the 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 HLE RSP plugin is very fast and will work fine for most games.
Line 154: Line 158:
  
 
===Transfer PS1 Memory Card Files===
 
===Transfer PS1 Memory Card Files===
RetroArch creates memory card files for each individual game, in contrast to PCSX-R/ePSXe where all game saves are stored into 2 memory card files. To transfer memory card files from PCSX-R/ePSXe to RetroArch:
+
Mednafen creates memory card files for each individual game, in contrast to PCSX-R/ePSXe where all game saves are stored into 2 memory card files. To transfer memory card files from PCSX-R/ePSXe to RetroArch:
  
 
*Start game in RetroArch.
 
*Start game in RetroArch.
Line 193: Line 197:
  
 
===SoftFilters===
 
===SoftFilters===
Classic emulator filters like SuperEagle or Blargg's NTSC have been available as bsnes filter plugins in the past, which is no longer supported in bsnes/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 the menu under Settings>Video>Video Filter, which will apply the filter before any shaders are applied.  
+
Classic emulator filters like SuperEagle or Blargg's NTSC have been available as bSNES filter plugins in the past, which is no longer supported in bSNES/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 the menu under Settings>Video>Video 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.
 
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 is 32bpp so it won't work, but Snes9x is 16bpp so it works there). Cores that use Libretro GL for 3D like Mupen64Plus can not use these filters.
+
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 is 32bpp so it won't work, but SNES9x is 16bpp so it works there). Cores that use Libretro GL for 3D like Mupen64plus can not use these filters.
  
 
===Outputting log to a file===
 
===Outputting log to a file===
Line 240: Line 244:
 
===Menu runs too fast===
 
===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.0x in ''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.
+
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.0x in Settings under 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.
+
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 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.
+
In newer RetroArch versions, you can just enable Throttle Menu Framerate in setting under Frame Throttle to specifically limit the menu to 60fps without impacting fastforward speed.
  
 
===Command prompt running and closing itself upon running retroarch.exe===
 
===Command prompt running and closing itself upon running retroarch.exe===
Line 254: Line 258:
 
===Performance issues while using the GL driver===
 
===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.
+
Nvidia users 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==
 
==External links==

Please note that all contributions to Emulation General Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see Emulation General Wiki:Copyrights for details). Do not submit copyrighted work without permission!

To edit this page, please answer the question that appears below (more info):

Cancel Editing help (opens in new window)

Template used on this page: