Tag Archive for ‘Sideloading’

Emulation on iPhone

iPhone Running PPSSPP with Razer Kishi V2

Last year I wrote an about retro gaming on iOS. I’ve had a lot of fun playing games on the platform, especially through emulation. Much of what I wrote last year is still applicable today, but I thought I’d revisit the topic with a focus on the state of emulation on iOS and all of the software and accessories you’ll need to get started.

Controllers

You can get by with some games using the touch screen controls — turn-based RPGs like Pokémon come to mind — but if you’re interested in playing anything else, you’ll want to get some kind of controller. Apple has done a great job of adding support for controllers in iOS, you can use Sony’s DualSense Controller, for example — Apple even sells it on their site. I’m a huge fan of 8BitDo controllers and would highly recommend their Pro 2 controller.

These traditional controllers are all well and good if you’re going to be connecting your iPhone to a television to play games. Although, I wouldn’t recommend it unless you have an iPhone with a USB-C port. Lightning devices have notoriously bad latency in their HDMI output.

If you want to play on the iPhone’s display, though, you’ll want a controller that attaches to the device itself. This gives you a gaming experience that’s more in-line with a dedicated gaming handheld.

There are plenty of options on the market, but I think there are three clear front-runners in the space.

GameSir G8 Galileo — This controller is USB-C only, so if you’re using an iPhone with a Lightning port, it’s not going to be an option for you. I’ve also not used this one myself, however, everything I’ve seen and read has been overwhelmingly positive. Russ from Retro Game Corps mentioned in his review that, going forward, whenever anyone asks for a recommendation in this category, the GameSir G8 Galileo will be his first pick.

Razer Kishi V2 — This is available for Lightning and USB-C devices, it has the least flex of any of the controllers I’ve used — it fits on my iPhone 15 Pro like a glove and the expanding portion in the middle doesn’t bow inward toward the back of the device. It’s very close to being my favorite of the controllers I’ve tried. But I hate that the controller’s start/select/share/menu buttons aren’t symmetrical. It’s also a huge bummer that the USB-C version isn’t fully supported on iOS. The Razer Nexus app doesn’t recognize the controller and you can’t use its additional buttons on the platform at all. Hopefully a future software update will change that, but I’m not holding my breath.

Backbone One — Also available for Lightning and USB-C devices, but all of its functionality is supported on both Android and iOS. There is a bit of flex in the controller during use and the expanding portion bows in toward the back of your device, but it feels really good in the hand. I love how all of the buttons feel on the Backbone, they have a much softer press than the Razer Kishi V2 and all of the additional buttons are symmetrical. The Backbone app requires a subscription, which I’m not fond of, but it’s not something you have to use. And compared to the Razer Kishi V2 that doesn’t even work with the app on the iPhone 15, it’s a clear win for the Backbone. It’s also worth noting that there is a PlayStation edition of the controller and an official carrying case available to match both versions.

AltStore

Apple, being the restrictive little platform vendor that they are, doesn’t allow emulators on the App Store. In order to install them on your device, you’ll have to utilize sideloading. AltStore is the best method for installing and managing sideloaded applications on iOS.

You’ll want to follow the official guide for the latest installation process, but essentially, you install AltServer on your computer, use it to install AltStore on your iOS device, and you’re ready to start loading emulators on your iPhone.

You will need to login using your Apple ID throughout the process. This is used to sign the applications so they can run on your device. If you have a free Apple ID, you’ll be limited to just three signed apps at a time and they will only be useable for a week before you’ll need to re-sign them.

If you have a paid Apple Developer account, though, the limit on the number of apps is lifted and the apps will last a full year before they have to be re-signed. You can definitely get by with a free account — I’d recommend your three apps be AltStore, RetroArch, and either Limon or PPSPP — but if you want a larger assortment of systems available at all times, it may be worth considering a paid developer account.

If you choose to stick with a free Apple Developer account, you’ll be happy to know that AltStore itself is completely free to use. You can choose to subscribe to the project’s Patreon for access to beta versions of the app, but it’s not necessary unless you want to be on the bleeding edge.

Currently, the biggest feature available exclusively in the beta is the ability to add third-party sources. It’s a neat feature, for sure, but I haven’t found many sources that feel essential. Almost all of them are poorly maintained with outdated versions of apps. Because of this, I’m not sure if the Patreon is worth subscribing to just for access to the beta.

