🇺🇸

Tag Archive for ‘AltStore’

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.

The App Store Turns 15 ➝

Those early days of the App Store felt so magical. Suddenly, this little pocket computer had access to hundreds of applications to expand its capabilities. No more sweet solutions necessary.

But here we are, fifteen years later, and the App Store feels like more of a hindrance. A limitation on the platform that prevents entire categories of applications from even being developed.

For those of us that want to run these types of apps, we’re stuck relying on other sweet solutions to install and run the code. I would have hoped that Apple was the kind of company that would have opened things up years ago, but it seems they’ll be clinging to the status quo until regulators force their hand.

➝ Source: mjtsai.com

Retro Gaming on iOS

Backbone and iPhone 13 Pro, playing New Super Mario Bros. Wii I’m Dolphin

I’ve been on the search for the perfect retro gaming handheld for the past couple of years. I’ve modded a PlayStation Portable, used flash cartridges in my old Nintendo DS, and have purchased the Retroid Pocket 2+, and Retroid Pocket 3.

None of these ever felt like the right setup for me, though. I had a lot of fun playing games on them and setting them up, but in the end I just had yet-another device to maintain. It always felt a bit too cumbersome. And it didn’t help that none of the devices I tried were particularly comfortable to use.

I also own a Switch. But, not only does that miss the mark on all of the points above, it’s also not that great at playing retro games, which was my primary goal. I’ve had a ton of fun playing The Legend of Zelda: Breath of the Wild, Super Mario Maker 2, and others, but the retro games on Switch require a subscription or the stand-alone purchase of remakes that are, more often than not, far worse than the original.

Backbone

Rather than introduce a new device into my life with its own operating system and battery life to manage, I’m now using the Backbone with my existing iPhone 13 Pro. It’s one of those retractable controllers that you can place your device in to turn it into a gaming handheld.

I had never had much interest in these products because I hadn’t heard good things about them. They all seemed to be poorly made by fly-by-night companies. And although there isn’t much history to go on with Backbone, they have partnered with Sony for a PlayStation edition, which is what I decided to go for.

The hardware feels quite good. It’s obviously not as sturdy as an actual gaming handheld due to the nature of the form factor, but I don’t expect it to break anytime soon. The buttons and thumb sticks are all as responsive as you’d hope and they feel great to use.

I wish there was an option to have the directional pad positioned above the left analog stick. That would match the layout of Sony’s DualShock controllers and would be far better for the types of games I tend to play. But that layout doesn’t seem to exist among the competition either.

Backbone App

The Backbone has a dedicated screenshot/screen recording button, which is quite handy. And there’s a Backbone button as well that, when pressed, takes you right into Backbone’s launcher app. I can’t say the launcher app is great, by any means. Especially when compared to the launcher options on Android. But it’s serviceable.

The Backbone app showcases popular games from the App Store, Xbox game streaming, PS Remote Play, it has screenshot and screen recording section, and more. But, for me, the app is basically just a way to quickly launch games using the controller.

Within the section that displays your games there are also games and apps that Backbone is promoting. I wish there was a way to remove those more consistently — I’ve been able to remove some, but no luck with others. Luckily they’re generally out of my way since games are sorted by most-recently played.

App Store

In terms of what I’ve actually been playing on it, there’s been a lot of Minecraft. The game suffers from the same problems I have with titles like The Sims in that it’s a lot more fun at the beginning when you’re first collecting resources and building your base. But I think my current world is the one I’ve spent the most time in.

I’m not actively playing as frequently in recent weeks, but I have some ideas for projects that I still haven’t done in and around my base, so I expect I’ll be picking it up again more regularly in the not-too-distant future.

Submerged Glass Base Project in Minecraft

I’ve also had a blast streaming games through Steam Link. I have a Windows machine in my office that I essentially only interact with over VNC through Screens and with Steam Link. I’ve replayed Half-Life 2 recently and have a number of other Steam games in my backlog that I want to play soon, too — Celeste, Hogwarts Legacy, and Cuphead to name a few.

AltStore

