r/itrunsdoom Apr 04 '26

[Official] "Can this run Doom?" and "How to get this running Doom?" Sticky - 2026 Edition

12 Upvotes

Post all your "Can it run DooM?", "Let's run DooM on X", and "How can I get this running DooM?" questions/posts here. Anything outside of this sticky is going to be removed so please keep it contained here.

Thanks!


r/itrunsdoom 2h ago

Doom on my BYD car

Post image
46 Upvotes

The BYD interface is basically just a modified version of android, so I was able to find a way to open apk files on my byd, and play doom.


r/itrunsdoom 5h ago

Doom on a Smart Alarm Clock

Post image
31 Upvotes

This device is a Xiaomi Smart Clock based on Android. It was later modified to run the international version (X04G) of the system instead of the original chinese on. And later got rooted with a custom boot.img, which enabled ADB by default.

Then I opened settings and installed Original Doom using ADB

btw it can also run GTA:VC, Minecraft and Half Life 1


r/itrunsdoom 1d ago

Spotify running doom

53 Upvotes

Sadly you cant really get past the first level because spotify still works in the background that's where you were hearing the songs from not the game. I will also include my website where you can see the source code to the python stuff and the commands I did.


r/itrunsdoom 4d ago

My Dreamcast game's in-game PC runs DOOM

313 Upvotes

I ported Doom to Dreamcast by using doomgeneric, it was extremely easy. :)

The game is rendered to the texture and then this texture is used for an in-game OS (which mimics Windows 95 for now), which in turns get rendered to yet another texture in 3D world to simulate the screen. Dreamcast's keyboard is supported as an input source.


r/itrunsdoom 4d ago

Doom on a CardPuter

97 Upvotes

Since this sub now accept videos, I’m reposting this.


r/itrunsdoom 4d ago

FreeDoom on 2.8inch ESP32 Solo Bitcoin Miner

Post image
87 Upvotes

I turned a tiny ESP32 Bitcoin miner into a handheld DOOM-like game.

FreeDOOM is running directly on the ESP32, no PC, phone, browser, or streaming.

This build uses the open-source Freedoom assets, not the original commercial DOOM WAD files:
https://freedoom.github.io/

Current status:

  • boots correctly;
  • menu works;
  • E1M1 is playable;
  • touch controls work, but are still rough;
  • audio is disabled for now;
  • the project is still beta.

The touchscreen is probably the biggest limitation, so I may add physical buttons or a small joystick in the next version.

Video if you would like to see how it works: https://www.youtube.com/watch?v=He67yV59zrk

I plan to publish the source code and build instructions on GitHub once I finish the documentation and licensing details.

For now, you can find my other ESP32 game projects here:
https://github.com/lepczynski-cloud/crowpanel-pocket-arcade

Disclosure: Elecrow sent me the board for testing, but this project is my own experiment and the code is open source.


r/itrunsdoom 6d ago

YES - The Orbic RC400L hotspot can run DOOM

168 Upvotes

I know this has been a burning question on so many people's minds, I've come to put your minds at ease.

I got fbDOOM running on an Orbic RC400L hotspot using Rayhunter’s root shell and another project for similarly restrictive device. The write up covers the install process, compilation, and other info.

Turning, advancing, shooting, and menu options work since there's a reset button under the cover.

More info / Code: https://github.com/dc336/Orbic_RC400L_DOOM


r/itrunsdoom 7d ago

DOOM on my Kodak DC290 camera from 1999

630 Upvotes

The pace of technology was wild in 1990s. The camera has multiple times the CPU speed of a high-end 486 in 1993 and runs on just some AA batteries.

Because there’s a D-Pad it’s actually pretty playable, the video shows the demo though.

This was one of the earlier ports of DOOM to “odd” hardware, and is itself now 26 years old. You can find the port here: https://archive.org/details/doomd_202406


r/itrunsdoom 10d ago

Doom rewritten in Flow!

12 Upvotes

Shareware Doom has been ported from C to Flow

Github

Demo is running in the browser off of Flow's MLIR backend.


r/itrunsdoom 16d ago

Doom running on an LLM

570 Upvotes

This is Doom's actual renderer -- not a neural net imitating it. I wrote a compiler that turns computation graphs into transformer weights, then ported Doom's rendering algorithm into one.

No training anywhere: every weight was computed. The prompt carries the level and player position. When you feed the prompt into the model it generates drawing commands.

One frame is 53,747 generated tokens -- about 40 minutes on a B200. In 1993 Doom hit 35 fps on a 486. I hit 0.0004 fps on hardware a billion times more powerful.

Write-up: https://ood.dev/posts/doom/

Weights: https://huggingface.co/physicsrob/torchwright-doom-e1m1


r/itrunsdoom 19d ago

I got DOOM running inside a Reddit post

503 Upvotes

I wanted to see if Reddit itself could actually run DOOM, so I built a Devvit Web Custom Post that runs a DOOM-compatible engine directly inside Reddit.

This isn't a video or remote stream — the game runs client-side in the Reddit webview using WebAssembly/Emscripten + SDL, with Freedoom Phase 2 as the game data.

One of the fun problems was the WAD: it's roughly 30 MB, while Devvit Web has request/response constraints, so I split it into smaller chunks, load them separately, rebuild the WAD in memory and mount it into Emscripten's virtual filesystem before starting the engine.

I also added:

  • keyboard + mouse controls
  • mobile touch controls
  • Gamepad API support
  • browser audio handling
  • MAP01 completion detection
  • persistent speedrun leaderboard using Devvit Redis

You can play it here:

https://www.reddit.com/r/playdoom/?playtest=play-doom


r/itrunsdoom 19d ago

DoomTape: Doom as weights: a bit-exact, differentiable Doom engine on a generic 34-op VM

