• Hey, guest user. Hope you're enjoying NeoGAF! Have you considered registering for an account? Come join us and add your take to the daily discourse.

RETROARCH - The all-in-one emulator dreams are made of, son

Rich!

Member
So, I decided to install Retroarch onto my PC the other day. I've dabbled with it here and there on the Wii and Android, but my opinion was merely "ehhhhh". Until now, anyway. I've come to the conclusion that this emulator is quite simply the best all-round solution I've found - ESPECIALLY if you have an HTPC set up like myself. Bear in mind before continuing that Retroarch is designed for controller input primarily, and its system is built around that and not a keyboard/mouse.

So, what is it? Taken from the official site:

Description

RetroArch is a multi-system emulator for Linux, Windows, Mac OS X, *BSD, PS3, XBox360, Wii, Android. It is formerly known as SSNES.

Its design and background is quite different than most other emulators as RetroArch does not implement an emulation core itself. RetroArch talks to libretro, a generic emulator core API. This means that RetroArch is core agnostic, and it does not care which emulator core is running.

Currently there are libretro implementations for systems such as SNES, NES, GBA, GB/GBC, N64, Genesis, and even arcade games (Final Burn Alpha).

libretro isn't only usable for emulators. A preliminary port of an open source reimplementation of Cave Story has been ported to libretro as well. Quake (TyrQuake), DOOM (PrBoom) are also ported.

Libretro implementations are maintained in the libretro organization on Github. The official home page for this project is here.

RetroArch believes in modularity. The application itself is a command-line driven application suitable for HTPC and/or headless use. There also exists a GUI frontend for RetroArch, supporting every config option available in RetroArch.

You can seamlessly utilize the GUI without thinking of RetroArch as a command line application, which is a probable scenario for most Windows and OS X users. RetroArch-Phoenix, the GUI frontend, can be found on GitHub.

http://themaister.net/retroarch.html

So, right from the start you have brilliant support for a wide range of systems due to the modular system, all integrated into one nice program. Updates are supported automatically by the included frontend app seamlessly. What REALLY sets Retroarch apart from other solutions is the sheer amount of customization available, in terms of inputs, filters, overlays and plugins. Here's some examples of what Retroarch can offer. Some videos: https://m.youtube.com/playlist?list=PLgr8jOv-gz-AESTPck6PgTgKq_vXfm_oL of handheld shaders, and some photos:

Variety of CRT shaders for authentic visuals:

e5OJ2NF.png



yahthrurxx.png


mnaugvmecp.png


nkvehpchje.png


dljdsb.png


pcyxtiazzw.png


and....the single most impressive filter I have ever seen or used:

quzrjzsbqy.png


pevivqjcic.png


ulpnawtmud.png


Overlays:





Installation/Setup:

Nightly builds are recommended. They can be found at http://buildbot.libretro.com/nightly/

WINDOWS

Find the latest version at http://buildbot.libretro.com/nightly/ - you ideally want http://buildbot.libretro.com/nightly/win-x86_64/latest_RetroArch_full.7z which is updated daily and includes all cores.

Initial Setup:

Download the file and extract it to the folder of your choice (usually program files/retroarch) using an unzipper such as 7zip or winrar. Once done, click on the main executable, retroarch.exe. The program should load. You initially navigate the menu with the arrow keys and Z and X on your keyboard.

Graphics:

Settings/Video Settings on the menu

If you want a low latency setup, I would recommend setting the following:

- Driver OPENGL (set this under drivers in the settings menu)
- VSync On
- Hard GPU Sync

I would also recommend turning on auto aspect ratio and setting it to core provided.

Input Settings:

By going into Settings, Input Settings, you can select Bind All for the player 1 controls. Use your gamepad for this. Now you can navigate the menu and settings purely with your gamepad. To set up controls for other functions, go into the meta key menu. In here you can add control settings for fast forward, rewind, save states, menu, etc.

I would also recommend setting up paths for your ROM folder and such. You can now go onto "load content (detect core)", choose a game, select the relevant core and it shall work!

This OP is a work in progress. Other information including shaders, BIOS files, changing the menu driver to make it look all pretty and such coming soon, yo
 

TheExodu5

Banned
Thanks for making this thread. I'll try to get it up and running this week. I have yet to get an emulator that both looks great and runs well (with zero or as close to zero frame skips/drops as possible). Hopefully I can manage with this one.

Is it possible to get blaarg's NTSC filter working with this one?
 

Rich!

Member
Thanks for making this thread. I'll try to get it up and running this week. I have yet to get an emulator that both looks great and runs well (with zero or as close to zero frame skips/drops as possible). Hopefully I can manage with this one.

Is it possible to get blaarg's NTSC filter working with this one?

Yeah, IIRC it comes with that filter.

I prefer the clean pure CRT look though personally.

