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.)

running on deviceAbove: glxgears (GL demo), xterm (terminal emulator), fluxbox (window manager), compton (compositor)Image of programs running on device

How it works

At the moment, a virtual screen is accessed via a VNC client to an Xvnc 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

Largely just because I can. Also, 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

  • X11 on iOS via Xvnc
  • Working window managers (jwm / twm / fluxbox)
  • Text editor (adie)
  • Image editor (azpainter)
  • OpenGL (via Mesa)
  • Loads of other libraries, tools, and applications.
  • All available in a Cydia repo

Want to help contribute?

If you're interested in using X11 now, or helping make it available sooner, feel free to 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