Running Linux on an iPhone or iPad no longer has to mean jailbreaking the device. LinuxRunner and crate-ios (also known as crate) are two open-source projects bringing Linux environments to Apple’s mobile hardware. However, they use very different technologies.
LinuxRunner focuses on running Linux applications and desktop environments through a userspace compatibility layer, while crate takes a more ambitious route by booting a complete Linux virtual machine.
LinuxRunner vs crate: Key Differences
| Feature | LinuxRunner | crate-ios |
|---|---|---|
| Core Technology | Userspace Linux compatibility layer derived from iSH and ios-linuxkit | Rust-based virtual machine with an ARM64-to-ARM64 translator |
| Linux Kernel | Does not boot a Linux kernel | Boots a real Linux kernel |
| Supported Distros | Debian 13, Arch Linux ARM, Fedora 44, Kali Linux, Alpine 3.24 and experimental SteamOS ARM64 | Ubuntu 26.04, Debian 13 and Arch Linux ARM |
| Desktop Environments | Openbox-based LinuxRunner Desktop, LXQt, Enlightenment, KDE Plasma, Wayfire and Hyprland | GNOME, KDE Plasma and Xfce |
| JIT Support | Optional; interpreter mode works without it | Required for usable performance |
| Graphics | Metal acceleration through Mesa, virglrenderer and ANGLE, with software rendering fallback | GPU acceleration through virglrenderer, ANGLE and MoltenVK |
| External Display | Supports an external desktop display with the iPhone acting as a trackpad | Supports external monitor output with the device acting as a trackpad |
| Installation | IPA sideloading through tools such as Sideloadly or AltStore Classic | Sign the IPA with an Apple ID, install it and enable JIT |
| Resource Usage | Generally lighter because it does not run a full Linux kernel | Higher overhead from the virtual machine, with configurable memory and disk space |
| License | GPL-3.0, alongside third-party components | MPL-2.0 |
LinuxRunner: A Lighter Linux Environment
LinuxRunner uses a userspace interpreter and Linux compatibility layer rather than booting a complete Linux kernel. This approach can reduce resource overhead and makes it possible to run Linux applications and desktop environments directly inside the app.
Its distribution selection is broader, including Debian, Arch Linux ARM, Fedora, Kali Linux and Alpine. Desktop options range from its Openbox-based environment to LXQt, Enlightenment, Wayfire and experimental KDE Plasma and Hyprland support.
One of its biggest advantages is optional JIT support. LinuxRunner can operate in interpreter mode without JIT, although enabling it can improve performance.
The project also supports Metal-based graphics acceleration and external displays, allowing an iPhone to function as a desktop-style Linux environment.
crate: A Complete Linux Virtual Machine
crate takes a different approach. Instead of providing a compatibility layer, it runs a full Linux virtual machine with a real kernel and userspace.
Built around a custom Rust-based ARM64-to-ARM64 translator, crate supports distributions including Ubuntu 26.04 with GNOME, Debian 13 with KDE or Xfce, and Arch Linux ARM with KDE or Xfce.
Its architecture is designed to deliver better performance than traditional QEMU TCG emulation. The project reports substantial performance improvements in its benchmarks, although actual results will depend on the device and workload.
Graphics acceleration uses virglrenderer, ANGLE and MoltenVK. crate also supports external monitors, with the iPhone or iPad serving as a trackpad.
The main drawback is its setup process. JIT is required for usable performance, and users need to configure the necessary signing and JIT environment using tools such as StikDebug or the built-in StikJIT helper with LocalDevVPN.
Which Project Should You Choose?
| Your Priority | Better Choice |
|---|---|
| Running Linux without configuring JIT | LinuxRunner |
| More Linux distribution options | LinuxRunner |
| Lower resource overhead | LinuxRunner |
| A real Linux kernel and complete VM | crate |
| A full Ubuntu, Debian or Arch desktop VM | crate |
| A performance-focused VM architecture | crate |
Choose LinuxRunner for a lighter Linux environment, broader distribution support and the option to run without JIT. Choose crate if you want a complete Linux virtual machine and are comfortable with the additional setup.
Both Projects Have Limitations
Neither project turns an iPhone into a fully unrestricted desktop computer. Both remain experimental and face limitations involving system compatibility, memory use, device temperatures and iOS background-process restrictions.
Incomplete syscall coverage can also affect which Linux applications work correctly. In addition, iOS may suspend or terminate processes when an app moves into the background.
LinuxRunner currently has a larger community and broader feature set, while crate offers an interesting alternative with its custom virtual machine architecture.
Final Verdict
LinuxRunner and crate solve different problems. LinuxRunner is the more flexible choice for running Linux applications and desktop environments with lower overhead. crate is better suited to users who specifically want a real Linux kernel running inside a virtual machine.
For a straightforward Linux experience on an iPhone or iPad, LinuxRunner has the advantage. For those interested in running a complete Linux system, crate is the more distinctive option.