Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Retroarch: Difference between revisions

From OoT Randomizer Wiki
→‎Install a RetroArch Core: Point out mupen64plus Next core troubleshooting step
 
(85 intermediate revisions by 5 users not shown)
Line 1: Line 1:
'''by Raizuto'''
'''by Raizuto'''


RetroArch is the only cross-platform emulator supported by the Ocarina of Time Item Randomizer staff, and the number 1 recommended one. It is also possible to use it to play a vast number of platforms other than N64 as well. This might just make it your emulator of choice once you get used to using it.
RetroArch is the only cross-platform emulator supported by the Ocarina of Time Item Randomizer staff. It is also possible to use it to play a vast number of platforms other than N64 as well. This might just make it your emulator of choice once you get used to using it.


Install [http://www.retroarch.com/index.php?page=platforms RetroArch] by choosing the download for your operating system. If you are using Windows and RetroArch crashes upon opening for you using the Windows 10/8/7 32bit and 64bit options, try installing the Windows XP 32bit or 64bit installations instead.
== Installing RetroArch ==
[[File:RetroArch-Download-Stable.jpeg|none|thumb|RetroArch Downloads Page and Download Stable button]]
Go to the [http://www.RetroArch.com/index.php?page=platforms RetroArch downloads page] and click the button labeled {{kbd|Download Stable}}. Run the installer file it downloads.
 
=== Windows Specific Installation ===
On Windows you may get a popup when trying to run the installer that warns you if you do not have <samp>DirectX 9.0c</samp> installed<sup>1</sup>. Press {{kbd|OK}} to continue. Click {{kbd|Next >}} until it asks you where you would like to install RetroArch<sup>2</sup>. The default path should be <var>C:\Users\&lt;yourusername&gt;\AppData\Roaming\RetroArch</var>. If it does not display this location it is recommended to copy and paste the following text into the box: {{kbd|%AppData%\RetroArch}} and then continue clicking {{kbd|Next >}}. Soon you will see the <samp>Choose Components</samp> screen<sup>3</sup>. Make sure you click the checkbox next to {{kbd|DirectX 9.0c Runtime}} before clicking {{kbd|Next >}}. Keep clicking {{kbd|Next &gt;}} until the <samp>Install</samp> button appears. Once you click {{kbd|Install}} RetroArch will begin installing.
 
Before RetroArch finishes installing it should pop up the DirectX installer. Click {{kbd|Next &gt;}} until you get to the screen offering to install the Bing Bar<sup>4</sup>. You should uncheck {{kbd|Install the Bing Bar}} before clicking {{kbd|Next &gt;}}. Once you finish the DirectX installation the RetroArch installation will finish as well.
<gallery mode="slideshow" showthumbnails="">
File:RetroArch-Windows-DirectXWarning.jpeg|1. The DirectX not installed warning.
File:RetroArch-Windows-InstallLocation.jpeg|2. The location you install to should be similar to the one displayed here. Copy the value displayed above if it doesn't.
File:RetroArch-Windows-ChooseComponents.jpeg|3. Make sure DirectX 9.0c Runtime is checked.
File:RetroArch-Windows-DirectXBingBar.jpeg|4. Make sure you uncheck this so you don't end up with software you don't need on your computer.
</gallery>
 
=== Mac Specific Installation ===
 
==== Downloading and Installing ====
 
Go to the [http://www.RetroArch.com/index.php?page=platforms RetroArch downloads page] and download the '''Apple macOS / OSX Intel''' build. This will work with High Sierra and above (including Mojave and Catalina). Don't download the '''Apple macOS High Sierra (and later) with Metal2''' build as the ParaLLeL Core will not work. This may change in the future.
 
When downloading, ensure that the downloaded application is '''copied to the desktop''' as shown in the [https://youtu.be/hu-TW02bhhY?t=182 official installation video] provided on the download website. '''DO NOT''' open from the disk image. If you opened RetroArch from the disk image, copying it from the Desktop should resolve the issue immediately. If it does not, you'll need to [[Retroarch#retroarch.cfg (for Mac users)|delete your retroarch.cfg file]].
<gallery mode="slideshow" showthumbnails="">
File:RetroArch-Mac-ChooseInstall.JPG|1. This is what you want to download.
File:RetroArch-Mac-DiskImage.png|2. DO NOT open from the disk image.
File:RetroArch-Mac-DirectoryError.png|3. If you open from the disk image, the file paths will be mixed up.
</gallery>


== Install a RetroArch Core ==
== Install a RetroArch Core ==
You should now be at the <samp>Main Menu</samp> of RetroArch<sup>1</sup>. You can switch between the different menus on the left side of the screen when you are on the top-most sub-menu of a menu. If you can't see the left sidebar with the different menus listed and you need to switch which menu you are in, you can press <kbd>Backspace</kbd>, <kbd>X</kbd>, or the <kbd>Right Mouse Button</kbd> until you see it again. To open a menu, submenu, or option you can press <kbd>Enter</kbd> or <kbd>Z</kbd> while it is highlighted, or <kbd>Left Mouse Button</kbd> while hovering over it. ''Keep in mind that these are the default controls in RetroArch''. If you change these keyboard bindings in the <samp>Settings</samp> menu, you'll have to use the buttons you bound to A or Start to select, and the buttons you bound to B or Back to go back to the previous menu. Using the mouse controls should always work properly, so we will assume you are using them throughout the rest of the guide.
On the <samp>Main Menu</samp> click on the {{kbd|Load Core}} option. In the <samp>Load Core</samp> submenu, you will normally see your installed cores. Since you just installed RetroArch you won't see any. Click the {{kbd|Download a Core}} option<sup>2</sup>. In the <samp>Core Updater</samp> menu that appears, scroll down to the <samp>Nintendo - Nintendo 64</samp> options. It is recommended that you choose the <samp>Nintendo - Nintendo 64 (Mupen64Plus-Next)</samp> core option<sup>3</sup>. You can also choose the <samp>Nintendo - Nintendo 64 (ParaLLEl N64)</samp> core option if you Next doesn't work for you. '''Windows Users:''' the <samp>Nintendo - Nintendo 64 (Mupen64Plus-Next GLES3)</samp> option should not be chosen. This is a special build of the Mupen64Plus-Next core intended to run on XBox One devices. '''It will not run on Windows PCs'''.
<gallery mode="slideshow" showthumbnails="">
File:RetroArch-InstallCore-MainMenu.jpeg|1. The Main Menu of RetroArch. You'll want to return here often.
File:RetroArch-InstallCore-DownloadCore.jpeg|2. You'll need to download a core before you can play any ROMs.
File:RetroArch-InstallCore-ParaLLEl.jpeg|3. Mupen64Plus-Next is the preferred core, but some older systems will require you to use ParaLLEl
</gallery>
== Configure RetroArch ==
From the top menu level of the <samp>Main Menu</samp> click on the {{kbd|Settings}} menu below the <samp>Main Menu</samp> in the sidebar on the left. Scroll down to {{kbd|Saving}} and change {{kbd|SaveRAM Autosave Interval}}<sup>1</sup> to {{kbd|10}} seconds by clicking it, and the scrolling down to {{kbd|10 seconds}}.
Next, go back to the top level menu of <samp>Settings</samp>. Scroll down and select the option {{kbd|Directory}}<sup>2</sup>. In the menu this opens scroll down and select the option called {{kbd|File Browser}}<sup>3</sup>. You will be presented with an overview of your system partitions. Navigate through your computer files to the folder you keep your ROMs in. '''They will not show up yet'''. Choose {{kbd|Use this directory}}<sup>4</sup> anyway. Most browsers will save your randomizer ROM to your Downloads folder by default<sup>5</sup>. However, if you are using the downloaded version of the Ocarina of Time Randomizer the default location for your patched ROMs is a folder called <samp>Output</samp> next to the <samp>.exe</samp> file you double click to start the randomizer.
Once you have finished configuring RetroArch you must properly restart it. ''Do not press <kbd>Esc</kbd> or the X in the top right corner.'' Go back to the {{kbd|Main Menu}} and move all the way down to the option near the bottom {{kbd|Quit RetroArch}}<sup>6</sup>. Once you reopen RetroArch go to {{kbd|Load Content|Start directory}}. You should now see your ROMs<sup>7</sup>. When you choose one of your ROMs it may ask you which core you want to use if you downloaded more than one of them. It is recommended that you choose {{kbd|Nintendo - Nintendo 64 (Mupen64Plus-Next)}}<sup>8</sup> for the best peformance and fewest bugs.
<gallery mode="slideshow" showthumbnails="">
File:RetroArch-Configure-AutoSave.png|1. With this option RetroArch will periodically save your save data to disk. This will prevent most data loss in the event of a crash.
File:RetroArch-Configure-Directory.jpeg|2. This option lets you set where RetroArch saves and looks for various files on your computer.
File:RetroArch-Configure-FileBrowser.jpeg|3. File Browser defines the <samp>Start Directory</samp> that RetroArch uses when you are picking your ROM.
File:RetroArch-Configure-UseThisDirectory.jpeg|4. Your ROM files will not show up here! You still want to click &lt;Use this directory&gt; so that they will show up in a couple more steps.
File:RetroArch-Configure-Downloads.jpeg|5. You probably want your File Browser setting to have a similar path to this image.
File:RetroArch-Configure-Restart.jpeg|6. RetroArch will delete any changes you made if you do not restart it properly. Always use this option to ensure your settings get saved.
File:RetroArch-Configure-StartDirectory.jpeg|7. Your ROMs should now appear when you select this menu option if you set your <samp>File Browser</samp> directory properly. If you don't you should go back to that step and try again.
File:RetroArch-Configure-SelectCore.jpeg|8. Mupen64Plus-Next is the preferred core, but some older systems will require you to use ParaLLEl
</gallery>
=== Required Settings for Racing ===
If you wish to partake in our community's races, then don't forgot to also configure the settings mentioned [[Racing#RetroArch|here]].
== Keyboard Configuration ==
If you are going to use a controller, [[Retroarch#Controller Configuration|skip this section]].
Head to {{kbd|Settings|Input|Port 1 Input Binds}}. An example of some control binds when using a keyboard can be found [https://docs.google.com/document/d/1F8JOk-eqoowZyeYtoF3XLBh1EwYULddo6ZyFgFYxU5M/edit here].
== Controller Configuration ==
First, take a look at the [[Controller Setup]] guide. Ensure your controller is calibrated, and if you are using one of the controllers with additional setups steps in that guide make sure you follow them.
If your controls don't feel quite right, while running the ROM press <kbd>F1</kbd> to access the {{kbd|Quick Menu|Options}} menu. If your stick causes input without you trying to, change the <samp>Analog Deadzone</samp> to {{kbd|10}} or higher if that is not enough. If you aren't able to both walk and run increase <samp>Analog Sensitivity</samp> to make it easier to run. Decrease it to make it easier to walk.


Go to ''Load Core'' on the main menu. [[File:Retroarch-Load-core.png|none|thumb|Load Core]]
=== Remap Your Controls ===
You'll probably need to customize your controller inputs by loading your ROM and pressing the <kbd>F1</kbd> key to bring up the RetroArch <samp>Quick Menu</samp>. Choose {{kbd|Controls|Port 1 Controls}}. Highlight the control on your controller on the left side and press <kbd>←</kbd> and <kbd>→</kbd> to cycle through the available N64 controller options on the right side.


Then select ''Download Core...''
Make sure <samp>C-Buttons Mode</samp> is not bound to any of your controls. This is intended for controllers without enough buttons/a right analog stick to map C-Buttons to and usually causes controller issues.


[[File:RA-Download-Core.png|none|thumb|Download Core]]
==== Gamecube Style C-Buttons ====
If you want to emulate the Gamecube controller's style of C-Buttons, where they are bound to the right analog stick and the the extra face buttons on your controller, you need to enable another setting. Press <kbd>F1</kbd> to open the <samp>Quick Menu</samp> and scroll down and select {{kbd|Options}}. Scroll down and switch the <samp>Independant C-button Controls</samp> from <samp>False</samp> to {{kbd|True}}. This will add controls like <samp>C-Down</samp> and <samp>C-Up</samp> to the right side of the Controls remappings.


After the core index list populates, go down until you find ''Nintendo - Nintendo 64 (ParaLLEl N64)'' and install it. If this core gives you issues you can try ''Nintendo - Nintendo 64 (Mupen64Plus - Next)'' however it is likely to crash somewhat frequently. To help prevent this try [[#Mupen64plus Next crashes|changing CPU Core from dynamic_recompiler to cached_interpreter]] after following the rest of the guide.
Head back to the <samp>Quick Menu</samp> and go over to {{kbd|Controls|Port 1 Controls}} and map your face buttons to the <samp>C-*</samp> options, and your right analog stick to the <samp>C Buttons *</samp> analog control values.


[[File:Retroarch 01.png|none|thumb|ParaLLEl Core]]
=== GameCube Controller Setup ===


Now that the core is installed you can backspace back out to the main menu.
==== MayFlash GameCube Adapter ====
Make sure the switch on the back of your controller is set to {{kbd|PC}}. If you just downloaded RetroArch the controller should just work. If not, go to {{kbd|Online Updater}} on the <samp>Main Menu</samp> and choose {{kbd|Update Joypad Profiles}}. Once it finishes downloading and extracting the zip file, restart RetroArch.


== Configure RetroArch ==
Your controller should now be working. If it isn't you can try the different controller ports or go to {{kbd|Settings|Input|Port 1 Input Binds}}. Highlight <samp>Device Index</samp> and press <kbd>←</kbd> or <kbd>→</kbd> to choose the correct MAYFLASH Controller number.
 
==== Official Adapter or Wii U/Switch Mode ====
 
Make sure the GCN USB Adapter program is running.
 
Start RetroArch and go to {{kbd|Settings|Drivers}} and make sure <samp>Joypad Driver</samp> is set to {{kbd|xinput}}. Then use the {{kbd|Quit RetroArch}} option in the main menu to properly close RetroArch and save your new configuration if you changed it.


Move over to the ''Settings'' column in the menu. Head down to ''Saving'' and change ''SaveRAM Autosave Interval'' to 10 seconds by selecting it and pressing the right arrow key.
You'll want to save [https://pastebin.com/raw/QAhXFvUS this configuration file] as {{kbd|vJoy_Device_GameCube.cfg}} in your RetroArch XInput autoconfig directory. You should find this folder by pasting {{kbd|%AppData%\RetroArch\autoconfig\xinput}} in the Windows Explorer address bar and pressing <kbd>Enter</kbd>. Once that file is in place start RetroArch. You should get a message saying something like <samp>vJoy device #1 configured in Port #0</samp>.


[[File:RA-Saving-Interval.png|none|thumb|RA-Saving-Interval.png]]
If your controller is not working still, click on the {{kbd|Windows Gamepad Info}} button to bring up the list of connected controllers on your computer.<sup>1</sup> The vJoy gamepads should be in order of what number RetroArch is expecting. Try each one by clicking it's entry, pressing the {{kbd|Properties}} button and moving the control stick. Whichever on causes the cursor in the square to move is the number you want to remember. Go back to RetroArch and head to {{kbd|Settings|Input|Port 1 Input Binds}}. Highlight <samp>Device Index</samp> and press <kbd>←</kbd> or <kbd>→</kbd> to choose the correct vJoy Device number.<sup>2</sup> You may have to do this every time you restart the driver application.


Next, go back to the ''Settings'' column and go down to ''Directory''
Your controller should now be working.


<gallery>
<gallery mode="slideshow" showthumbnails="">
File:Retroarch 02.png|Directory
File:RetroArch-GameCube-WindowsGameControllers.png|1. The Windows Game Controller dialog with the list of vJoy Devices.
File:Retroarch 03.png|Downloads
RetroArch-GameCube-vJoyDeviceNumber.png|2. vJoy Device #4 was the correct one for this time.|link=File:RetroArch-GameCube-vJoyDeviceNumber.png
</gallery>
</gallery>


Select ''Downloads'' with <code>Enter</code>. You will be presented with an overview of your system partitions.
=== Switch Pro Controller ===
 
You'll need to install [https://store.steampowered.com/ Steam.]
 
Next, you'll need to [https://store.steampowered.com/app/1118310/RetroArch/ install RetroArch through Steam] (don't worry, it's still free).
 
Afterwards, right-click on your Steam icon and go to {{kbd|Settings}}. Click on the {{kbd|Controller}} section and click on {{kbd|General Controller Settings}}


[[File:Retroarch 04.png|none|thumb|Filesystem]]
Make sure {{kbd|Switch Pro Configuration Support}} is checked.  


Navigate through your computer files to the folder you keep your ROMs in. '''They will not show up yet'''. Choose ''Use this directory'' anyway. If you are using the downloaded version of the Ocarina of Time Randomizer the default location for your patched ROMs is a folder called ''Output'' next to the <code>.exe</code> file you double click to start the randomizer.
You should now be able to configure your Switch Pro Controller in RetroArch (through Steam).


Once you have finished configuring RetroArch you must properly restart it. ''Do not press <code>Esc</code> or the X in the top right corner.'' Go to the far left column in the menu and move all the way down to the option near the bottom ''Quit Retroarch''. Once you reopen RetroArch you should be able to load your ROMs in the ''Downloads'' section of the ''Load Content'' menu.
== ParaLLEl Graphics Configuration (Console-Accurate Graphics) ==
The ParaLLEl core will use the glide64 graphics plugin by default and Mupen64Plus-Next will use GLideN64 by default. Glide64 is a plugin that works well on many graphics cards, but has several graphical issues. GLideN64 is actually fairly good at displaying things properly, but still doesn't always work exactly how graphics would work on the N64. ParaLLEl and Mupen64Plus-Next have a graphics plugin that is nearly flawless in recreating N64 graphics, but requires somewhat modern hardware to run, and will perform slower overall than the other available plugins. If you have a graphics card made after 2012 it should support this more accurate plugin.


[[File:Retroarch 05.png|none|thumb|ROMs under here appear after restarting RetroArch]]
=== Check If Your Hardware Supports Vulkan ===
You can check [https://vulkan.gpuinfo.org/ this website] to see if your graphics card supports any version of Vulkan. If you're not sure what GPU your computer has, [https://www.howtogeek.com/414201/how-to-check-what-graphics-card-gpu-is-in-your-pc/ try one of these methods to find out]. If you find your graphics card supports Vulkan you can continue. ''If it does not, please do not proceed''. You may cause ParaLLEl to start crashing if you try to follow these instructions without a compatible graphics card.


== Controller Configuration ==
=== Activate parallel RDP And RSP ===
If your ParaLLEl or Mupen64Plus-Next core was downloaded before June of 2020, please make sure it is up-to-date now by going to {{kbd|Main Menu|Online Updater|Update Installed Cores}} to update your cores.


If your controls don't feel quite right, access the Quick Menu by pressing <code>F1</code> while a ROM is loaded. Go down to ''Options'' and change the deadzone to 10 and analog sensitivity to 80. You may wish to make further personal adjustments as necessary as well.
Now load a ROM with the either core. Open the <samp>Quick Menu</samp> by pressing <kbd>F1</kbd> or whatever hotkey you have bound to open the menu in RetroArch. Select {{kbd|Options}} and scroll down to <samp>GFX Plugin</samp> and set it to {{kbd|parallel}} if you are using the Parallel core, or scroll down to <samp>RDP Plugin</samp> and set it to {{Kbd|ParaLLEl RDP}} if you are using Mupen64Plus-Next. Scroll down to <samp>RSP plugin</samp> and also set it to {{kbd|parallel}}. While you are here you will probably also want to set <samp>(ParaLLEl-RDP) Upscaling factor (restart)</samp> to {{kbd|2x}}. If you experience performance issues, be sure to try setting this back to 1x first to see if it improves.


== HiRes Texture Packs ==
== Texture Packs ==


Keep in mind texture packs are not allowed to be active for races. [[HiRes Texture Packs]]
The following link will let you set up texture packs for [https://wiki.ootrandomizer.com/index.php?title=HiRes_Texture_Packs RetroArch]


== Tips ==
== Tips ==


*To unbind any button/key hit the delete key on your keyboard in the input settings.  
*To unbind any button/key hit the <kbd>Delete</kbd> key on your keyboard in the input settings.  
*'''Never''' close RA via it’s top right X, close it from far left Main Menu ''Quit Retroarch''.  
*'''Never''' close RA via it’s top right X, close it from far left Main Menu {{kbd|Quit RetroArch}}.  
*If you want Retroarch to keep running in the background, go over to the ''Settings'' column in the menu, then down to ''User Interface'', hit enter and set ''Don’t run in the background'' to ''OFF''.  
*If you want RetroArch to keep running in the background, go over to the <samp>Settings</samp> column in the menu, then down to <samp>User Interface</samp>, hit <kbd>Enter</kbd> and set <samp>Don’t run in the background</samp> to {{kbd|OFF}}.
*To enable the FPS display, go to {{kbd|Settings|On-Screen Display|On-Screen Notifications}} and switch <samp>On-Screen Notifications</samp> to <kbd>ON</kbd> if it is not already. Then, change <samp>Display Framerate</samp> to <kbd>ON</kbd>.
*To be able to position the FPS counter, go to {{kbd|Settings|On-Screen Display|On-Screen Notifications}} and set <samp>Graphics Widgets</samp> to {{kbd|OFF}} and then restart RetroArch.




If your controller does not have a default profile or you are using a keyboard, the following information may be helpful.
If your controller does not have a default profile or you are using a keyboard, the following information may be helpful.
*Don't alter the Main Menu bindings for controllers that have default profiles. Open the Quick Menu and change the button mapping there instead.
*Don't alter the Main Menu bindings for controllers that have default profiles. Open the Quick Menu and change the button mapping there instead.
*Left side user input binds (the <code>Delete</code> key will delete any binding)
*Left side user input binds (the <kbd>Delete</kbd> key will delete any binding)
**'''B button''' is equivalent to N64 A Button  
**'''B button''' is equivalent to N64 A Button  
**'''Y button''' is equivalent to N64 B Button  
**'''Y button''' is equivalent to N64 B Button  
Line 67: Line 154:
**'''Movement:'''  
**'''Movement:'''  
***Left analog X+ = Right  
***Left analog X+ = Right  
***Left analog X-&nbsp; = Left  
***Left analog X- = Left  
***Left analog Y+ = Down  
***Left analog Y+ = Down  
***Left analog Y-&nbsp; = Up   
***Left analog Y- = Up   
**'''<ins>C-Buttons/C-Stick:</ins>'''  
**'''C-Buttons/C-Stick:'''  
***Right analog X+ = C-Right  
***Right analog X+ = C-Right  
***Right analog X-&nbsp; = C-Left  
***Right analog X- = C-Left  
***Right analog Y+ = C-Down  
***Right analog Y+ = C-Down  
***Right analog Y-&nbsp; = C-Up
***Right analog Y- = C-Up


== Common Issues ==
== Common Issues ==


There are several issues that crop up often when new users try out RetroArch.
There are several issues that can occur in RetroArch.
 
=== Abnormal FPS Increases ===
 
Go to {{kbd|Settings|Frame Throttle}} and set <samp>Fast-Forward Rate</samp> to {{kbd|1.0x}}.
 
=== Boots are equipped / Ocarina pulled out randomly while walking ===
 
Go to the {{kbd|Settings|Input|Port 1 Input Binds}} menu and set <samp>Analog to Digital</samp> to {{kbd|None}}.
 
=== Crash when loading ROM ===
 
If using the <samp>Nintendo - Nintendo 64 (Mupen64PlusNext)</samp> core, try the {{kbd|Nintendo - Nintendo 64 (ParaLLEl N64)}} core instead. If using the <samp>Nintendo - Nintendo 64 (ParaLLEl N64)</samp> core, try the {{kbd|Nintendo - Nintendo 64 (Mupen64PlusNext)}} core instead.
 
=== Input Lag ===
 
If you're experiencing abnormal input lag with your controller, go to {{kbd|Settings|Latency}} and adjust the <samp>Polling Behavior</samp>.
 
=== Mupen64Plus-Next Freezes ===
 
This is an issue with versions prior to Mupen64plus-Next 2.3 which was released on July 14, 2021. Please update yor cores from the {{kbd|Cores Updater}} in the main menu. Also, after loading a ROM press <kbd>F1</kbd> to open the <samp>Quick Menu</samp>. Under <samp>Options</samp> Move down to <samp>Ignore emulated TLB Exceptions</samp> and press the <kbd>→</kbd> arrow key until the selection changes to <samp>Don't Ignore</samp>.
 
=== Mupen64Plus-Next Epona Carrots ===
 
This is an issue with versions prior to Mupen64plus-Next 2.3 which was released on July 14, 2021. Please update your cores from the {{kbd|Cores Updater}} in the main menu. Also, after loading a ROM press <kbd>F1</kbd> to open the <samp>Quick Menu</samp>. Under <samp>Options</samp> Move down to <samp>Ignore emulated TLB Exceptions</samp> and press the <kbd>→</kbd> arrow key until the selection should changes to <samp>Don't Ignore</samp>.
 
=== My A and B Buttons Are Swapped On The Menu ===
 
Go into {{kbd|Settings|Input|Menu Controls}} and change the {{kbd|Menu Swap OK & Cancel Buttons}} option.
 
=== My Remapping in Quick Menu Controls Won't Save ===
 
If your remapping won't save even after using {{kbd|Quit RetroArch}} in the main menu, you may have to explicitly save the remappings. Open the <samp>Quick Menu</samp> with <kbd>F1</kbd>, go down to {{kbd|Controls}} and map your controls how you wish. Once you have done so, go back to the <samp>Controls</samp> menu. Near the top of the menu is a <samp>Save Core Remap File</samp> option. Select this to save these controller binds for all randomizer ROMs you open in the future.


=== No Audio ===
=== No Audio ===


Go into the Driver Menu (first thing under the Settings Menu Column) and change the Audio Driver from xaudio to dsound. Then quit RetroArch properly via the Main Menu and restart it.  
Go into the {{kbd|Settings|Drivers}} menu and change the <samp>Audio Driver</samp> from <samp>xaudio</samp> to {{kbd|dsound}}. Then quit RetroArch properly via the Main Menu and restart it.
 
=== One of My Buttons Won't Work ===
 
If you messed with the Main Menu User Input Binds you likely configured something wrong. It is not recommended to ever modify controller binds this way unless your controller doesn't have a built in profile. To reset your controller bindings to their default you have to load the default <samp>RetroArch.cfg</samp> again.


=== Retroarch crash when loading ROM ===
If you have a ROM loaded, start by pressing <kbd>F1</kbd> to open the <samp>Quick Menu</samp> then press <kbd>Backspace</kbd> to get back to the <samp>Main Menu</samp>.


If using the Nintendo - Nintendo 64 (Mupen64Plus) core, try the Nintendo - Nintendo 64 (ParaLLEl N64) core instead. If using the& Nintendo - Nintendo 64 (ParaLLEl N64) core, try the Nintendo - Nintendo 64 (Mupen64Plus) core instead.  
Go to the far left menu item, <samp>Main Menu</samp>. Move down to '<samp>Configurations</samp> and press <kbd>Enter</kbd>. Select <samp><Parent directory></samp> and hit <kbd>Enter</kbd>. Scroll down to the file <samp>RetroArch.default.cfg</samp> and press <kbd>Enter</kbd>.


=== Mupen64plus Next crashes ===
=== Overwriting Controller Autoconfig(s) ===


Mupen64plus Next core is known to crash more frequently than the older mupen64plus core. To help reduce how often it crashes you can try changing the CPU core. After loading a ROM press <code>F1</code> to open the "Quick Menu" and move down to "Options" and press <code>Enter</code>. Move down to "CPU Core" and press the <code></code> arrow key once. The selection should change from <code>dynamic_recompiler</code> to <code>cached_interpreter</code>. If it does not, just press the key again.
If you've inadvertently overwritten a controller autoconfig, you'll need to close RetroArch. Next, go to your <var>RetroArch</var> folder and delete the <var>autoconfig</var> folder. Afterwards, launch RetroArch and go to {{kbd|Main Menu|Online Updater}} and click on <samp>Update Controller Profiles</samp>.


Once you have changed the option, press <code>Backspace</code> once to return to the "Quick Menu" and select <code>Close Content</code> to close the ROM and the core. Simply run the ROM again and your mupen64plus Next core should be running with the more stable, albeit slightly slower, cached interpreter.
=== ParaLLEl Black Screen or Crashes ===


=== Boots are equipped / Ocarina pulled out randomly while walking ===
If you are able to launch the ParaLLEl core but get a black screen, or frequently crash while pausing, try changing the video plugin it is using. Press <kbd>F1</kbd> to open the <samp>Quick Menu</samp> and move down to <samp>Options</samp> and press <kbd>Enter</kbd>. Next, move down to <samp>GFX Plugin</samp> and press the <kbd>→</kbd> arrow key once. Once you have changed the option, press <kbd>Backspace</kbd> twice to return to the <samp>Main Menu</samp> and select {{kbd|Quit RetroArch}} to close RetroArch. Simply run RetroArch and open the ROM again and your ParaLLEl core should be running the new plugin you selected. Try each one and see if any of them work for you. If they do not, you may want to try the Mupen64Plus-Next core instead.
 
=== retroarch.cfg (for Mac users) ===


Go to the input menu and set 'Analog to Digital' to 'None'
If you need to delete/modify this file, you'll need to access the Library. To access the library, it must be “shown" as it's hidden by default.
The easiest method to do this is while in the '''Go''' dropdown menu, hold the '''option''' button and it will appear. Search “retroarch” in the Library and the folder and files will show up.
<gallery mode="slideshow" showthumbnails="">
File:RetroArch-Mac-Library.png|1. '''Go''' dropdown to access the Library.
File:RetroArch-Mac-SearchLibrary.JPG|2. Search the library.
</gallery>


=== One of My Buttons Won't Work ===
=== Waiting on Client (Error Message) ===


If you messed with the Main Menu User Input Binds you likely configured something wrong. It is not recommended to ever modify controller binds this way unless your controller doesn't have a built in profile. To reset your controller bindings to their default you have to load the default RetroArch.cfg again.
'''<pre>Waiting on client ...
You have rejoined the game as player 1
null</pre>'''


If you have a ROM loaded, start by pressing F1 to open the Quick Menu then press <code>Backspace</code> to get back to the Main Menu.
This is a rare issue and can be a hindrance when racing. According to the RetroArch devs, this is an issue that occurs with some virtual gamepads, when explorer.exe isn't running, or other random-seeming situations.  


Go to the far left menu item, ''Main Menu''. Move down to ''Configurations'' and press <code>Enter</code>. Select ''<Parent directory>'' and hit <code>Enter</code>. Scroll down to the file <code>retroarch.default.cfg</code> and press <code>Enter</code>.
The only feasible solution at this point is to go to {{kbd|Settings|Input|Hotkeys}} and bind a hotkey to <samp>Netplay Hosting (Toggle)</samp> so that you can immediately toggle out of this.

Latest revision as of 14:45, 7 August 2024

by Raizuto

RetroArch is the only cross-platform emulator supported by the Ocarina of Time Item Randomizer staff. It is also possible to use it to play a vast number of platforms other than N64 as well. This might just make it your emulator of choice once you get used to using it.

Installing RetroArch

RetroArch Downloads Page and Download Stable button

Go to the RetroArch downloads page and click the button labeled Download Stable. Run the installer file it downloads.

Windows Specific Installation

On Windows you may get a popup when trying to run the installer that warns you if you do not have DirectX 9.0c installed1. Press OK to continue. Click Next > until it asks you where you would like to install RetroArch2. The default path should be C:\Users\<yourusername>\AppData\Roaming\RetroArch. If it does not display this location it is recommended to copy and paste the following text into the box: %AppData%\RetroArch and then continue clicking Next >. Soon you will see the Choose Components screen3. Make sure you click the checkbox next to DirectX 9.0c Runtime before clicking Next >. Keep clicking Next > until the Install button appears. Once you click Install RetroArch will begin installing.

Before RetroArch finishes installing it should pop up the DirectX installer. Click Next > until you get to the screen offering to install the Bing Bar4. You should uncheck Install the Bing Bar before clicking Next >. Once you finish the DirectX installation the RetroArch installation will finish as well.

Mac Specific Installation

Downloading and Installing

Go to the RetroArch downloads page and download the Apple macOS / OSX Intel build. This will work with High Sierra and above (including Mojave and Catalina). Don't download the Apple macOS High Sierra (and later) with Metal2 build as the ParaLLeL Core will not work. This may change in the future.

When downloading, ensure that the downloaded application is copied to the desktop as shown in the official installation video provided on the download website. DO NOT open from the disk image. If you opened RetroArch from the disk image, copying it from the Desktop should resolve the issue immediately. If it does not, you'll need to delete your retroarch.cfg file.

Install a RetroArch Core

You should now be at the Main Menu of RetroArch1. You can switch between the different menus on the left side of the screen when you are on the top-most sub-menu of a menu. If you can't see the left sidebar with the different menus listed and you need to switch which menu you are in, you can press Backspace, X, or the Right Mouse Button until you see it again. To open a menu, submenu, or option you can press Enter or Z while it is highlighted, or Left Mouse Button while hovering over it. Keep in mind that these are the default controls in RetroArch. If you change these keyboard bindings in the Settings menu, you'll have to use the buttons you bound to A or Start to select, and the buttons you bound to B or Back to go back to the previous menu. Using the mouse controls should always work properly, so we will assume you are using them throughout the rest of the guide.

On the Main Menu click on the Load Core option. In the Load Core submenu, you will normally see your installed cores. Since you just installed RetroArch you won't see any. Click the Download a Core option2. In the Core Updater menu that appears, scroll down to the Nintendo - Nintendo 64 options. It is recommended that you choose the Nintendo - Nintendo 64 (Mupen64Plus-Next) core option3. You can also choose the Nintendo - Nintendo 64 (ParaLLEl N64) core option if you Next doesn't work for you. Windows Users: the Nintendo - Nintendo 64 (Mupen64Plus-Next GLES3) option should not be chosen. This is a special build of the Mupen64Plus-Next core intended to run on XBox One devices. It will not run on Windows PCs.

Configure RetroArch

From the top menu level of the Main Menu click on the Settings menu below the Main Menu in the sidebar on the left. Scroll down to Saving and change SaveRAM Autosave Interval1 to 10 seconds by clicking it, and the scrolling down to 10 seconds.

Next, go back to the top level menu of Settings. Scroll down and select the option Directory2. In the menu this opens scroll down and select the option called File Browser3. You will be presented with an overview of your system partitions. Navigate through your computer files to the folder you keep your ROMs in. They will not show up yet. Choose Use this directory4 anyway. Most browsers will save your randomizer ROM to your Downloads folder by default5. However, if you are using the downloaded version of the Ocarina of Time Randomizer the default location for your patched ROMs is a folder called Output next to the .exe file you double click to start the randomizer.

Once you have finished configuring RetroArch you must properly restart it. Do not press Esc or the X in the top right corner. Go back to the Main Menu and move all the way down to the option near the bottom Quit RetroArch6. Once you reopen RetroArch go to Load Content ⇒ Start directory. You should now see your ROMs7. When you choose one of your ROMs it may ask you which core you want to use if you downloaded more than one of them. It is recommended that you choose Nintendo - Nintendo 64 (Mupen64Plus-Next)8 for the best peformance and fewest bugs.

Required Settings for Racing

If you wish to partake in our community's races, then don't forgot to also configure the settings mentioned here.

Keyboard Configuration

If you are going to use a controller, skip this section.

Head to Settings ⇒ Input ⇒ Port 1 Input Binds. An example of some control binds when using a keyboard can be found here.

Controller Configuration

First, take a look at the Controller Setup guide. Ensure your controller is calibrated, and if you are using one of the controllers with additional setups steps in that guide make sure you follow them.

If your controls don't feel quite right, while running the ROM press F1 to access the Quick Menu ⇒ Options menu. If your stick causes input without you trying to, change the Analog Deadzone to 10 or higher if that is not enough. If you aren't able to both walk and run increase Analog Sensitivity to make it easier to run. Decrease it to make it easier to walk.

Remap Your Controls

You'll probably need to customize your controller inputs by loading your ROM and pressing the F1 key to bring up the RetroArch Quick Menu. Choose Controls ⇒ Port 1 Controls. Highlight the control on your controller on the left side and press and to cycle through the available N64 controller options on the right side.

Make sure C-Buttons Mode is not bound to any of your controls. This is intended for controllers without enough buttons/a right analog stick to map C-Buttons to and usually causes controller issues.

Gamecube Style C-Buttons

If you want to emulate the Gamecube controller's style of C-Buttons, where they are bound to the right analog stick and the the extra face buttons on your controller, you need to enable another setting. Press F1 to open the Quick Menu and scroll down and select Options. Scroll down and switch the Independant C-button Controls from False to True. This will add controls like C-Down and C-Up to the right side of the Controls remappings.

Head back to the Quick Menu and go over to Controls ⇒ Port 1 Controls and map your face buttons to the C-* options, and your right analog stick to the C Buttons * analog control values.

GameCube Controller Setup

MayFlash GameCube Adapter

Make sure the switch on the back of your controller is set to PC. If you just downloaded RetroArch the controller should just work. If not, go to Online Updater on the Main Menu and choose Update Joypad Profiles. Once it finishes downloading and extracting the zip file, restart RetroArch.

Your controller should now be working. If it isn't you can try the different controller ports or go to Settings ⇒ Input ⇒ Port 1 Input Binds. Highlight Device Index and press or to choose the correct MAYFLASH Controller number.

Official Adapter or Wii U/Switch Mode

Make sure the GCN USB Adapter program is running.

Start RetroArch and go to Settings ⇒ Drivers and make sure Joypad Driver is set to xinput. Then use the Quit RetroArch option in the main menu to properly close RetroArch and save your new configuration if you changed it.

You'll want to save this configuration file as vJoy_Device_GameCube.cfg in your RetroArch XInput autoconfig directory. You should find this folder by pasting %AppData%\RetroArch\autoconfig\xinput in the Windows Explorer address bar and pressing Enter. Once that file is in place start RetroArch. You should get a message saying something like vJoy device #1 configured in Port #0.

If your controller is not working still, click on the Windows Gamepad Info button to bring up the list of connected controllers on your computer.1 The vJoy gamepads should be in order of what number RetroArch is expecting. Try each one by clicking it's entry, pressing the Properties button and moving the control stick. Whichever on causes the cursor in the square to move is the number you want to remember. Go back to RetroArch and head to Settings ⇒ Input ⇒ Port 1 Input Binds. Highlight Device Index and press or to choose the correct vJoy Device number.2 You may have to do this every time you restart the driver application.

Your controller should now be working.

Switch Pro Controller

You'll need to install Steam.

Next, you'll need to install RetroArch through Steam (don't worry, it's still free).

Afterwards, right-click on your Steam icon and go to Settings. Click on the Controller section and click on General Controller Settings

Make sure Switch Pro Configuration Support is checked.

You should now be able to configure your Switch Pro Controller in RetroArch (through Steam).

ParaLLEl Graphics Configuration (Console-Accurate Graphics)

The ParaLLEl core will use the glide64 graphics plugin by default and Mupen64Plus-Next will use GLideN64 by default. Glide64 is a plugin that works well on many graphics cards, but has several graphical issues. GLideN64 is actually fairly good at displaying things properly, but still doesn't always work exactly how graphics would work on the N64. ParaLLEl and Mupen64Plus-Next have a graphics plugin that is nearly flawless in recreating N64 graphics, but requires somewhat modern hardware to run, and will perform slower overall than the other available plugins. If you have a graphics card made after 2012 it should support this more accurate plugin.

Check If Your Hardware Supports Vulkan

You can check this website to see if your graphics card supports any version of Vulkan. If you're not sure what GPU your computer has, try one of these methods to find out. If you find your graphics card supports Vulkan you can continue. If it does not, please do not proceed. You may cause ParaLLEl to start crashing if you try to follow these instructions without a compatible graphics card.

Activate parallel RDP And RSP

If your ParaLLEl or Mupen64Plus-Next core was downloaded before June of 2020, please make sure it is up-to-date now by going to Main Menu ⇒ Online Updater ⇒ Update Installed Cores to update your cores.

Now load a ROM with the either core. Open the Quick Menu by pressing F1 or whatever hotkey you have bound to open the menu in RetroArch. Select Options and scroll down to GFX Plugin and set it to parallel if you are using the Parallel core, or scroll down to RDP Plugin and set it to ParaLLEl RDP if you are using Mupen64Plus-Next. Scroll down to RSP plugin and also set it to parallel. While you are here you will probably also want to set (ParaLLEl-RDP) Upscaling factor (restart) to 2x. If you experience performance issues, be sure to try setting this back to 1x first to see if it improves.

Texture Packs

The following link will let you set up texture packs for RetroArch

Tips

  • To unbind any button/key hit the Delete key on your keyboard in the input settings.
  • Never close RA via it’s top right X, close it from far left Main Menu Quit RetroArch.
  • If you want RetroArch to keep running in the background, go over to the Settings column in the menu, then down to User Interface, hit Enter and set Don’t run in the background to OFF.
  • To enable the FPS display, go to Settings ⇒ On-Screen Display ⇒ On-Screen Notifications and switch On-Screen Notifications to ON if it is not already. Then, change Display Framerate to ON.
  • To be able to position the FPS counter, go to Settings ⇒ On-Screen Display ⇒ On-Screen Notifications and set Graphics Widgets to OFF and then restart RetroArch.


If your controller does not have a default profile or you are using a keyboard, the following information may be helpful.

  • Don't alter the Main Menu bindings for controllers that have default profiles. Open the Quick Menu and change the button mapping there instead.
  • Left side user input binds (the Delete key will delete any binding)
    • B button is equivalent to N64 A Button
    • Y button is equivalent to N64 B Button
    • L2 button (trigger) is equivalent to N64 Z Button
    • L1 is equivalent to N64 L
    • R1 is equivalent to N64 R
    • Movement:
      • Left analog X+ = Right
      • Left analog X- = Left
      • Left analog Y+ = Down
      • Left analog Y- = Up
    • C-Buttons/C-Stick:
      • Right analog X+ = C-Right
      • Right analog X- = C-Left
      • Right analog Y+ = C-Down
      • Right analog Y- = C-Up

Common Issues

There are several issues that can occur in RetroArch.

Abnormal FPS Increases

Go to Settings ⇒ Frame Throttle and set Fast-Forward Rate to 1.0x.

Boots are equipped / Ocarina pulled out randomly while walking

Go to the Settings ⇒ Input ⇒ Port 1 Input Binds menu and set Analog to Digital to None.

Crash when loading ROM

If using the Nintendo - Nintendo 64 (Mupen64PlusNext) core, try the Nintendo - Nintendo 64 (ParaLLEl N64) core instead. If using the Nintendo - Nintendo 64 (ParaLLEl N64) core, try the Nintendo - Nintendo 64 (Mupen64PlusNext) core instead.

Input Lag

If you're experiencing abnormal input lag with your controller, go to Settings ⇒ Latency and adjust the Polling Behavior.

Mupen64Plus-Next Freezes

This is an issue with versions prior to Mupen64plus-Next 2.3 which was released on July 14, 2021. Please update yor cores from the Cores Updater in the main menu. Also, after loading a ROM press F1 to open the Quick Menu. Under Options Move down to Ignore emulated TLB Exceptions and press the arrow key until the selection changes to Don't Ignore.

Mupen64Plus-Next Epona Carrots

This is an issue with versions prior to Mupen64plus-Next 2.3 which was released on July 14, 2021. Please update your cores from the Cores Updater in the main menu. Also, after loading a ROM press F1 to open the Quick Menu. Under Options Move down to Ignore emulated TLB Exceptions and press the arrow key until the selection should changes to Don't Ignore.

My A and B Buttons Are Swapped On The Menu

Go into Settings ⇒ Input ⇒ Menu Controls and change the Menu Swap OK & Cancel Buttons option.

My Remapping in Quick Menu Controls Won't Save

If your remapping won't save even after using Quit RetroArch in the main menu, you may have to explicitly save the remappings. Open the Quick Menu with F1, go down to Controls and map your controls how you wish. Once you have done so, go back to the Controls menu. Near the top of the menu is a Save Core Remap File option. Select this to save these controller binds for all randomizer ROMs you open in the future.

No Audio

Go into the Settings ⇒ Drivers menu and change the Audio Driver from xaudio to dsound. Then quit RetroArch properly via the Main Menu and restart it.

One of My Buttons Won't Work

If you messed with the Main Menu User Input Binds you likely configured something wrong. It is not recommended to ever modify controller binds this way unless your controller doesn't have a built in profile. To reset your controller bindings to their default you have to load the default RetroArch.cfg again.

If you have a ROM loaded, start by pressing F1 to open the Quick Menu then press Backspace to get back to the Main Menu.

Go to the far left menu item, Main Menu. Move down to 'Configurations and press Enter. Select <Parent directory> and hit Enter. Scroll down to the file RetroArch.default.cfg and press Enter.

Overwriting Controller Autoconfig(s)

If you've inadvertently overwritten a controller autoconfig, you'll need to close RetroArch. Next, go to your RetroArch folder and delete the autoconfig folder. Afterwards, launch RetroArch and go to Main Menu ⇒ Online Updater and click on Update Controller Profiles.

ParaLLEl Black Screen or Crashes

If you are able to launch the ParaLLEl core but get a black screen, or frequently crash while pausing, try changing the video plugin it is using. Press F1 to open the Quick Menu and move down to Options and press Enter. Next, move down to GFX Plugin and press the arrow key once. Once you have changed the option, press Backspace twice to return to the Main Menu and select Quit RetroArch to close RetroArch. Simply run RetroArch and open the ROM again and your ParaLLEl core should be running the new plugin you selected. Try each one and see if any of them work for you. If they do not, you may want to try the Mupen64Plus-Next core instead.

retroarch.cfg (for Mac users)

If you need to delete/modify this file, you'll need to access the Library. To access the library, it must be “shown" as it's hidden by default. The easiest method to do this is while in the Go dropdown menu, hold the option button and it will appear. Search “retroarch” in the Library and the folder and files will show up.

Waiting on Client (Error Message)

Waiting on client ...
You have rejoined the game as player 1
null

This is a rare issue and can be a hindrance when racing. According to the RetroArch devs, this is an issue that occurs with some virtual gamepads, when explorer.exe isn't running, or other random-seeming situations.

The only feasible solution at this point is to go to Settings ⇒ Input ⇒ Hotkeys and bind a hotkey to Netplay Hosting (Toggle) so that you can immediately toggle out of this.