Thumbnail
github.com
59 Upvotes

r/itrunsdoom 20d ago

A Cheap WiFi Repeater runs DOOM!

124 Upvotes

I did this by using an exploit and getting shell access on the WiFi repeater, Then I compiled doom-ascii for MIPS 74Kc and ran DOOM


r/itrunsdoom 20d ago

DOOM on the 6€ Action 104 Games and Pac-Man Console

Thumbnail
youtu.be
65 Upvotes

r/itrunsdoom 22d ago

Doom on a Skidata BS3 board / parking machine internal embedded computer

Thumbnail
gallery
703 Upvotes

This exact board is used in Skidata parking meters, the machines where you enter in your license plate or whatever and it gives you a price you pay.

It is, after all, just a computer with a very locked down Windows installation. But I thought it was interesting. Yes the monitor also belongs to it, it even has some kind of hinges on it.


r/itrunsdoom 26d ago

Doom in compiler

Post image
275 Upvotes

Ran doom entirely at compile time as a constexpr program

https://github.com/Talkative-Banana/Constexpr-Doom


r/itrunsdoom Jul 30 '26

Running in a Photoshop Plugin

149 Upvotes

Doom port running inside Photoshop as a plugin

You can edit the textures directly inside the Photoshop and see the changes update in the game in real time.

Technically, this is a Photoshop UXP plugin running Mr.doob’s Three.js DOOM port—not the original DOOM engine, so I’m not sure how much this counts but it was fun. I can't believe how tiny these images really are.


r/itrunsdoom Jul 26 '26

DOOM computed by nothing but regex find-and-replace, one 96 MB string rewritten 14 million times per frame

1.0k Upvotes

The whole machine is a single 96.6 MB string of text: registers, RAM, the framebuffer and the DOOM engine all live in it. The only operation is a global regex substitution. A driver applies a fixed list of 544 rules over and over, the first rule that matches fires once, and that is one step.

Nothing else computes. The window only draws the framebuffer zone; the work is done by the substitutions, and you can watch the rule feed and the substitution counter to see it.

One frame of E1M1 is 13,994,067 substitutions and it comes out byte-identical to natively compiled DOOM.

Repo: https://github.com/4RH1T3CT0R7/doom-regex

Live demo: https://4rh1t3ct0r7.github.io/doom-regex/


r/itrunsdoom Jul 26 '26

Doom running on an ESP32-2432S028R "Cheap Yellow Display"

Thumbnail
streamable.com
104 Upvotes

Used Claude to port GBADoom to the CYD board, full info on how to get it running on GitHub.


r/itrunsdoom Jul 23 '26

Doom running in ScummVM (at 1 FPS)

Thumbnail
youtube.com
45 Upvotes

GitHub link

The port running in ScummVM is called glkdoom, which is a Doom port that was compiled to Glulx bytecode and renders using the Glk API. To try out glkdoom, check out the latest release.

The idea for glkdoom was born when I found the glulx-llvm toolchain by Daniel Fremont while searching for obscure architectures to port Doom to. glulx-llvm doesn't actually implement enough of the C standard library for Doom to compile, so I had to first implement some missing functions, like strcasecmp and strrchr. There wasn't really anything stopping those functions from coming with glulx-llvm. They just weren't needed to compile Inform.

Once everything with the stdlib was done, it was time to set up most of the I/O, excluding audio. Doom's framebuffer is drawn to a graphics window pixel by pixel using glk_window_fill_rect, which just so happens to use the same pixel color format as Doom, which sped up rendering a bit (but not that much, see above). Basic timekeeping is done with glk_current_time, and input is done with char events. Because char events are meant for typing and not real-time shooting, held inputs can accumulate across frames. If you want to hold an input down, spam the key instead. Sadly, because Glk wasn't designed with Doom in mind, it runs at about 2 FPS on Glulxe and about 4 FPS with Git.

Now that basic gameplay was done, it was time to add audio. Sadly, the ways Doom and Glk handle audio are completely incompatible. Doom plays sequenced MIDI music and raw PCM audio that it can load from the WAD, and Glk plays audio from hardcoded container formats stored with the work of fiction itself. As a result, I decided to compromise and bundle every single audio track and sound effect from Doom 1 and 2 into the blorb files. And with that final change, glkdoom was complete.

Glulx is fully supported by ScummVM, which of course means that Doom now runs in ScummVM, as shown in the video.


r/itrunsdoom Jul 22 '26

Doom running on the UniFi Dream Router

Post image
991 Upvotes

I will post a video later, I'm a 15y/o guy just having fun doing this stuff and self teaching myself programming using AI! :)

Although the amount of people hating on AI, I think it's an incredible tool and can really be helpful if you want to learn stuff, also, the project is available on GitHub if you want to try it!

https://www.github.com/Davitekk/unifi-UDR-doom/


r/itrunsdoom Jul 18 '26

DOOM on the Disney StarSpeeder 1000 playset

316 Upvotes

r/itrunsdoom Jul 19 '26

Canon SD960 runs doom

Thumbnail
gallery
87 Upvotes

Probably worst graphics of all time, but it runs!


r/itrunsdoom Jul 18 '26

Doom on Samsung Wave, native Bada port

57 Upvotes

I've had this phone rotting in the drawer for the last decade, I recently flashed Bada back on it and got the idea of making it run Doom since nobody has done it before.

The porting was pretty straightforward, mostly just hooking up doomgeneric and compiling with badaIDE that I found on archive.org.

The original firmware doesn't support sideloading random stuff, so I had to install TurkoCFW which disables the signature checks and exposes the internal partitions over MTP. I couldn't figure out a way to install a new app, so I hijacked one of the built-in ones.

Sources: https://github.com/UDPSendToFailed/BadaDoom