Questions
The ones worth answering plainly, including where wisq is weaker than the alternatives.
Does this need a jailbreak?
No. Neither half of wisq does anything a normal application cannot. The remote side is a network client. The local side is an interpreter, which needs no executable memory and therefore no entitlement — the same ground iSH stands on.
Is it on the App Store?
Not yet. The build is designed to be admissible — no JIT, no downloaded code, and no QEMU inside to carry GPL obligations — but designed to be admissible and accepted are different things. There is no public build yet.
Why not just ship QEMU?
Two reasons, and the licence is the smaller one. QEMU is GPL, which constrains what an App Store binary can be; that is why UTM SE sits in a grey area. The larger reason is that a general emulator interpreting a modern desktop operating system on a phone is slow enough to be a demo rather than a tool. wisq splits the problem instead: the desktop runs where the silicon is, and what runs locally is a machine small enough to be genuinely fast.
How fast is the local machine, really?
Around 160 million guest instructions a second, reaching a Linux login prompt after 44.6 million instructions — roughly a quarter of a second. That figure comes from an x86_64 Linux container, not from a phone: no iPhone has been in that measurement loop, and an A-series core is a different machine.
What can the local machine actually run?
A real Linux kernel with a real shell, on a 32-bit RISC-V machine with no MMU and 64 MB of RAM. That is a working Unix — busybox, shell scripts, a compiler if you build one in. It is not a desktop, and it will not run anything compiled for x86 or ARM.
Is my connection encrypted?
The agent side, yes: the daemon speaks TLS by default behind its mandatory token, with a self-signed certificate whose fingerprint travels in the pairing link — the app pins exactly that certificate, so there is no authority to run. The consoles themselves stay unencrypted by design, VNC and SPICE alike: for those, use a network you trust or a tunnel you already run.
Where are my passwords kept?
In the iPhone Keychain, referenced by name from the machine list. The list itself is plain JSON and contains no secret, so it can be inspected, backed up or synced without leaking anything.
Do I need the agent?
Only if you want a powered-off VM to boot when you tap it. Without it wisq connects to consoles that are already up, which is all a VNC client normally does.
Which hypervisors work?
For connecting: anything with a VNC or SPICE console — which between them covers what nearly every hypervisor publishes. For booting on demand: the agent drives libvirt through the virsh command line, so anything libvirt manages — QEMU/KVM, Xen, LXC. Other backends are a small amount of code behind one interface.
Is there an Android version?
No, and it is not planned. The parts that would port are already portable — the daemon and the interpreter are Rust with no platform dependencies — but the app is the product, and it is built for one platform properly rather than two badly.
What licence?
None yet. Nothing here grants rights to reuse this code, and no licence has been chosen; that decision is still the author's to make. The RISC-V execution semantics are a port of mini-rv32ima by Charles Lohr (MIT), credited in NOTICE; no third-party code is vendored.
How do I report something?
Get in touch. Wrong colours, a guest that connects but stays black, a protocol message the client rejects — those are bugs on our side and the kind that are hard to find without someone else's hardware.