The three modes

Per-window

Native mode

Linux desktop apps can show up on your Home Screen and launch into their own iPadOS windows. The backend exists; the per-window UI path is still being validated.

Our own shell

iosc desktop

The compositor's own tablet-first desktop: a panel with launchers, a dock, an overview, and a wallpaper.

Upstream

Bring your own desktop

Run a full upstream desktop environment. GNOME Shell 46 and KDE Plasma both use the same IOSurface and GPU foundation. This is the heavy path, and the closest to a normal Linux desktop.

The app launcher
Native mode: switching between apps

Bring your own desktop environment

For people who want a normal desktop environment, GNOME Shell and KDE Plasma are running on the same IOSurface and GPU stack.

Mutter and gjs

GNOME Shell 46

The full GNOME Shell 46, driven by Mutter with a new iOS backend, MetaBackendIOS, that renders to IOSurfaces and reuses iosc's GPU glue instead of nesting two compositors. It boots through the packaged gnome-session path and runs on the device. The remaining work is polish and service coverage, not first paint.

KWin and KF6

KDE Plasma

Plasma Desktop and Mobile on KWin, built on cross-compiled Qt6 and KDE Frameworks 6. The current desktop package includes System Settings, KScreen, Breeze styling, and the first KDE app batch: Ark, Gwenview, and KWrite.

Why the shell port avoids nesting

Running GNOME Shell means running Mutter, which is itself a compositor. Rather than stack Mutter inside iosc, the port gives Mutter a native iOS backend that reuses the same IOSurface and Metal plumbing, so there is one compositor on screen instead of two.

Apps, without a full desktop

You do not need GNOME Shell or Plasma to run desktop apps. iosc can launch GTK, Qt/KF6, X11, and plain Wayland clients as windows.

Console (kgx)
A real GNOME terminal with a working shell.
Calculator
The Vala GNOME app.
foot, imv, mpv
A Wayland app wave. foot has a working PTY, imv works through its native Wayland path and an Xwayland fallback, and mpv renders through ANGLE/Metal.
fuzzel, dunst, zathura, hitori
Launcher, notifications, a PDF viewer, and a GTK puzzle app.
Ark, Gwenview, KWrite
The first published Qt/KF6 app batch.