Questions people ask
Straight answers, including the ones that are "not yet".
Is LinPad on the App Store?
No, and there are no plans to submit it. LinPad generates native code (the JIT) and downloads executable software, which App Store rules do not allow. It is sideloaded with your own Apple ID instead, like UTM and other developer tools.
Is this a virtual machine?
No. LinPad runs Linux programs directly inside one iPad app by translating their Linux system calls to iPadOS, building on iSH. There is no guest kernel and no hypervisor. That is why it works on iPadOS without special entitlements, and why some kernel features (namespaces, cgroups) are missing.
Do I need a jailbreak?
No. LinPad is a normal app that you sideload.
What is JIT and do I need it?
A JIT turns Linux programs into native ARM64 code as they run. iPadOS only allows that while a debugger is attached, so LinPad uses StikDebug for it. Without it, LinPad runs everything on an interpreter: it works, but it is several times slower. We measured about 4.8× on a Mac; iPad figures are not measured yet.
Which iPads work?
iPads with Apple Silicon, M1 or newer, on iPadOS 17 or later. It is developed on an iPad Air with M3. VS Code needs a lot of memory, so 8 GB or more is recommended for it.
What about battery life?
Not measured yet, and we would rather publish a real number than guess. Emulation costs more CPU than a native app, so expect heavy work (compiling, Firefox on big pages) to drain faster than native iPad apps. An idle desktop does little. We will publish device measurements with v1.0.
Is it safe?
LinPad runs inside the normal iPadOS app sandbox: Linux programs can only see LinPad's own files and the iPad folders you choose to add. Inside that sandbox you are root, so a Linux program you run can change your Linux system, as on any computer. System updates are verified with SHA-256, theme installs from git refuse executables, and the source is public. You sign the app yourself, so no third party's certificate is involved.
Found a security problem? Please report it privately through GitHub's security advisories rather than in a public issue.
Does LinPad collect data?
There is no analytics or tracking. LinPad contacts GitHub to check for updates (not in Low Data Mode), package mirrors when you install software, and services you use on purpose, such as the Wallhaven wallpaper browser.
Will I lose my files when I update?
Not if you update in place. App updates, Linux system updates and repairs keep /root and /home. Deleting the app deletes everything in it, so never delete LinPad to reinstall it.
My Apple ID is free. Is that a problem?
It works. Apps signed with a free Apple ID expire after 7 days and need a refresh, which SideStore can do in the background. Free accounts are also limited to a few sideloaded apps at once.
Can it run Windows apps or games?
Some Windows apps, experimentally: ARM64 builds of Notepad++, 7-Zip and PuTTY run in Wine. x86 programs run through Box64, slowly and with a large memory cost. Steam, Proton and modern games are not realistic: the GPU path does not support what they need.
Can I run Docker?
No. Docker needs Linux namespaces, cgroups and overlayfs, which a usermode Linux on iPadOS does not have. You can install any Alpine package directly instead.
Does my keyboard layout work?
In the native desktop, yes. Linux apps currently receive a US layout. Following the iPad's keyboard layout is high on the backlog.
Does it keep running in the background?
iPadOS suspends apps in the background, so long jobs like npm install pause when you switch away. A keep-alive option is being worked on.
How is this related to iSH?
Something missing? Ask in GitHub Discussions.