Sound, Control & Video Darkness Issue with RetroArch

Hey all! I’m having several issues with RetroArch I’m hoping you can all help with. So I’ve put together a couple of “retro stations” for charity events we’re doing. They’re using old laptops and 360 controllers with HyperSpin as a front-end and RocketLauncher doing the emulation execution. They have catalogues for the Atari 2600, NES, SNES, Genesis, TurboGrafx-16 and arcades. Everything except the arcade games is running through RetroArch (currently v1.3.0) and the HyperSpin community highly recommends RetroArch. Unfortunately, I’m having a number of issues with the emulation quality and I’m at my wits end trying to figure them out. Here are the issues:

  1. Several (but not all) of the platforms are showing with too dark an image. Here’s an example of Bonk’s Adventure from the TurboGrafx-16 compared to what it should look like. This happens on both of the retro station laptops and as I said, only certain platforms do it. I’ve never been able to figure out why.
  2. All of the RetroArch emulators are having the “sound pop” issue. Generally, I’ve read this is a result of them not being able to maintain 60fps. I don’t understand this are they’re Core 2 Duo and Core i3 laptops and there are emulators for these platforms that run perfectly on a Pentium III. In addition, MAME does not have any sound pop, even when playing very high-intensity titles. I feel like this is something I could solve with configuration changes but several things I’ve tried have mitigated it a little bit but not solved it.
  3. Each of the stations has two PDP Rock Candy controllers, which are officially licensed Xbox 360 controllers. Simply put, mapping these to RetroArch has been a nightmare. It constantly wants to automatically remap the buttons and never does it properly. If I manually map the buttons and save the configuration, the slightest change (like even changing the USB ports the controllers are plugged in to) causes RetroArch to break everything again. Remapping manually is a gigantic pain in the butt and as I’m not always the one bringing these stations to events, it’s not something I can expect others to handle. This really needs to just maintain the mappings I give it instead of constantly trying to change them.

I’ve honestly spent hours troubleshooting these things and I’ve managed to improve a couple of the issues a bit but nothing’s fixed. I feel like almost all of these can be sorted with proper configuration but I clearly just don’t have the RetroArch skill to make it happen. These retro stations are a big part of our charity events and if I can get these hitches ironed out, it would be amazing.

Any of the fine folks here able to lend some advice? Thanks verymuch!

  1. Do you have any filters/shaders applied? If it’s only happening on a few cores, are you using per-core configs/overrides?
  2. You could try disabling audio sync and/or increasing the max timing skew in settings > audio.
  3. It sounds like they’re reporting the same vid/pid as another pad, which sucks but we don’t have any other way of identifying pads. Nevertheless, you can go into settings > input and disable autoconfig.

[QUOTE=hunterk;36971]1. Do you have any filters/shaders applied? If it’s only happening on a few cores, are you using per-core configs/overrides? 2. You could try disabling audio sync and/or increasing the max timing skew in settings > audio. 3. It sounds like they’re reporting the same vid/pid as another pad, which sucks but we don’t have any other way of identifying pads. Nevertheless, you can go into settings > input and disable autoconfig.[/QUOTE]

Thanks for the help! The retro stations are currently in use but once I get one back in my hands, I’ll take a look at the configurations and see if I can apply your suggestions. Since RocketLauncher is handling starting RetroArch, would these be settings I’d have to fix on each core’s config independently or is there a way to apply them more globally?

separately, assuming you’re launching with -c /path/to/specifc-config.cfg to get the proper settings.

If that’s the case, that should make it reasonably easy to track down the darkening issue, since you can just look at the configs for those affected cores and see where they differ from the unaffected ones.

