# Running Doom on Linux inside TinyEmu inside Docker inside WASM inside Electron

> Source: <https://deepclause.substack.com/p/running-doom-on-risk-v-linux-inside>
> Published: 2026-09-18 07:15:56+00:00

*(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!