Recommended Emulators

There are a fair number of emulators available for iOS. Not nearly as many as Android or other platforms, though. Primarily because of Apple’s limitations on the App Store. But just about all of the systems you could ever want are covered.

RetroArch, Crash Team Racing for PlayStation, PPSSPP, and New Super Mario Bros. 2 for Nintendo 3DS

The following are a list of the emulators that I’m currently using and the ones that I would recommend others use as well. They’ll get you home consoles through the fifth generation and every handheld console up to and including the PlayStation Portable and Nintendo 3DS.

RetroArch — The Swiss Army knife of emulators, which will handle the bulk of the systems available. It’s a little finicky to setup — I tend to refer to Retro Game Corps’s excellent starter guide. But once it’s configured to your liking, it offers an excellent experience for PlayStation, Nintendo 64, Nintendo DS, Super Nintendo, Sega Genesis, Nintendo Entertainment System, and more.

PPSSPP — This is the best option for emulating PlayStation Portable games on iOS. RetroArch has a core that supports PSP games — based on PPSSPP — but the performance just isn’t up to par with the standalone release.

Limon — It’s still in the early days for this Nintendo 3DS emulator — there isn’t currently a way to exit a game, for example, you have to force quit the app instead. There’s definitely limited compatibility with games, but I’ve been using it to run New Super Mario Bros. 2 and it’s been great.

Other Emulators

This is by no means an exhaustive list of the remaining emulators on iOS, but they’re the ones that I’ve tried myself. I don’t recommend the first three primarily because they require the use of just-in-time compilation (JIT). This is a method for executing code that allows for more performance, but it isn’t available by default on iOS.

In order to use JIT, you have to enable it with a tool on another device — AltServer has this built in. Since the release of iOS 17, though, I haven’t been able to get JIT working at all. So unless you have better luck than I or you have an iOS device that you haven’t updated to iOS 17 yet, you’ll likely have to wait for a more robust method for enabling JIT.

DolphiniOS — An excellent release of Dolphin specifically for iOS that supports GameCube and Wii emulation. When I was able to get JIT working on my iPhone 13 Pro, it was a fantastic experience. I played many hours of Mario Kart Wii and Tony Hawk’s Underground on it. I only ran into a single game that didn’t run well — Tony Hawk’s American Wasteland — but I could probably get it to a reasonable frame rate with a bit of tweaking. If the JIT situation changes in iOS 17, DolphiniOS will be the first thing I install.

Flycast — A Dreamcast emulator available for iOS. I never ran into any compatibility issues with the games I’ve played on it. It’s a shame that there isn’t an option to run it without JIT enabled. There are plenty of low powered Android handhelds that are capable of emulating Dreamcast at the top end and the iPhone 15 Pro is significantly more powerful than those devices. I don’t know, maybe the current iPhone wouldn’t be capable of emulating Dreamcast games without JIT, but it wouldn’t surprise me if the iPhone released in a few years was able to. And in the meantime, there could be some RPGs or what have you that would be playable at lower frame rates.

Play! — A PlayStation 2 emulator with pretty pitiful compatibility. I haven’t had much luck with games I’ve tried in this emulator. The only one that seemed to run flawlessly was Spider-Man: Friend or Foe, which isn’t a particularly good game, but you could also just run the PSP version in PPSSPP instead.

The remaining emulators all work well, but have overlap with the systems supported by RetroArch:

Provenance — An all-in-one emulator akin to RetroArch. I prefer RetroArch’s interface over Provenance, though, especially if you have a large library of ROMs.

Delta — It emulates Nintendo systems and has excellent skins for touch screen controls, but RetroArch is able to emulate everything Delta supports.

MAME4iOS — An arcade emulator that I’ve spent very little time with. I’m generally not too interested in emulating arcade games, though, and the few I have enjoyed run just fine in RetroArch.

Emulation Frontend

This is the only piece of the puzzle that there isn’t a solution for on iOS. On Android you have apps like Daijisho and on PC you have apps like Launchbox. I’m not aware of anything like this on iOS at all.

The best I’ve been able to come up with is a shortcut that uses the Choose From Menu action to list each of the emulators I have installed and then opens the one I select using the Open App action.

You could just save that shortcut to your Home Screen and tap on it whenever you’d like to play a game, but if you chose a controller that has a companion app that can be launched using a button on the controller, there is an option for a more seamless experience.

