[Cydia] (& Sileo) Repo for RetroArch and other emulators on iOS

Hi everyone !

As a proper Cydia repo (and iOS buildbot) for RetroArch and other emulators seem to have long been missing, I decided to take on the task to create and maintain one…


iOS Emulators repo :

You can add my repo to Cydia by clicking this link on a jailbroken device, or by adding this source to Cydia : http://johan.margueritte.free.fr/repo (or Sileo…)

For Sileo users, you can just click this link on your jailbroken device…


I created a buildbot too with the cores already signed, and up to date ! It is already configured in my RetroArch downloads…

iOS 11+ buildbot : (64-bit)

http://johan.margueritte.free.fr/buildbot/ios-arm64

iOS 10 buildbot : (32 & 64-bit)

http://johan.margueritte.free.fr/buildbot/ios10

iOS 9 buildbot : (32-bit)

http://johan.margueritte.free.fr/buildbot/ios9

iOS 6, 7 & 8 buildbot : (32-bit)

http://johan.margueritte.free.fr/buildbot/ios


I just updated RetroArch and the buildbot to the latest versions, and added support for even more previous iOS versions, down to iOS 6 !

Now all tested ! If you had problems with older iOS versions, they’re most likely fixed now…

4 Likes

I just tried PrBoom, PX68K and Mednafen Saturn, on my old Ipad Air (iOS7) and these cores are working just fine. Thanks a lot, Its the first time I can play X68000 games on it !!!

1 Like

Just updated the repo with RetroArch’s latest version, the buildbot with the latest cores, PPSSPP to the latest version including WIP external display support, and DOOM’s music for PrBoom with the latest naming convention and added DOOM Sigil’s soundtrack…

Links updated in the first post !

Hi Weedy,

I just added your repo in Cydia on my old iPad 2 (running iOS 9.3.5), but the “All Packages” page is blank. I’ve ensured that I have the correct URL (it even correctly lists your repo as “iOS Emulators” on the Sources page) so I’m not sure why I can’t see any of your packages.

Thanks, Visor

@Visor Hmm, maybe the server was overloaded ? I checked it and everything works fine as of now, I suggest you to refresh sources…

@ Weedy_Weed_Smoker Refreshing didn’t work so I tried a full reinstall of Phoenix and then made sure my Cydia was fully up to date, and when I re-added your repo the packages finally showed up. I was able to download and install RetroArch for iOS 9.

Unfortunately, I’m having problems trying to sync my roms to the iPad in iTunes. The message I get is: “[rom filename] could not be copied because an error occurred. The required disk cannot be found.” The disk I’m copying from is active and there aren’t any problems with my iPad’s storage drive. I am able to copy my roms to other apps that support file sharing, so I’m not sure what the problem is. I’ve tried file sharing in both Jailbroken and non-Jailbroken modes.

At this point, should I be looking for a File Manager app in order to load my rom files?

UPDATE: I found your other guide where you recommend downloading iExplorer or iFunBox, but neither one of them show where the /private/var/mobile/… folders are. iFunBox shows my iPad as still “Jailed”, even though I’ve confirmed in Phoenix that it is in fact jailbroken. iExplorer shows different folders for Media, Photos, Documents, etc. but I have no idea how to find them within my iPad. I’ve spent too much time on this and I’m at my wit’s end. I’m hoping you can provide some guidance on this.

Thanks, Visor

@Visor On your iPhone, install “afc2add” from Cydia… (For iOS 11+ you would need “Apple File Conduit "2"”)

Then in iExplorer preferences, check “Allow access to “real” root. (requires Jailbroken iPhone with AFC2ADD installed) <- (only on macOS)

You should then be able to access the whole iPhone filesystem from iExplorer by clicking the “Root Folder” button!

@ Weedy_Weed_Smoker I downloaded and installed afc2add, but I can’t find a setting in iExplorer to allow access to the real root. You mentioned a “preferences” section, but all I could find was a “settings” section, which did not have the option listed in any of its sub-sections.

Also, iFunBox still lists my device as Jailed. :frowning:

UPDATE: Thanks to the following link I figured out a workaround and managed to navigate to my own roms under a folder I was able to access without requiring root privileges:

However, now that I’ve finally been able to start game testing, I’m left very disappointed. First, my 8BitDo SN30 Pro gamepad won’t pair via Bluetooth, which I’ve learned is because of iOS licensing issues, or something along those lines. Second, when even playing a basic game such as Super Mario Bros., the framerate is choppy at 30fps or less. I’ve tried both Nestopia and FCEUMM emulators, and tried enabling/disabling VSync and Threaded Video, but the problem persists. It appears that an iPad 2 (NOT an Air 2, in case you were wondering) isn’t powerful enough to run even basic NES games? I tried Googling but the only thing I could find were people complaining that their PS1 performance took a nose dive after upgrading to iOS 9 on their iPad 2s.

So unless I’m missing something, I think I will give up on this project and just go back to using my Android-based Moto E4 phone for portable gaming, as installation and setup were FAR easier, and the phone’s modest processor can even handle up to N64 emulation. Heck, I even have an Ipega PG-9087 controller on its way!

Thanks, Visor