BSNES core? So can this basically just be used as a really swanky front-end, then?

Well, I guess you could put it that way. The available SNES cores are BSNES Performance, BSNES accuracy and SNES9X Next. So depending on your preference, you can switch between each. My PC runs BSNES accuracy like a beast though, so I've just stuck with that.
 

Odrion

Banned
Oh my god, those filters and borders. @_@

You sold me on this program. I'd love those borders though.
One other brilliant thing about the PC version is that all the menus are controlled by your selected input. So, for me, I can boot my PC into Steam big picture mode controlled with my Dualshock 3, load up Retro Arch from a link in my Steam library, and then play any game I want from within Retro Arch without touching my keyboard at all.
OH MY GOD.
 

Rich!

Member
Oh my god, those filters and borders. @_@

You sold me on this program. I'd love those borders though.

I can upload the filters and borders I use at some point, just need to put together a bit of a guide on how to set them up. If the GBA games aren't run with the LCD filter, the border won't fit as the aspect ratio will be wrong - but that's not an issue, as you'd want to use them both together!
 

piratethingy

Self professed bad raider
I can upload the filters and borders I use at some point, just need to put together a bit of a guide on how to set them up. If the GBA games aren't run with the LCD filter, the border won't fit as the aspect ratio will be wrong - but that's not an issue, as you'd want to use them both together!

Gimme gimme gimme.

Looks super rad, thanks for putting it up.
 

Goldmund

Member
I seem unable to load any "cores". The only thing ever displayed are directories, the only files *.dll-files.

I guess it's those files on GitHub?
 

Omikaru

Member
Anyone have any experiences with this on consoles?

I have a softmodded Wii, might install it on that.

I know someone who uses RetroArch on a PS3 with CFW. He says it's probably the best emulator he's used, and hopes they add more cores to it in the future. I'm inclined to agree. It's such a good idea, and I plan on using it on my PC in the future.

Quick question: does RetroArch support creating individual executables for each of your games? That makes it easier to add each game to Steam, and I'd prefer that to loading RetroArch and then loading my emulated games. I know one of the frontends for PCSX2 does it, and that's really valuable for someone who really likes using Steam big picture mode for launching games, instead of going through a second GUI to get to them.
 

smr00

Banned
For the life of me i can't get anything to work with this.

I love the idea but just can't seem to get it working right.
 

Rich!

Member
Right, so a bit of a setup guide.

1. Download

Choose either the x86 or x64 windows version from http://themaister.net/retroarch.html
Extract into a folder of your choice.

2. Setup

Click on retroarch-phoenix.exe. This is the main front-end and configuration utility for Retro Arch. Let's get things set up to how I have mine.

a. Update and Download Cores