If you’re using the Backbone controller, for example, you could setup an automation in the Shortcuts app that automatically runs the shortcut whenever the Backbone app is launched. Now when you want to play a game, you can attach the controller to your device, press the Backbone button, and select one of your emulators from the shortcut’s menu.

If you’ve come up with a better solution for this, though, I would absolutely love to hear about it. Feel free to reach out to me with the details.

iOS 17 Sideloading and USB-C in iPhone 15 ➝

Mark Gurman, reporting for Bloomberg:

iOS 17 will cause some noise beyond WWDC itself. Apple is working to overhaul the software to open up the iPhone to sideloading — the downloading of apps outside of its official store — to comply with new European regulations by next year.

If the rumors are true, Apple may be announcing an iPhone with USB-C at the same event that they’ll be releasing a version of iOS with official sideloading support.

Our pocket computers will soon be a bit more like actual computers. And I’m really glad this is an upgrade year for me.

➝ Source: bloomberg.com

Apple Working on Sideloading for Europe ➝

This is only good news in my mind. Any potential downsides pale in comparison to the benefit of being able to install software that isn’t beholden to Apple and their capricious App Store rules.

➝ Source: mjtsai.com

‘Reader’ Apps Can Now Add Links for Account Signups Outside of the App Store ➝

Juli Clover, writing for MacRumors:

Apple today informed developers of “reader” apps that they are able to sign up for access to an “External Link Account Entitlement” that will allow the app to offer a link to a website so users can create or manage an account outside of the App Store.

Chris Hannah, with the only question anyone should be asking in response to this news:

Why is this just not for all apps?

Apple’s silly restrictions on the App Store are holding the platform back. They should give this option to all app developers and let them distribute apps outside of the App Store, too.

➝ Source: macrumors.com

Apple’s Crippling Restrictions on Software Installation ➝

Apple, in a statement to The Wall Street Journal:

Governments and international agencies world-wide have explicitly advised against sideloading requirements, which would cripple the privacy and security protections that users have come to expect.

I’m not buying it. On my Mac, I have the ability to install whatever I want from wherever I want and I never feel that my privacy and security are at any meaningfully greater risk than when I install apps on my iPhone. It’s the same amount of concern for me on both platforms.

The only thing crippling iOS is Apple’s restrictions on software installation.

(Via MacRumors.)

➝ Source: www.wsj.com

Changing Minds on Sideloading ➝

JF Martin:

Ladies and gentlemen, I’m changing my mind on the sideloading of apps on the iPhone. I’m all in, and it is all Apple’s fault. I’m the one who wrote, “A Message to Apple Developers: We Don’t Need Another Android Platform“. And yet, I’m changing my mind. In a perfect world, I wouldn’t want sideloading, but we’re not in a perfect world. Apple isn’t perfect. The App Store isn’t perfect. Developers aren’t perfect. The App Store review team isn’t perfect. Everything isn’t perfect.

If you’re still opposed to Apple allowing sideloaded apps, read this.

➝ Source: numericcitizen.me

‘It’s Just the Process of Installing Software’ ➝

Riccardo Mori:

And on a more philosophical plane, sideloading ultimately means freedom of choice and giving back a bit of agency and responsibility to users. How Mac software works could very well work for iOS, too. There wouldn’t be the need to dismantle the App Store as it is today. Keep it as the curated place that it is (or wants to be), but allow iOS software to be distributed and installed from other places as well, with sandboxing and notarisation requirements in place just like with Mac software. And just like on Mac OS, at the user interface level you could warn the users that they’re about to install an app by an unidentified developer, outside of the App Store, and that if they choose to install it, it’s at their own risk. Let them make an informed decision.

He gets it.

➝ Source: morrick.me

Craig Federighi Says Sideloading on iPhone Would Open the Floodgates to Malware ➝

It doesn’t seem to have opened the floodgates to malware on the Mac. Perhaps this is more about controlling the platform and ensuring all of the money goes through them.

His quip about it taking “away user’s choice of a more secure platform” is just nonsense. If users want to exclusively install apps from the App Store, they can. Given how difficult it is to install unsigned apps on the Mac, I doubt many will be “tricked” into sideloading malicious apps. And there’s still plenty that Apple could do to mitigate the issue while still allowing for the installation of apps from outside the App Store.

➝ Source: macrumors.com