<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Leminos</title>
    <description>The latest articles on DEV Community by Leminos (@mxhm1cr).</description>
    <link>https://dev.to/mxhm1cr</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4223117%2F3db5f5b5-c576-4b45-804a-e1a252db13f9.png</url>
      <title>DEV Community: Leminos</title>
      <link>https://dev.to/mxhm1cr</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/mxhm1cr"/>
    <language>en</language>
    <item>
      <title>We got real Linux on iPhone!</title>
      <dc:creator>Leminos</dc:creator>
      <pubDate>Mon, 02 Nov 2026 21:42:05 +0000</pubDate>
      <link>https://dev.to/mxhm1cr/we-got-real-linux-on-iphone-19k</link>
      <guid>https://dev.to/mxhm1cr/we-got-real-linux-on-iphone-19k</guid>
      <description>&lt;p&gt;I Built a Way to Run Linux Desktop Apps on an iPhone — Meet LinuxRunner&lt;/p&gt;

&lt;p&gt;What if you could turn your iPhone into a Linux desktop, without jailbreaking, virtualization, or streaming from another computer?&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;How does LinuxRunner work?&lt;/p&gt;

&lt;p&gt;LinuxRunner isn’t a remote desktop, a virtual machine, or just a Linux-looking interface.&lt;/p&gt;

&lt;p&gt;It uses a custom ARM64 instruction interpreter combined with a Linux-compatible runtime to execute existing Linux ARM64 applications locally on iOS.&lt;/p&gt;

&lt;p&gt;The runtime handles things like Linux system calls, memory management, threading, and other functionality that Linux applications expect from their operating system.&lt;/p&gt;

&lt;p&gt;The idea is to support a broad range of Linux ARM64 software without having to individually port every application to iOS.&lt;/p&gt;

&lt;p&gt;Multiple Linux desktops on an iPhone&lt;/p&gt;

&lt;p&gt;One of the coolest parts is that LinuxRunner isn’t limited to a single desktop environment.&lt;/p&gt;

&lt;p&gt;It supports Debian and Arch Linux environments, with desktop environments and Wayland compositors such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Hyprland — a modern, highly customizable Wayland compositor.&lt;/li&gt;
&lt;li&gt;KDE Plasma — a complete desktop environment with a familiar PC experience.&lt;/li&gt;
&lt;li&gt;Wayfire — a Wayland compositor with GPU-accelerated effects.&lt;/li&gt;
&lt;li&gt;Enlightenment — a lightweight and flexible desktop environment.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;All of this is designed to run locally on iOS, without needing a separate computer.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fk9m4zu8h4ozlzhry1rjz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fk9m4zu8h4ozlzhry1rjz.png" alt=" " width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fbe58j94bf09865ypso6q.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fbe58j94bf09865ypso6q.png" alt=" " width="800" height="369"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Real desktop applications and GPU acceleration&lt;/p&gt;

&lt;p&gt;LinuxRunner isn’t just about displaying a desktop.&lt;/p&gt;

&lt;p&gt;We’ve managed to get Blender, Firefox, and numerous other Linux desktop applications running through the ARM64 runtime.&lt;/p&gt;

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

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fvaiozxjz8jlw7je630ie.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fvaiozxjz8jlw7je630ie.png" alt=" " width="800" height="369"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fpkd3cxfdna0omjfvld5q.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fpkd3cxfdna0omjfvld5q.png" alt=" " width="800" height="369"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fp7es3kcy5061bqv83d1c.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fp7es3kcy5061bqv83d1c.png" alt=" " width="800" height="1734"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Introducing DeX-style desktop mode&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;

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

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

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

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ffvw440o7lfosxbu43rc0.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ffvw440o7lfosxbu43rc0.jpeg" alt=" " width="800" height="1067"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Feo6g09k8767gkscrjn2s.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Feo6g09k8767gkscrjn2s.jpeg" alt=" " width="800" height="1067"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;What’s next for LinuxRunner?&lt;/p&gt;

&lt;p&gt;There’s still a lot I want to improve:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Broader Linux ARM64 application compatibility.&lt;/li&gt;
&lt;li&gt;Better GPU acceleration and rendering performance.&lt;/li&gt;
&lt;li&gt;More stable desktop environments and applications.&lt;/li&gt;
&lt;li&gt;Improved input, audio, and external display integration.&lt;/li&gt;
&lt;li&gt;A smoother, more complete desktop experience.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;It’s still an ongoing project, but seeing how far it has come has been incredibly rewarding.&lt;/p&gt;

&lt;p&gt;Check out the project&lt;/p&gt;

&lt;p&gt;LinuxRunner is open source, and the code is available on GitHub.&lt;/p&gt;

&lt;p&gt;If you’re interested in Linux, iOS, ARM64, or just unusual software projects, feel free to explore it!&lt;/p&gt;

&lt;p&gt;GitHub: &lt;a href="https://github.com/mxhm11cr/LinuxRunner" rel="noopener noreferrer"&gt;https://github.com/mxhm11cr/LinuxRunner&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I’d love to hear your thoughts, ideas, or sugestions!&lt;/p&gt;

</description>
      <category>linux</category>
      <category>ios</category>
      <category>linuxrunner</category>
      <category>swift</category>
    </item>
  </channel>
</rss>
