X11 on iOS


Introduction

I'm excited to announce that X11 is coming soon to iOS. Most (see below) packages and dependencies for a fully functioning X11 desktop system have been compiled and are available on Cydia for iOS 11+. All packages have been compiled for arm64 and have been tested on iOS 12.4 and iOS 13.1. This requires a jailbroken device.

This site will serve largely as documentation for building yourself. You can add the Cydia repo below for the deb packages. Please let me know if you run across any issues with the debs; it's likely I messed up including a library or something like that. (These aren't done just yet.)

X11 on iOS with a desktop, text editor, and OpenGL demo Above: adie (text editor), glxgears (GL demo), xterm (terminal emulator), fluxbox (window manager), compton (compositor), PathFinder (files).
Image of programs running on device

How it works

At the moment, a virtual screen is accessed via a VNC client to an Xvnc [1]instance running on the iDevice. If you're unfamiliar, Xvnc is an X server with a virtual screen that can be accessed via VNC. The best part of this is no drivers are required: it's all handled by Xvnc.

Why

I want to turn my iPad into a proper development environment, and a windowing system helps with that. It's a powerful machine with a Unix-like OS, so X11 seemed like a reasonable project. X11 allows running arbirtary applications like browsers and IDEs, assuming you can make them compile.

Current Features

What's next?

Want to contribute?

If you're interested in using X11 now, or helping make it available sooner, feel free to email me or find me on IRC as MaxLeiter in #X11iOS on Freenode. More information on contributing is in the works.

Building instructions

On a separate page

Tips, bugs, etc.


[1] https://tigervnc.org/doc/Xvnc.html