Where Does Live Container Install RetroArch — And What That Means for Your Setup

If you've been exploring ways to run RetroArch on an iPhone or iPad without a jailbreak, you've probably come across Live Container — an app that lets you sideload and run other iOS apps inside a sandboxed environment. One of the most common questions people have before diving in is simple but important: where exactly does Live Container install RetroArch, and what does that mean for how it runs?

The answer involves understanding how iOS handles app sandboxing, what Live Container actually does under the hood, and why the install location matters more than it might seem.

What Live Container Actually Does

Live Container is a sideloadable iOS application — typically installed via tools like AltStore or Sideloadly — that creates a containerized runtime environment for other apps. Instead of installing a second app directly onto your iOS home screen as a standalone process, Live Container runs that app inside itself, using its own process space.

This is a meaningful distinction. Normally, every iOS app gets its own isolated sandbox — a dedicated portion of the filesystem where it stores its data, preferences, and files, completely separate from every other app. Live Container essentially lends its sandbox to the apps running inside it.

So when you install RetroArch through Live Container, RetroArch is not installed as a native iOS app in the traditional sense. It runs within Live Container's sandbox, not its own.

Where the Files Actually Live 📁

When Live Container installs RetroArch, the files end up inside Live Container's own app container directory in iOS's private filesystem. The typical path structure looks something like this:

/var/mobile/Containers/Data/Application/[Live Container's UUID]/Documents/[AppName]/ 

RetroArch's data — including its cores, configuration files, ROMs directory pointers, BIOS files, and save states — will be stored under this path rather than under a dedicated RetroArch container.

This has several practical implications:

  • ROMs and BIOS files you add need to go into the path that Live Container exposes, not a standalone RetroArch documents folder
  • Save data is stored within Live Container's container, meaning it's tied to the Live Container install rather than a standalone RetroArch install
  • If you delete Live Container, you lose everything associated with the apps running inside it

How This Compares to a Native RetroArch Install

To understand why this matters, it helps to compare the two approaches side by side:

FactorNative RetroArch InstallRetroArch via Live Container
Install locationIts own sandbox/containerInside Live Container's container
Home screen iconYes, standaloneLaunched through Live Container
File accessRetroArch's Documents folderLive Container's Documents folder
Signing requirementNeeds valid signing certificateNeeds Live Container to be signed
Process isolationFully independent processShares Live Container's process
Save data locationRetroArch's containerLive Container's container

Neither approach is inherently better — they involve real trade-offs depending on how you plan to use the setup.

Why the Install Location Affects Performance and Stability

Because RetroArch runs inside Live Container's process rather than as its own process, there are a few behavioral differences worth knowing:

JIT (Just-In-Time) compilation is one of the biggest factors. RetroArch's more demanding emulation cores — particularly for PlayStation, Nintendo 64, and newer systems — rely heavily on JIT for acceptable performance. Live Container has its own methods for enabling JIT access, which may or may not behave identically to how a natively installed and JIT-enabled RetroArch would perform. The effectiveness depends on your iOS version, your device's hardware, and how Live Container is configured.

Background behavior is also different. Since RetroArch isn't its own process, it follows Live Container's rules for backgrounding, memory handling, and suspension — not RetroArch's own lifecycle.

File management becomes a layer more complex. Transferring ROMs, BIOS files, and cores requires navigating to Live Container's documents location rather than RetroArch's own exposed folder in the iOS Files app. Some users find this straightforward; others find it adds friction depending on how they manage files on their device.

Variables That Shape Your Experience 🔧

The actual experience of running RetroArch through Live Container varies significantly based on several factors:

  • iOS version — Certain versions have tighter restrictions on JIT, sideloading, and app containers, which directly affects what Live Container can and can't do
  • Device generation — Older devices have less RAM and CPU headroom, which compounds any performance overhead from containerization
  • Which RetroArch cores you need — Lightweight cores (NES, SNES, Game Boy) behave very differently from demanding ones (PSP, Dreamcast, N64)
  • How you manage ROMs — Users who frequently add, organize, or back up ROMs will notice the indirect file path more than casual users
  • Your signing method — AltStore, Sideloadly, a developer account, or other methods each have different certificate validity windows, affecting how reliably Live Container (and RetroArch inside it) stays functional

The Practical Bottom Line

Live Container installs RetroArch inside its own container directory — not as a standalone app with its own dedicated iOS sandbox. That means file paths, save locations, JIT access, and process behavior all flow through Live Container rather than directly through RetroArch.

Whether that setup works well depends entirely on what you're trying to run, which device and iOS version you're on, and how much friction you're willing to manage around file access and signing. The installation location isn't a flaw or a feature by itself — it's a structural reality of how containerized sideloading works on iOS, and its impact lands very differently depending on your specific situation.