[iOS/tvOS] — RetroArch 1.8.4 and other emulators (Download/Cydia repo)

@SeongGino Ok, from all the information you gave, and from my own testing afterward, I think your device might actually not be powerful enough for more demanding/less optimized cores…

The cores that make your device struggle to achieve constant framerate do not exhibit this behavior on my more recent devices… I will try with my old iPhone 6 and report back if I notice something different from your experience…


From what I understand, Genesis Plus GX is the more accuracy-focused core of the bunch, so there’s that… PCSX ReARMed was optimized for 32-bit ARM, and had a working JIT compilator on 32-bit iOS, but for 64-bit, only it’s pure interpreter mode is working — and BTW, no JIT speed enhancements were achieved yet in RetroArch on 64-bit iOS for PCSX ReARMed and other cores to use…

If you can achieve full speed with no stutter on some cores, that means your general video settings are obviously properly configured, but reducing quality or disabling more demanding settings might help getting a smooth experience in those less optimized cores…

Compared to PicoDrive? With Nuked FM, maybe, but they’re otherwise comparable performance-wise. I can maybe understand that naturally the Interpreted cores will have some trouble, but as stated…

Unless this is some mysterious iOS throttling that causes only the SE’s display to receive less power proportional to the load, or something like that…

I’m no developer, but if FFW yields a higher framerate than what is achieved normally, then that usually indicates some obscure quirk, and not the device simply being incapable; otherwise, how else does it run faster when unthrottled?

Forgive me for my insistence, but I’m just having my doubts that performance alone would be an issue. But, again, I don’t know iOS and I’m new to this so… :woman_shrugging:

@SeongGino I’m currently having some kind of trouble getting my iPhone 6 to turn on to get some more insight on this situation…

As I said, on my more recent devices, everything you mentioned runs flawlessly… Even 50FPS PAL content runs at a correct 50FPS, despite the Vertical Refresh Rate being set to 60… That particular thing used to be a problem with RetroArch but not anymore…

Can you provide some more info, like examples of what games (and region) on which cores are exhibiting problems? And on your method for testing this?

I hope we can figure this out!

Thanks…

Certainly, whatever helps.

The library I use is quite wide, but I do try to keep things consistent between tests (or at least, to games I know well or where problems would be quite obvious). Most all of my content is either American or Japanese NTSC (with the exception of C64 and Amiga), and the general cores I run for test purposes is Genesis Plus GX (for SMS, Genesis/Mega Drive, CD), PicoDrive (32X), and PCSX ReARMed.

If you want exact games, I use:

  • Genesis [GenPlus with Nuked FM] - Sorcery Saga I (MD): Using a personal save file, it’s a dungeon crawler so it works as a control for the lowest end scenario. Stand around and listen to the music, it’ll get stuck in your head after a while, so any would-be pops or stuttering would be audible if it was slow. Alternatively, any Sonic game would work I guess, if you just sit on attract mode demos as a control.
  • Genesis 32X [PicoDrive] - After Burner Complete, or Virtua Fighter 32X: These are the ones most likely to run slow on weaker hardware (talking a completely different subset, since there’s plenty of potential overhead here on the SE when FFW’ing), so it works well to stress PicoDrive a bit.
  • PS1 [PCSX ReARMed] - Gex Enter the Gecko: It has several FMVs when it starts, and the start menu intro goes through a pretty dense 3D environment, so it works well as a control for both the low-end and typical workloads. Otherwise, Bloody Roar 2 and Tekken 3 have pretty high-poly models, so mucking about in their respective practice modes would make for decent stress tests.
  • N64 [Mupen64-Next] - Super Mario 64: Yeah, not totally original here; face- and attract demo reels as a control.

Headphones would be a must IMO, as in some cases it’s less obvious than others.

(Sidenote)

For me, 50HZ pal content seems to perform fine on cores that aren’t PCSX ReARMed; I’ve tested some PAL C64 software, for instance, and it runs them as I’d have hoped. Though admittedly, my PAL library is sorely lacking in other cores/consoles so it’s hard for me to say if PAL PS1 content runs any better…

