• 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

sörine

Banned
Apologies if this has already been covered, but I just got myself a Nexus 7 and am looking forward to using Retroarch on it, just wondered whether there are shaders you can download for that too, and if so how to install them. Can anyone point me in the right direction?
From what I gather the Android build doesn't currently support soft/CPU filters but the next release coming in the next couple weeks will. I'm curious about this myself.
 

Ifrit

Member
This! As you didn't use integer scale, it probably scaled to a resolution not multiple of the native res, so when the bloom was added over the crt output, it got offset by one pixel in some parts. Integer scale is mandatory in these kind of shaders.


Solution: turn Integer Scale ON.

This worked for me
 

Lettuce

Member
btw2: And soon, a talented guy is releasing a new shadowmask shader combo which will push the envelope in crt emulation. He's released some great screens of it running in RA:



Look fantastic...it not a bit on the dark side, shame the glow effect cant be added to make the image 'pop' a tad more.

BTW what forum are those pics posted on?
 

teiresias

Member
This! As you didn't use integer scale, it probably scaled to a resolution not multiple of the native res, so when the bloom was added over the crt output, it got offset by one pixel in some parts. Integer scale is mandatory in these kind of shaders.


Solution: turn Integer Scale ON.

The only issue I have with integer scale (at least on the Genesis and bSNES cores, it doesn't seem as big a problem on PSX) is that there's not a good integer scale that doesn't either have too much black border or draws too much information outside the screen when using 5x5 on my 1080p plasma. 4x4 and just setting 4:3 has too much black on the edges, and since I'm not using an overlay it's rather distracting. At least non-integer let's me completely use my vertical area properly, though obviously it can cause issues with crt-geom or the like.

Maybe I should turn drawing of overscan back on? I think I have that turned off at the moment.

Also, what does the scale of a shader mean? Do I need to make sure the shader scale of any I'm using matches the integer scale I'm using for the display itself?
 

Hyllian

Member
The only issue I have with integer scale (at least on the Genesis and bSNES cores, it doesn't seem as big a problem on PSX) is that there's not a good integer scale that doesn't either have too much black border or draws too much information outside the screen when using 5x5 on my 1080p plasma. 4x4 and just setting 4:3 has too much black on the edges, and since I'm not using an overlay it's rather distracting. At least non-integer let's me completely use my vertical area properly, though obviously it can cause issues with crt-geom or the like.

Maybe I should turn drawing of overscan back on? I think I have that turned off at the moment.

Also, what does the scale of a shader mean? Do I need to make sure the shader scale of any I'm using matches the integer scale I'm using for the display itself?

Do some experiment: turn OFF integer scale, then put crt-hyllian (or any other crt shader you like) at 5x scale. After it, put an aditional shader (stock.cg) and use "don't care" at its scale option, then choose "linear" as the filter option for that shader. Now fill up your display and tell me if the scanlines are ok.
 

teiresias

Member
Do some experiment: turn OFF integer scale, then put crt-hyllian (or any other crt shader you like) at 5x scale. After it, put an aditional shader (stock.cg) and use "don't care" at its scale option, then choose "linear" as the filter option for that shader. Now fill up your display and tell me if the scanlines are ok.

I'll try it when I get home and let you know. Should CRT shaders have linear option for the most part and not nearest?

[EDIT] Actually, meant just the genesis cores tend to overrun the screen too much. To be clear though, even NOT using integer hasn't caused me any problems with the scanlines themselves in the past. Either I just don't notice it or something else is different in my setup. I just use integer because I know it's said to be the best to use. However, if integer messes up the application of the glow in these new glow shaders (I really like your crt with it applied btw) I'd like to get all of my cores using integer, I just dislike that the Genesis games in particular are either too small or two big at 4x4 or 5x5 respectively.
 

rothgar

Member
Does the mednafen ps1 core support save states? That feature is not working for me, so I'm wondering if I'm doing something wrong.
 

Awakened

Member
i dont mean 3rd party...
retroarch has the functionality built in, but i cant find documentation on it
There is info about it here. The Windows release has ffmpeg dlls included, so with that you'd just need to use these command line parameters:
Code:
    -r/--record: Path to record video file.
        Using .mkv extension is recommended.
    --recordconfig: Path to settings used during recording.
The link has an example record config you can use to customize your settings. Since it's not super easy to use and there isn't a way to stop and start recording I use OBS to record from RetroArch instead.
 

Ziffles

Member
There was some instability in RA development recently as some important updates had been done.

The latest win64 build reported working fine is in this post: http://www.libretro.com/forums/viewtopic.php?f=25&t=993&start=500#p14707
I've been using the one from March this whole time thinking it was the latest build everyone's been talking about. That explains the awful moire patterns I've been getting everywhere. Your shader looks great now, even in integer off mode.
btw2: And soon, a talented guy is releasing a new shadowmask shader combo which will push the envelope in crt emulation. He's released some great screens of it running in RA:

Dem phosphors. Hopefully the curve will be easy to remove though. What is it with the curves?
 

Hyllian

Member
Dem phosphors. Hopefully the curve will be easy to remove though. What is it with the curves?
Dunno.

My 'soon' assumption was a bit precipitated. The guy told me that the shaders will have tons of params to tweak, though he would take at least one month to organize everything before the release. He said he was working on it for months already.
 

Awakened

Member
Have any of you guys used the Hyperspin front end on PC? I'm looking at it now and debating whether it's worth the set up time.
It works well with RetroArch since you can set command line parameters to load a specific config per system and even per game. And it can look really awesome if you load it up with good artwork. There are some art packs per system on their website's download section and some scattered around their forums.

A lot of the best stuff is on their member's FTP though, which you need to be at least a gold member (I think it's $20 or $25 you have to donate for gold status) to access. I found it worth it for their collection of "wheels"; basically cleaned up or redrawn game logos. They look so much better than plain text when selecting games. For boxart, I sourced my own from the Cover Project and image searches and resized it to fit my modified themes.

My themes all use art from the Unified Mega Theme a user called gibbawho made available on the FTP. Here's a few example shots of the Super Famicom theme:
mainmenu4ys6u.png


gamemenuwheelsjqsh5.png


gamemenu2ssfp.png
You can make or modify themes for HyperSpin really easily using HyperTheme, a tool in the download section. Moving artwork around and setting animations in it is no problem.

The newest version supports h.264 .mp4 video files for previews. You can get premade ones from EmuMovies, but they have their own membership to be able to mass download or get higher quality videos. I opted to create my own videos since EmuMovies gameplay and sound quality wasn't always the best and it's pretty cool to have my own gameplay shown in the previews. That took quite a bit of time, but I learned how to use VirtualDub and AviSynth better.

There are some bugs and limitations in the newest version that are known. Controller support has issues; pressing up or down on the dpad to select a game often goes two or three down instead of one. This happens even if you assign up or down to a button or analog stick. Sometimes Hyperspin.exe doesn't shut down properly and you have to kill it from taskman. That one's rare enough that it doesn't bother me too much. And it currently doesn't support widescreen; it's native res is 1024x768. HyperSpin 2.0 was announced years ago to address these, but hasn't come out yet.

Still, I've yet to find a nicer frontend and I've spent too much time gathering artwork and making preview videos to use anything simpler. I just run it in a window and use my keyboard to navigate it for now. The official versions of the Unified Mega Theme are squished so they will stretch out to widescreen properly, but the game descriptive text gets stretched and so does any artwork you don't squish. You can use xpadder/joytokey if you want to get around the controller issue too.
 

Awakened

Member
That looks amazing. Great work. Thanks for taking the time to put down your thoughts on it. It's the time investment that's holding me back from diving in. I know what I'm like and I'll want to customise everything. I might hold off until I've built a dedicated Retroarch rig for my media centre before I go down that path I think.

I'm spending so much time with Retroarch of late, it'd be nice to have a decent front end though. It'd really add to the experience.

Edit: That Super Metroid box artwork is so good
Yep, it's definitely a time sink if you're picky, but you can always work on it a little here and a little there if you're patient. Even boxart/flyer art I spent a decent amount of time deciding which region's to use based on what looked best to me. Gamefaqs was really useful for that since they usually have all region's art if you search for a game and click Images.
 
The guy told me that the shaders will have tons of params to tweak, though he would take at least one month to organize everything before the release. He said he was working on it for months already.
Is he hiding in a cave or something ? does he have a blog or a forum thread ? In any case you can tell that guy he's doing an incredible work, I'm stunned.

EDIT : Maister's new « crtglow_gauss_ntsc_3phase » :

sanstitre4pskg.png

sanstitregsopq.png
 
Have any of you guys used the Hyperspin front end on PC? I'm looking at it now and debating whether it's worth the set up time.
I use Steam Big Picture mode and batch files.. Much nicer front end and it works way better with a secondary display whereas with Hyperspin it works horribly with one. Particularly when changing resolutions after exiting emulators.

Setting up the batch files is a bitch though.
 

Grimalkin

Member
Thanks to you all for this thread as it's been extremely helpful in setting up and understanding RetroArch. I also follow the main project forums but it gets a little too technical for me (at my current understanding and skill level).

I do have a pretty basic question that I'm hoping can be answered. Is there currently a .cgp or a way of loading shaders that would get me a result similar to blargg's NTSC filter (RGB preset) + cgwg's CRT shader (crt-geom-curved) but with the more recent glow effects? I do not want any signal noise introduced (the shaders that mimic S-Video, Composite, or RF cables) and it seems like many of the presets feature the S-Video noise for authenticity. I've tried creating my own .cgps but I always end up with unintended-but-interesting outputs. Any help or advice is greatly appreciated.
 

Lettuce

Member
How do you setup Retroarch, so it remembers your setting (aspect ratio, borders, shaders) for each core, so when you select a core it loads in the shaders and borders etc, rather than having to manual change them each time?
 

Dezzy

Member
I just downloaded RetroArch today. Is there an easy way to have each Core save it's own separate settings, like controller layout and file paths?
It's annoying when I switch from NES to Genesis or something and and I have to change the rom paths and controller inputs again.

Edit: Reading older posts in the thread, it looks like I gotta manually play with config files, sounds fun!
 

Awakened

Member
How do you setup Retroarch, so it remembers your setting (aspect ratio, borders, shaders) for each core, so when you select a core it loads in the shaders and borders etc, rather than having to manual change them each time?
I just tested that feature out. You have to add core_specific_config = "true" to your main retroarch.cfg config file (or turn it on in RGUI under General Options), then you have to name your core specific config file the same name as the core; including the .dll extension. So for BSNES Balanced it would be bsnes_balanced_libretro.dll.cfg for example (unless you renamed the core dll file). Then when you select that core and load a game it will load settings from that file.
 
How do you setup Retroarch, so it remembers your setting (aspect ratio, borders, shaders) for each core, so when you select a core it loads in the shaders and borders etc, rather than having to manual change them each time?

The easiest way to do this is to save a different config file for each core, then load the requisite config when you switch. If you're launching them from an external launcher you can set the config to load from the command line.

If you want to get advanced, build a base config that covers all your cross-platform stuff (inputs and hotkeys, audio settings, etc.) and then configure shaders and borders in amendment configs. The docs talk about it: https://github.com/libretro/RetroArch/wiki/RGUI#config-file

EDIT: or you can use the core-specific config setting, although IIRC the devs still suggest avoiding it.
 

Lettuce

Member
I just tested that feature out. You have to add core_specific_config = "true" to your main retroarch.cfg config file (or turn it on in RGUI under General Options), then you have to name your core specific config file the same name as the core; including the .dll extension. So for BSNES Balanced it would be bsnes_balanced_libretro.dll.cfg for example (unless you renamed the core dll file). Then when you select that core and load a game it will load settings from that file.

Have tried what you suggested but doesnt seem to work. For example i loaded the BSNES balance core, set my crt shader and overlay i wanted and then save the config as bsnes_balanced_libretro.dll.cfg. I then did the same for the the gameboy core, gambatte, set my shaders and overlay and then saved that config as gambatte_libretro.dll.cfg. But when i selected the bsnes balance core again and loaded a game it still had the Gameboy shader and overlay and didnt switch to the bsnes shader and overlay which i save in the config file
 
I just opened Steam's BPM for the first time in eons and you're right, it work great as a front end. The aspect ratio of the game thumbnail is wrong for box art though. How do you have yours set up?

http://steambanners.booru.org/index.php I got most of my banners from here as well as the GAF thread for Steam custom banners. I made a few of my own in Photoshop as well, which I have contributed to both the GAF thread and that Steam Banners site I just linked.

As far as a guide to help you in making Steam work as an emulator front end, go here: http://misterslimm.wordpress.com/20...-front-end-for-individual-games-in-emulators/

I just basically made a general batch file template for each console with all the settings the way I wanted them and then went through the time consuming job of copying and pasting the name of each game in and saving a new file, and then I had to convert them all to EXE. It took a damn long time but it works great now. I'm even able to put ISO mounting into the batch files which helps out with Sega CD and PCE CD games.
 

Awakened

Member
Have tried what you suggested but doesnt seem to work. For example i loaded the BSNES balance core, set my crt shader and overlay i wanted and then save the config as bsnes_balanced_libretro.dll.cfg. I then did the same for the the gameboy core, gambatte, set my shaders and overlay and then saved that config as gambatte_libretro.dll.cfg. But when i selected the bsnes balance core again and loaded a game it still had the Gameboy shader and overlay and didnt switch to the bsnes shader and overlay which i save in the config file
Is core_specific_config = "true" in all of those configs? That not being enabled in each one is the only reason I can think of that it wouldn't work. I just tested with BSNES and Desmume cores and each one I loaded had the specific aspect ratio, shader and save directories I set for them.
I'm even able to put ISO mounting into the batch files which helps out with Sega CD and PCE CD games.
How does that help? Genesis Plus GX and Mednafen can both load .cue files directly just like a ROM file. Assuming you have correctly formatted cue sheets there won't be any missing audio. There's not much need for virtual drive software for emulation anymore. I'm really hoping for Yabuse to surpass SSF one day, since SSF is the last "best compatibility" emulator around that can't load ISOs.
 
Ive been using retroarch on my NVIDIA shield with great success. Does anyone know of a good front end for android? I'd love to select games with box art.
 

Lettuce

Member
Is core_specific_config = "true" in all of those configs? That not being enabled in each one is the only reason I can think of that it wouldn't work. I just tested with BSNES and Desmume cores and each one I loaded had the specific aspect ratio, shader and save directories I set for them.

I thought you might have been onto something then, but sadly yes core_specific_config = "true" is in both the configs i have for BSNES and gambatte cores. Just to run through this step by step and start with a clean install and added core_specific_config = "true" to the retroarch.cfg file......

1.Set bsnes_balanced_libretro core
2. Select shader and apply
3. Set aspect ratio
4. Select Overlay and set to your liking.
5. Select 'Save New Config' (it automatically names it bsnes_balanced_libretrol.cfg, so had to add the .dll inbetween libretrol and cfg.
6. Select gambatte_libretro as core
7. Select shaders and apply
8. Set aspect ratio
9. Select Overlay and set to your liking
10. Select 'Save New Config' (names it gambatte_libretro.dll.cfg)

Have a down anything wrong in the above steps??

If i do the above and then load the bsnes_balanced_libretro core and load a game, it still has the Gameboy shader and overlay applied but it also seen to have my bsnes_balanced_libretro core overlay (which is a black CRT bezel) over the top of the gameboy overlay

EDIT: its working now, for some reason the when i saved the bsne config it didnt make the 2 files in the config folder, but now it has and it works. Thanks for the help!>

Is there a way to quickly switch between the cores on the fly rather than having to go from a number of options to get to the core you want?

Also can you hide the mouse cursor?
 

Lettuce

Member
My GIGABYTE Brix GB-XM12-3227 micro system should be turning up tomorrow and its going to be just for RetroArch...the Hyperkin's Retron 5 can kiss my arse
 

kaioshade

Member
If anyone has any experience with Retroarch on OS X, i need some help. I have the required bios files in the right system directory and retroarch sees them as present. However whenever i load any .cue file, it just exits. Frustrating to say the lease.

What am i doing wrong with psx?
 

Nymerio

Member
Is there some kind of config tool available? I have an arcade cabinet and I've been using hyperspin with different emulators. I'm trying to switch to xbmc and retroarch, but configuration seems really cumbersome.

edit: nevermind, it's not as bad as I thought it would be once I set up default keys.
 

Lettuce

Member
That system looks brilliant. What's your experience been with it (and Retroarch) like? Is it powerful enough to run multipass shaders and N64 roms?

Yeah seems to run stuff flawlessly, even PSX games. I use the CRT shaders with no problems, not bad for the £170 i got the system for.

The Retron5 can eat a dick!!!
 

Nymerio

Member
I'm running this on an i3 Intel NUC and holy shit are some of these shaders demanding. I really like the phosphorlut-v2.2 crt shader but I can only run it on nes games, when I try to use it with bsnes it completely kills my framerate. I've switched to crt-hyllian-glow, I just wish the glow effect was a bit less pronounced.
 

Nymerio

Member
I started monkeying around with the parameters in crt-hyllian-glow and I like what I came up with. This is with "Sharpness Hack" enabled, "Scanline Strength" set to 0.60 and "Bloom Strength" set to 0.0:

Gotta love how much flexability you get with all the settings available. I think it's even sharp and bright enough to look good with handhelds:

I don't really like the LCD shaders available for color screen systems, so I can use this just like I do with consoles and imagine I'm playing on a Super Gameboy or Gameboy Player without borders.

Oh god, didn't see that. Seems to address exactly what I don't like about the hyllian-glow shader. I'll have to try that out.

Edit: How do I enable the sharpness hack? Just uncomment the line? It doesn't load the shader if I just do that...
 

Lettuce

Member
I'm running this on an i3 Intel NUC and holy shit are some of these shaders demanding. I really like the phosphorlut-v2.2 crt shader but I can only run it on nes games, when I try to use it with bsnes it completely kills my framerate. I've switched to crt-hyllian-glow, I just wish the glow effect was a bit less pronounced.

you can change the glow effect, look in the file blur_params.inc

and the line

#define GLOW_FALLOFF 0.35

try altering that
 

Awakened

Member
Oh god, didn't see that. Seems to address exactly what I don't like about the hyllian-glow shader. I'll have to try that out.

Edit: How do I enable the sharpness hack? Just uncomment the line? It doesn't load the shader if I just do that...
You can change it's value to 2 to enable it.

I made a new video of my HyperSpin plus RetroArch setup showcasing the improved themes and the CRT and gameboy shaders: https://www.youtube.com/watch?v=TnSkdFeyU7Y

There's some footage from Dolphin, PCSX2 and Demul too. Video compression hurt a few parts like Outrun and I had a few performance problems in BSNES and Dolphin with OBS recording, but I think it came out pretty well overall.
 
Is there some kind of config tool available? I have an arcade cabinet and I've been using hyperspin with different emulators. I'm trying to switch to xbmc and retroarch, but configuration seems really cumbersome.

edit: nevermind, it's not as bad as I thought it would be once I set up default keys.

I'm also trying to setup XBMC for emulators... are you using Advanced Launcher? And which skin have you found works best for displaying your collection?

XBMC seems to be a little buggy when it comes to displaying a huge library so I'm hoping to find out I've just been doing something wrong.

Thanks!
 
Thanks, that did it. I really like playing around with the shaders.



Eh to be fair, you should avoid bsnes. It requires at least 3ghz Dual Core cpu, since BSnes is supposed to be cycle accurate. So, it doesn't aim to be fast, but to be accurate in term of emulation.
 

Nymerio

Member
You can change it's value to 2 to enable it.

I made a new video of my HyperSpin plus RetroArch setup showcasing the improved themes and the CRT and gameboy shaders: https://www.youtube.com/watch?v=TnSkdFeyU7Y

There's some footage from Dolphin, PCSX2 and Demul too. Video compression hurt a few parts like Outrun and I had a few performance problems in BSNES and Dolphin with OBS recording, but I think it came out pretty well overall.

kk, will try that out. I really like the idea of HyperSpin and the videos are cool but they ended up really annoying me. I actually got an account on emu movies just for that too.

I'm also trying to setup XBMC for emulators... are you using Advanced Launcher? And which skin have you found works best for displaying your collection?

XBMC seems to be a little buggy when it comes to displaying a huge library so I'm hoping to find out I've just been doing something wrong.

Thanks!

I've installed the Aeon MQ 5 skin which comes with the rom collection browser. It's pretty straight forward to set up. You just add a new collection and it asks you for the path the emulator, so you just browse to your retroarch.exe. It then wants to know where your roms are and the file format (*.zip) for example. What I did was, I started retroarch for each core and created a configuration for each one. You can add the file as a parameter during the rom collection setup so you can have individual configurations for every system. I haven't tried any other skins so far as the Aeon works pretty well so far. I just disabled everything I don't really need from the main menu (Video, Music, etc.) and you can use different views for the collection. It's actually pretty neat and I think it is worlds better than HyperSpin.

As for huge libraries, I had a huge amount of games in my hyperspin setup but ended up removing a lot of games when I switched to xmbc. I don't really need hundreds of games and navigating such a huge library really isn't worth the trouble. I just went through my collection and filtered out the games I was most likely to play. Put the other games in a different directory so I can just move them over should I want to add some.

Eh to be fair, you should avoid bsnes. It requires at least 3ghz Dual Core cpu, since BSnes is supposed to be cycle accurate. So, it doesn't aim to be fast, but to be accurate in term of emulation.

Oh, I thought I'd be ok with the bsnes_balanced core. What would you suggest? snes9x?
 
Top Bottom