Hi hunterk! I know it’s been over a month since you gave me these suggestions. Sorry it took me so long to respond, it took forever to get my retro stations back, then life got insane. But I’ve got a show to put these things at this weekend so I’m digging into it. To answer your specific suggestions:

  1. In the case of dark TG-16 games, it’s definitely shader related. I applied a default shader profile which fixed the darkness but made things a bit blurry. Now that I know what’s causing it, I’ll mess around to get a shader setup that works well with these displays and save it as a preset.
  2. So I tried adjusting a combination of those two settings you gave and nothing has helped. Here’s the weird thing though: When things start off, the sound is fine but after a few seconds, the crackling begins and steadily gets worse for another 15 seconds or so until it normalises at a certain point of continuing distortion. If I interrupt the emulation at all, even by just bringing the F1 menu up and immediately dismissing it again, the audio goes back to normal for a few seconds and then the cycle starts over again. Any idea what could be behind that?
  3. For some reason, changing Autoconfig before didn’t stop it from continually trying to reconfigure the controllers. However, I updated the stations to the latest build of RetroArch before I started experimenting tonight and now the setting sticks. Fantastic!

So the only problem remaining is the odd distortion that creeps up over time. Any idea? If desired, I can try to shoot a short video on my phone and post it to my YouTube channel to demonstrate the issue if I’m not explaining it well. Thank you so much for your help!

Yeah, a video may help.

So interesting thing here, I think I might have solved the audio issue. I was sort of messing around with random settings, seeing if I could find a combination that works and it seems enabling Hard GPU Sync in the video options for each of the cores seems to have solved it. The video still stutters from time to time, largely just a function of these machines not being able to handle it somehow I guess but the audio never crackles. Given these stations are for entertainment, I don’t care that the video emulation isn’t pixel perfect, I just wanted the audio to sound good as the crackling was something that would turn people off. However, it seems to be working great now. I’m going to keep testing but if that’s the case, I think we’re in business here.

One other quick question for you about the controllers. So I did all the bindings for these two controllers I have on the one machine I’m testing on and they’re both working properly. I also saved both settings I have as Autoconfigs. If say, these controllers were to get plugged in the wrong order and a different controller took the first controller or say, if someone plugged in the controllers from the other station by accident, would RetroArch still be able to figure this out or because I’ve hard programmed them now and turned off autoconfig, will it not know what to do if different controllers are plugged in, even if they’re the same model? I hope that makes sense.

Thank you so much again for your help! Getting this working has made my day.

RetroArch only identifies pads by VID/PID, so if those are identical, it shouldn’t be able to tell them apart.

Fantastic, that’s what I was hoping! Thank you so much for your help. I think everything is ship shape for these stations now. They’re going to a local Comic-Con event this weekend so they’ll definitely get put through their paces. Thanks again!

So I may have spoken a bit too soon. I tried a more extensive play testing session today on the second of my retro stations which is an older system (it’s only a Core 2 Duo instead of a Core i3, should still theoretically be plenty powerful to run these emulators) and the audio crackling issue is still very much present on that system. I tried implementing the Audio Sync and Max Timing Skew settings in the menu and they still didn’t change anything. I’ve found that Super Mario World demonstrates this problem (and how it can be briefly dismissed by bring up and dismissing the menu) very well so I’ve taken a video with my phone as previously discussed. Here it is. Some games don’t manifest the problem as fast as this one does but it’s the same core symptom. It happens on both machines but it’s much more prominent on this one. If there are any suggestions, I’d very much appreciate them. Thanks!

That doesn’t sound like the crackles that happen from reduced framerate. Do you have the volume cranked up really high in RetroArch such that it could be causing clipping? Have you tried different audio drivers in settings > drivers?

The volume in RetroArch is set at +0.0 and I’ve never adjusted it. I have not tried other audio drivers but let me test that now.

I believe you may have provided me yet another breakthrough! I tried switching the audio driver on the lower-end station to xaudio and that seems to have helped a great deal. I’d say it’s crackling at most 10% of the time it did before which is a massive improvement and more than sufficient for this application. I haven’t made the adjustment on the other station yet but I imagine it will make a big improvement there as well. I’ll be testing tomorrow during setup for the new event but this is seeming much better. Thank you again for your help! This has been a wealth of useful knowledge I’ll be keeping in mind going forward.