A window belongs to a cluster job.
It reconnects to the display after its process is restarted on another node. The window returns because its identity lives above one particular machine.
windows can move
SURF · a HopOS tech demo
A SURF app can run anywhere in a HOP cluster while its window appears on one display. If that machine disappears, HOP restarts the app elsewhere and the window returns.
built as ordinary HopOS apps · moved by HOP
What it is
The app owns its window; it does not need to own the screen. It draws on whichever node HOP chose, then sends frames or small scene updates to the display job.
The display composites those windows, routes input back to the right app and can expose the whole screen through a browser.
What it demonstrates
It reconnects to the display after its process is restarted on another node. The window returns because its identity lives above one particular machine.
windows can move
HopOS grants one ordinary app access to the framebuffer. Windowing, compositing, the taskbar, browser and web KVM all remain replaceable apps outside the OS.
zero desktop in the kernel
A pixel app sends frames. A scene app sends a widget tree once, then tiny patches while the display handles layout, hit-testing and semantic input.
not remote video
The whole compositor is software: there is no GPU driver anywhere in this stack.
Inside the demo
A browser proves the stack can build something complex from scratch. A third-party Game Boy emulator proves existing pure-Go GUI code can be brought along.
browser · from scratch
Not a wrapper around an existing engine. Fetching, cascade, layout and rendering all run inside a caged Go app with no Linux underneath.
Incomplete and slow — but it renders real pages, including this site.
Game Boy · third-party Go
goboy runs as a HopOS slot app and presents its screen in a SURF window. A prepare step adds two small adapters beside upstream.
No audio yet. The emulator passes blargg’s CPU instruction tests, eleven of eleven.What lives where
The GUI flavour of HopOS can grant the framebuffer to one app: display. That is the entire OS-level graphics contract. A headless HopOS image links none of it.
The honest status
What it proves
What it does not promise
Build it, break it and read it. Every desktop component lives in the open, separate from HopOS itself.