@SeongGino Ok, I finally managed to revive my iPhone 6… Alas, as I was expecting, I couldn’t manage to get a stutter-free experience unlike on my more recent devices…

Fast-forwarding skips a few frames to achieve faster speeds, but this is deceiving as that doesn’t necessarily mean 100% speed can be achieved and/or maintained…

I tried many settings to no avail, I still had stutter in the audio, and RetroArch being very sensitive to timings and such, I may not be able to help much more…

Sorry I couldn’t bring much better news!

It’s not necessarily the same device chipset (A8 vs. A9), but, ah well. Maybe if the Dynarecs would be supported for those emulator cores for 64-bit iDevices, then perhaps it’d also solve the issue. Either that, or if Threaded Video was working, then I’d be perfectly content sacrificing a bit of perfect video sync if the audio was fine.

Ah well, you tried your best. But at least it isn’t like this for the greater majority of cores. Though, I’ll be having a hard time finding an alternative for PS1 emulation on iOS that also accepts .CHDs in the meantime…

1 Like

@ Weedy_Weed_Smoker Help dolphin How to change disc 2 ??

@zzz0083 Unfortunately OatmealDome didn’t implement this function yet, so if the game you’re playing doesn’t allow you to save before requesting another disc, you will need a save file from the other disc…

You can transfer your memory card from the DolphiniOS folder to a computer, play the game on the computer until you reach a save point on the other disc, and transfer back the memory card (so you don’t lose your other save files from the memory card)…

Hey. I have iphone xs 13.3.1 ((Can you explain where to find RetroArch for each core versions?

Hi @dank1!

I didn’t compile those yet because I’m not sure how big is the interest for this, and the work to get this done is not negligible, as each core has to be compiled again as a “.a” file (7491 compiled “.o” files to combine for MAME which is the most extreme), incorporated in a static RetroArch build, with it’s name changed according to each core and eventually a new icon, for each core…

Which cores would you be interested in?

I wanted to try playing nes, snes and ps1. Is it possible? You also say that i can paying 99$/year to be able to install RetroArch like before. But Apple Developer Enterprise Program annual fee is 299 USD (source). What did I understand wrong? And I do not understand why one person who has a paid developer account cannot sign RetroArch and put it in public access so that others can use it freely?

@dank1 You don’t need the Entreprise upgrade…

Actually, with a 5000 or so $ certificate, you could sign a version with all the cores for everyone to use, but I think it’s not working anymore on 13.3.1… (And the ones used by TweakBox App, Ignition and others get revoked all the time now…)


Ok I will try to compile cores for those, do you have a preference for which cores to use ?

Can you compile Nintendo ds and playstation 1, 2?

This problem fixed in 13.4 beta? look at this

Is it as simple as downloading and installing the core from downloads for tvos? I keep getting installation failed. Retro 1.8.4, Tvos 13.3.1

P.s tic-80 please

Ohaiyo again! I probably shouldn’t have clumped this with my prior issue regarding the framerates (it’s fine, I’ve gotten over it for the time being, aside from PS1…)

Is there a reason P-UAE keeps crashing whenever exiting the core? I’m attempting to use my WHDLoad-ed hard disk image that I use on WinUAE/RetroArch, but found it isn’t quite able to boot into the desktop/autoload? The image is almost entirely white, but I think I see the Kickstart boot media request animation loop in the bottom-right. And because the core crashes RetroArch whenever closing content, I’m unable to change any other settings to even try to fix the issue myself.

And while I’m asking, is there also a reason DOSBox doesn’t seem to load .EXEs properly? Usually, pointing DOSBox to an executable’s location as a launch parameter (and by proxy, in this case, RetroArch) should mount the containing directory as C: and run said program as an autostart sequence, but any executable just has DB sitting at a Z: prompt; which means it’s doing… nothing when trying to launch a game, as if not seeing the launch argument.

1.85 is a major update, hope to follow up as soon as possible