Running Doom on Linux inside TinyEmu inside Docker inside WASM inside Electron A developer behind the open-source pi-box project demonstrated a pi agent running inside an AgentVM virtual machine autonomously installing and launching the game Doom, with the Freedoom splash screen appearing in the Electron-based UI after roughly 30 minutes of agent work from a single prompt. The project, built on AgentVM with a persistent overlay filesystem, framebuffer, and virtual soundcard, uses an RPC interface to connect the Electron frontend to the agent running inside the VM, and the developer credits deepseek-4.1 for much of the implementation. Remaining bugs in the 9p filesystem are still being fixed, and pi-box 0.4.0 is available for download. Written by a human, for the AI slop please check out the code on GitHub https://github.com/deepclause/pi-box ;- Building upon the first success https://deepclause.substack.com/p/pie-in-a-box-running-pi-on-risk-v with AgentVM https://github.com/deepclause/agentvm and pi-box https://github.com/deepclause/pi-box a few days ago, with AgentVM finally becoming stable enough to work with, pi-box development has sped up a lot. This is also due to AgentVM now having a persistent file system / overlay FS, framebuffer and virtual soundcard. However, as we are now living in the age of AGI sort of this is mostly thanks to deepseek-4.1 and not so much due my own ingenuity, but that’s another story. The new pi-box looks like this: Instead of booting into a terminal running pi, there is now a much nicer UI wired into electron which communicates with pi running inside the VM using the RPC interface. So everything looks a lot nicer, smoother and we have better control over pi, e.g. slash commands, sessions, forking etc. Also, the TUI is really CPU heavy, so it wasn’t a good match for our little AgentVM. So the next step was to validate the whole approach and see what we can do with all this - and what better way to prove that pi-box is mature now than by getting Doom to run in it? Of course, for this we don’t want to add anything from outside, but let our pi agent running inside the VM handle everything by itself. Amazingly and thanks to the latest deepseek all it took was one prompt “Can we try to run doom?” and the agent happily worked for about 30 min and lo and behold: The Freedoom splash screen appeared in the new screen tab of pi-box. Afterwards it took another round of fixes to AgentVM thanks again, deepseek to get the sound working and finally, it all just worked. Well, not entirely, there are still some bugs in the 9p filesystem that I need to find and fix, but the agent managed to work around those. Having a a slightly larger disk by default might also help. As I am writing this myself, I am too tired to describe all the fun technical obstacles that the agent encountered and rather let it summarize them itself. If you want to try it, please download the latest pi-box release 0.4.0 https://github.com/deepclause/pi-box/releases , set up pi and simply ask it to run Doom