No native X anywhere. One browser tab runs Xorg's Xvfb server compiled to
wasm and paints its framebuffer to a <canvas>. Another tab — or a
whole other browser — runs an X11 client app compiled to wasm. They speak the
X protocol to each other over WebSockets, and the app's window appears on the
server's canvas.
Boots the wasm Xvfb, shows its screen, and hands you a session code. Keep this tab open — it's the display.
Start an X server →Already have a code from a running server (maybe on another device)? Launch an app into it from here — proof it's all over the wire.
Join a server →Tip: the most convincing way to see it is to start a server here, then open the join page in a different browser and type the code. The app you launch there draws on the screen over here — entirely through the WebSocket bridge.
A wasm Xvfb + a wasm window manager (draggable Motif-style titlebars) + apps, each in its own Web Worker — start and kill them, drag windows around. Open the desktop →