@Visor For the SN30 Pro gamepad, try to install “Controllers For All” on your iOS device, then put the controller in macOS mode…

Also depending on the core, you can have poor performances even emulating a basic system when the core’s focus is accuracy!

But on my similarly spec’d iPhone 4s (though the phone is underclocked to 800 MHz, unlike the iPad 2 which uses the A5’s chip full 1 GHz…), I just ran content smoothly by disabling “Frame Throttle > Sync to Exact Content Framerate”, which I enabled for all devices, but should not have enabled it at all… It unlocks framerates higher than 60 FPS on iPad Pro 2 and up, but I think it’s disabled by default for a reason…

I just tested NES, SNES, Genesis, GBA, PSX… All with a smooth framerate ! (Only by disabling “Sync to Exact Content Framerate”… You should keep “Vsync” on and “Threaded Video” off)

BTW, I downgraded my 4s to iOS 6.1.3 (which is still signed as well as 9.3.5 for the 4s and the iPad 2)… Maybe you would like to try this out if you don’t use the iPad for more “modern” stuff…

@ Weedy_Weed_Smoker I see that you have to purchase “Controllers for All” through Cydia, and I currently don’t have a Cydia account set up (and I’m a little hesitant to set up a credit card with a shady store like this) so I’ll have to think about it.

Yep, I’m well aware that certain cores are more leaned towards high accuracy, which is why I didn’t try Mesen for NES, Higan Accuracy for SNES, etc.

Thanks for the Frame Throttle tip; after disabling that setting (along with Threaded Video) the game was playing back smoothly. If it’s supposed to be disabled by default then I have no idea why it was enabled on my installation(?)

Unfortunately, I have the 2012 iPad 2 model (i.e. the “iPad 2,4” model), which was never made with iOS 6 in mind (which is necessary to perform a system rollback) so I’m SOL. Believe me, I’ve spent a LOT of time researching this, as I was desperate to get off the super-slow iOS 8 & 9 on this device. :stuck_out_tongue:

@Visor You can find “Controllers For All” on the http://repo.biteyourapple.net repo…

Actually, I have enabled that setting but I definitely shouldn’t, at least on the iOS 9 and lower versions…

BTW, if you’re looking for a good file manager on the iPad, you could install iFile from this repo too !

If you ever have trouble with files installed as root on the iPad (like save or config files not able to be overwritten, or something…) you can change those files and maybe containing folder’s owner to the correct “mobile:mobile” instead of “root:wheel” or something with iFile on your device… It is useful only in that case BTW, don’t go around changing system files and folders owners and permissions… :smile:

That repo appears to be down, as whenever I try to install either “Controllers for All” or “iFile” I keep getting: “HTTP/1.1 500 Internal Server Error” messages. I tried last night and this morning but the problem persists.

I’m trying to figure out why half of your paragraphs are in italics, lol. At first I thought you were quoting someone else, but it appears it’s just part of your response and your format is just changing at random :stuck_out_tongue:

@Visor Oh yeah, you’re correct… Many repos seem to have disappeared now…

http://repo.hackyouriphone.org has those too and is still up though ! You can use this one instead (and obviously remove the BYA one…)

I use italic for less important stuff in the discussion, to make sure you see the more important stuff better… :smile:

@ Weedy_Weed_Smoker Okay, so I was able to install Controllers for All, and by no surprise I’m onto my NEXT problem… trying to get my 8BitDo controller connected and recognized. After a bit of Googling I found out that the 8BitDo controllers aren’t officially supported and that I’d have to choose “Keyboard” as the controller type. However, I can’t update the keymap as it won’t recognize any button presses from my controller. Meanwhile, my controller was suddenly recognized within my standard Bluetooth settings, but once again no button presses were registered.

… I’m really getting burnt out on this. I can’t believe Apple has made things so darn complicated that I still can’t get things to work days after the fact. If you have any other tips, please let me know, but I’m getting pretty close to restoring my iPad2 (and thus removing the jailbreak) and putting it back on the shelf until I decide if I want to recycle it. :angry:

@Visor for modern iOS it’d be recognized as a keyboard, but controllers for all is it’s own thing, separated from integrated Bluetooth (as I remember, it uses BTstack for jailbroken iOS, but I didn’t use that since the iOS 9 days so I kinda forgot how to operate CFA)

In RetroArch itself, you could try a different input driver (hid if mfi is selected, and not working)…

A ps3 controller will work fine with controllers for all… And I’ve seen in a YouTube video that your controller in macOS mode will be recognized by a ps3…

I think you can try just that (and if this doesn’t work, maybe the other modes listed in the manual : http://download.8bitdo.com/Manual/Controller/SN30pro+SF30pro/SN30pro_Manual.pdf )

Just updated the repo with RetroArch’s latest version…

Links updated in the first post !

And… Updated the buildbot with the latest cores too !

I’m trying to use the repo version of BasiliskII on 9.3.5, and while it works fine with system 7.0.1 (after hand-fixing all the file permissions), 7.5.x and later crash right when startup is complete and the desktop is fully loaded.

Is there an upstream issue tracker I should be reporting this on?

@rakslice The code is here, but I personally can run up to Mac OS 8.1 just fine :

Here are my settings :