I Built a Way to Run Linux Desktop Apps on an iPhone — Meet LinuxRunner

What if you could turn your iPhone into a Linux desktop, without jailbreaking, virtualization, or streaming from another computer?

That’s exactly what I’ve been working on with LinuxRunner, an open-source project that brings ARM64 Linux environments and desktop applications to iPhones and iPads.

What started as an experiment has grown into something much bigger, and recently I’ve added a DeX-style desktop mode to take things even further.

How does LinuxRunner work?

LinuxRunner isn’t a remote desktop, a virtual machine, or just a Linux-looking interface.

It uses a custom ARM64 instruction interpreter combined with a Linux-compatible runtime to execute existing Linux ARM64 applications locally on iOS.

The runtime handles things like Linux system calls, memory management, threading, and other functionality that Linux applications expect from their operating system.

The idea is to support a broad range of Linux ARM64 software without having to individually port every application to iOS.

Multiple Linux desktops on an iPhone

One of the coolest parts is that LinuxRunner isn’t limited to a single desktop environment.

It supports Debian and Arch Linux environments, with desktop environments and Wayland compositors such as:

  • Hyprland — a modern, highly customizable Wayland compositor.
  • KDE Plasma — a complete desktop environment with a familiar PC experience.
  • Wayfire — a Wayland compositor with GPU-accelerated effects.
  • Enlightenment — a lightweight and flexible desktop environment.

All of this is designed to run locally on iOS, without needing a separate computer.

Real desktop applications and GPU acceleration

LinuxRunner isn’t just about displaying a desktop.

We’ve managed to get Blender, Firefox, and numerous other Linux desktop applications running through the ARM64 runtime.

For graphics, LinuxRunner uses OpenGL ES through ANGLE → Metal, allowing compatible applications to use the iPhone’s GPU for hardware-accelerated rendering.

Of course, compatibility isn’t perfect yet. Some applications still have issues, and there’s ongoing work to improve stability, performance, and support for more Linux functionality.

But the goal is much bigger than getting a few specific programs running. I want LinuxRunner to be compatible with as much of the Linux ARM64 software ecosystem as possible.

Introducing DeX-style desktop mode

One of the newest additions to LinuxRunner is a DeX-style desktop mode, inspired by the idea of turning a smartphone into a proper desktop computer.

With an external display, you can use your iPhone with a larger Linux desktop workspace instead of being limited to the phone’s screen.

It’s a pretty interesting experience seeing an actual Linux desktop running from an iPhone, especially knowing that everything is being executed locally.

I also wanted to show how it works in practice, so I’ve included real photos taken during testing rather than concept renders.

What’s next for LinuxRunner?

There’s still a lot I want to improve:

  • Broader Linux ARM64 application compatibility.
  • Better GPU acceleration and rendering performance.
  • More stable desktop environments and applications.
  • Improved input, audio, and external display integration.
  • A smoother, more complete desktop experience.

The long-term goal is to make LinuxRunner a practical way to run Linux desktop software on iPhones and iPads, without jailbreaking or depending on another computer.

It’s still an ongoing project, but seeing how far it has come has been incredibly rewarding.

Check out the project

LinuxRunner is open source, and the code is available on GitHub.

If you’re interested in Linux, iOS, ARM64, or just unusual software projects, feel free to explore it!

GitHub: https://github.com/mxhm11cr/LinuxRunner

I’d love to hear your thoughts, ideas, or sugestions!