Games from Steam and the App Store are fine and dandy, but the real stars of the show are made possible with AltStore, which makes it easy to install apps from outside of the App Store. You basically install a piece of software on a Mac or PC, enter your Apple ID credentials, and the AltStore app will install on your device.

AltStore has a number of apps that you can install right from within the Browse tab — Flycast, UTM, Provenance, and more — but you can also sideload any .ipa file from the My Apps tab. I’ve installed Dolphin and RetroArch. This gives me access to emulating the following systems:

  • Game Boy Advance
  • Game Boy Color
  • Game Boy
  • Nintendo 64
  • Nintendo DS
  • Nintendo Entertainment System
  • Super Nintendo
  • Sega 32X
  • Sega Game Gear
  • Sega Master System
  • Sega Genesis
  • Sega CD
  • Sega Saturn
  • PlayStation Portable
  • PlayStation
  • GameCube
  • Nintendo Wii

Everything runs surprisingly well. I’ve only come across a small number of games on PSP, Wii, and GameCube that were unplayable — either because of performance issues or incompatibilities with the emulator. In the case of PSP, I could install the stand-alone PPSSPP emulator to improve compatibility, but I prefer RetroArch’s interface.

Speaking of interface — launching sideloaded apps is one thing the Backbone app isn’t capable of. However, as a workaround, I’ve installed the PlayStation App and setup an automation in Shortcuts that triggers every time the PlayStation App is opened. It simply displays a menu listing my sideloaded apps — Dolphin and RetroArch — and launches the one I choose.

With this setup I can open the PlayStation App from within the Backbone app and then select the emulator I’d like to use. It’s not as slick as the emulation-focused launchers available on Android — my current favorite is Daijishō — but it gets the job done.

Moving back to the emulators themselves, there is a bit of a caveat with Dolphin. It requires JIT — just-in-time compilation — which allows the games to emulate at full speed. Without it, the experience would be abysmal. But in order to enable JIT, you need to be on the same network as a JIT enabling server. This is, conveniently, built-in to the AltServer software that AltStore interfaces with, but means that playing games in Dolphin while out and about is a no-go.

It’s an inconvenience for sure, but the vast majority of my gaming is done while at home and in other cases I can always just play something in RetroArch. Hopefully this will change when sideloading is officially offered in the future, but for now the workaround is rarely a hindrance in my use.

RetroArch on iOS

With these emulators I’ve been playing New Super Mario Bros. Wii, Tony Hawk’s Underground, The Lion King, and Super Mario World. And that’s just what I’ve had in my regular rotation, I’ve added about 50GB of ROMs between the two emulators, which will keep me busy for quite some time.

I’m very happy with my current setup. I can emulate roughly the same number of systems as I could on my Retroid devices, but because of the increased performance of the iPhone there’s likely a much larger number of games that are actually playable. And all of them run on a device that I already bring with me everywhere I go.

No need to maintain a separate device with its own software updates and battery life. All I need is the Backbone controller and my iPhone for access to modern mobile games on iOS, PC games through Steam Link, and a collection of the best games from the seventh generation of consoles and earlier.

Remember AltStore? ➝

Bill Ottman of Minds recently revealed that the social network’s application was at risk of being removed from the Google Play Store. Their developers pushed a version that removed search, discover, and comment functionality, which was accepted. They also released an update for iOS to match the changes on Android — I suspect in anticipation of similar concerns from Apple.

I’m not too familiar with Minds, I’ve only really heard about it in the past week or so. But from what I’ve seen, it seems fairly tame when compared to very easily discoverable content on Twitter, which doesn’t even seem close to being at risk of App Store removal.

But in my poking around Minds, I saw Bill Ottman mention AltStore — an application and service that smooths out the rough edges for sideloading apps on iPhone, iPad, and Apple TV. I forgot it even existed.

But now I’m curious about how much of a role AltStore could have going forward. And how welcoming they’ll be to some of these more controversial social applications.

If the folks at Parler or Minds start releasing their apps in AltStore, will Apple make more of an effort to prevent the sort-of loop hole from being utilized? Will there be pressure on Apple to allow apps from non-App Store sources? Will their be similar pressure in the opposite direction?

➝ Source: altstore.io