Click on the Retroarch tab, and select Update RetroArch. Make sure you have the correct version checked, and click on Check Version. A list of emulation cores will be listed - download the ones you want (all!), and select one as your default (it'll ask you each time).

b. General Settings

Click on the Settings tab on the main window, then General. Here you need to set up your ROM location and other system directories. Do it. Also, having 'Autosave State on Exit' checked is a great idea.

c. Video Settings

Click on Video Settings. Now this all depends on your preferences, but my set up is as follows:

Video Driver - Direct3D9
Fullscreen X Resolution - 1920
Fullscreen Y Resolution - 1080
VSync - YES
Start in Fullscreen - YES
Lock Aspect Ratio - YES
Aspect Ratio - 4:3

Yep.

d. Input settings

Self explanatory. Works perfectly with my Dualshock 3, 360 pad and Saturn USB pad. Make SURE you go onto MISC and set up buttons/Keys for the menu and exit, if you want to have an HTPC set up.

e. FINAL STUFF

On the main Phoenix screen, set up paths to the config file, application and the folder with your cores. Finally, click on the settings tab and save the config to retroarch.cfg. Exit and boot up the emulator. Should work good! select the correct core before booting a game though, or it'll exit.

tbc
 

Goldmund

Member
Right, so a bit of a setup guide.

1. Download

Choose either the x86 or x64 windows version from http://themaister.net/retroarch.html
Extract into a folder of your choice.

2. Setup

Click on retroarch-phoenix.exe. This is the main front-end and configuration utility for Retro Arch. Let's get things set up to how I have mine.

a. Update and Download Cores

Click on the Retroarch tab, and select Update RetroArch. Make sure you have the correct version checked, and click on Check Version. A list of emulation cores will be listed - download the ones you want (all!), and select one as your default (it'll ask you each time).

b. General Settings

Click on the Settings tab on the main window, then General. Here you need to set up your ROM location and other system directories. Do it. Also, having 'Autosave State on Exit' checked is a great idea.

c. Video Settings

Click on Video Settings. Now this all depends on your preferences, but my set up is as follows:

Video Driver - Direct3D9
Fullscreen X Resolution - 1920
Fullscreen Y Resolution - 1080
VSync - YES
Start in Fullscreen - YES
Lock Aspect Ratio - YES
Aspect Ratio - 4:3

Yep.

d. Input settings

Self explanatory. Works perfectly with my Dualshock 3, 360 pad and Saturn USB pad. Make SURE you go onto MISC and set up buttons/Keys for the menu and exit, if you want to have an HTPC set up.

e. FINAL STUFF

On the main Phoenix screen, set up paths to the config file, application and the folder with your cores. Finally, click on the settings tab and save the config to retroarch.cfg. Exit and boot up the emulator. Should work good! select the correct core before booting a game though, or it'll exit.

tbc
Thanks a million. I was clicking through the normal executable. Core is loaded. Let's see now ...
 

Rich!

Member
Mod edit: Uncheck the 'download with SendSpace accelerator' option on the download page before clicking the download link, unless you want adware on your PC

Here is the link to the filters I personally use, and the borders I made:

http://www.sendspace.com/file/6sljgw

To load these, you use the menu in the emulator itself (you can default load using phoenix, but lets keep it simple for now).

Extract the ZIP into the retroarch system folder. Boot up the emulator. To load a different filter, go into Video Options, then Shader Options, then Load Shader Preset. Locate the one you want, hey presto!

To load one of my funky custom borders, go into Input Options then Overlay Preset, then load a border cfg file. Remember, the GBA and GB ones wont scale right unless you have the correct filter on.

Hope this all helps

édit: oh and if your display isn't 1080p then uh...the borders probably won't work. Sorry.

EDIT 2: lol, updated with the working files this time (borders). My implementation is a hacky version of an android overlay, and it seems you need the addtional images in the folder for it to work. ah well, it works now!
 
I've been using the android version for a while now but I didn't think of getting the PC version. Definitely going to use it with Steam Big Picture
 

Hyllian

Member
Here is the link to the filters I personally use, and the borders I made:

http://www.sendspace.com/file/6wl0u0

Additionally to the above pack, you can find much more filters in the common-shaders repository for Retroarch, where I contribute with some of my own shaders:

https://github.com/libretro/common-shaders


Here's some screenshots I made of some shader combinations running on RA for PS3:

http://www.neogaf.com/forum/showpost.php?p=73163976&postcount=1526
 
Retroarch is by far my favorite emulator. It's truly amazing. cgwg's CRT shader is my favorite game-related technological development of like, the last five years.
 
That last paragraph, the one talking about hitting Steam BPM to your chosen game never hitting the keyboard, is what just sold me on this. Fuck yeah.
 

Wray

Member
Can you still full screen stretch games in this emulator? I have a plasma tv and dont want to risk burn in with those borders.
 

Rich!

Member
Can you still full screen stretch games in this emulator? I have a plasma tv and dont want to risk burn in with those borders.

of course. Any ratio or res.

You can even go fullscreen 240p if you wanted to. Just been showing off the borders and filters, purely because it's something that's AFAIK unique to this emulator.

If you're following my installation instructions above, then use these options instead:

Video Driver - Direct3D9
Fullscreen X Resolution - 1920
Fullscreen Y Resolution - 1080
VSync - YES
Start in Fullscreen - YES
Lock Aspect Ratio - NO
Aspect Ratio - 16:9


That will set it as stretch to fill permanently - but if you wish, you can still change it on the fly in the emulator menu itself.
 
This is the first time I've ever heard of libretro. Such a brilliant way of getting emulation across a ton of different platforms.
 

Im_Special

Member
I really want to like RetroArch but by god is the GUI crap and clunky and one giant pain to setup, maybe I'm doing it wrong and maybe someone here can tell me if it's possible to set it up a certain way because these are deal breakers for me when I can just use a emulator made for a system like Snes9x and get the benefit of having custom settings for that system.

Anyway is it possible to to have RetroArch auto select the core used just by selecting a rom without having to change cores manually, ie. I select an Snes rom it uses Snes9X-git core, I then pick a Gen rom and it switches to Genesis GX core, etc.

Is it possible to have RetroArch keep different settings on a per system basis, I want it to remember the location directory for where my Snes stuff is, which is different where my Genesis stuff is, but it only remembers the one, so I'm having to manually dig through folders each time I want to play something different.

Same sort of thing as last but different control / key mappings on a per system basis, having a general all in one config is dumb when systems are so different like SNES, Gen, etc.

Another dumb thing is not being able to navigate the menu's with the mouse.

There were way more complaints I had about this emulator but it's been awhile and so I'm forgetting things I'm sure, but yeah if these things can't be setup to be done all on the fly and automatically, I see no reason to use this over something more specific for what you are trying to emulate, at least NES emulators will remember how you like your NES stuff.
 
Top Bottom