Four ways to run a desktop
The same Linux apps can be presented several different ways, and which one you get is decided by which package you install.
The modes
Native mode
Linux desktop apps show up on your Home Screen and launch into their own iPadOS windows, each in its own host bundle. A Settings pane picks which apps get icons. What is still being validated is the physical host-window polish, not the launch path.
iosc desktop
The compositor's own tablet-first desktop: a panel with launchers, a dock, an overview, and a wallpaper. The lightest thing here, and the one that assumes a touchscreen rather than tolerating one.
Bring your own desktop
Run a full upstream desktop environment. GNOME Shell 46 and KDE Plasma both sit on the same IOSurface and GPU foundation. This is the heavy path, and the closest to a normal Linux desktop.
X11 compatibility
Xwayland against iosc for X11 clients, rendering through glamor and ANGLE rather than on the CPU. Useful for old X apps that have no Wayland story.
Nothing custom ships to pick a flavor. You install xios-native, xios-gnome, xios-kde or xios-x11 from Sileo and apt resolves the whole desktop. All four pull in xios-runtime, the shell-independent base of compositor, GPU stack, D-Bus, audio and filesystem bridges; the three fullscreen flavors add xios-core on top for the display app, the iosc shell and the session launcher, which is exactly what native mode leaves out. The metas also carry the iOS floor, so a device too old for a flavor is simply not offered it.
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.
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.
KDE Plasma
Plasma on KWin, built on cross-compiled Qt6 and KF6, in three shapes: Desktop, Nano and Mobile. KWin composites on the GPU with its effects, scripts and window decorations shipped, and Plasma's own shell came off its software fallback with it. System Settings has around twenty KCMs, and PowerDevil reads the real battery through the hardware bridge.
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. Plasma made the opposite trade: KWin keeps its own backend and nests, which costs one extra GPU pass and bought a much shorter road to a working desktop.
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.
Browse app screenshots and individual app pages, including GIMP, Gnumeric, Thunar, and Ladybird.
- Ladybird
- An independent browser engine, in two forms: a standalone iOS app bundle, and a Wayland build that runs inside a desktop session.
- Konsole, Kate, Dolphin, KCalc
- The KDE set. Konsole has a real pty with a shell under it; Dolphin is built without Baloo, so browsing and file operations work but indexed search does not.
- Ark, Gwenview, KWrite, Okular
- Archives, images, text and PDFs, from the same Qt/KF6 batch.
- Console (kgx), Text Editor, Files, Calculator
- The GNOME set, including Nautilus and gnome-control-center.
- opencode
- A coding agent running on the cross-compiled Bun, doing full agent turns on the iPad.
- 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 with VideoToolbox decode.
- fuzzel, dunst, zathura, waybar, hitori
- Launcher, notifications, a PDF viewer, a panel, and a GTK puzzle app.