explaingit

3xhelix/rbdoom

Analysis updated 2026-05-18

4Audience · ops devopsComplexity · 3/5Setup · hard

TLDR

A step-by-step guide for running Chocolate Doom on a MikroTik RB5009 router using RouterOS containers, playable in a browser via KasmVNC or in a desktop window via Xephyr X11 forwarding.

Mindmap

mindmap
  root((RBdoom))
    What it does
      Run Doom on a router
      Browser access
      X11 forwarding
    Tech
      RouterOS containers
      KasmVNC browser VNC
      Xephyr X11
      Chocolate Doom SDL2
    Other Games
      Descent Quake
      Diablo 1
      Duke Nukem 3D
      Unreal Tournament
    Setup Steps
      Container config
      Build from source
      SSH X11 tunneling
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Run Chocolate Doom on a MikroTik RB5009 router and access it in a browser without any extra hardware.

USE CASE 2

Set up a MikroTik RouterOS container with KasmVNC to stream any Linux GUI application to a browser.

USE CASE 3

Use Xephyr and SSH X11 forwarding to play games running on a router in a window on your local PC.

USE CASE 4

Test which classic game engines run on ARM64 RouterOS containers using the same KasmVNC base image.

What is it built with?

RouterOS containersKasmVNCChocolate DoomXephyrSDL2Alpine Linux

How does it compare?

3xhelix/rbdoom0labs-in/vision-linkadeliox/klein-head-swap
Stars444
LanguageTypeScriptPython
Setup difficultyhardmoderatemoderate
Complexity3/53/53/5
Audienceops devopsdeveloperdesigner

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · hard Time to first run · 1h+

Requires a MikroTik RB5009 router with RouterOS container support, external storage is recommended for the container root directory.

In plain English

This project shows how to run the classic game Doom on a MikroTik RB5009, a high-end network router, using the container feature built into MikroTik's operating system. The result is a router that can also run games, accessible either through a browser or through a window on your regular computer. MikroTik's operating system (RouterOS) supports running containers, which are isolated software environments. This project puts a Linux container with KasmVNC (a tool that streams a desktop to a browser) on the RB5009, then builds Chocolate Doom (a faithful recreation of the original 1993 Doom engine) from source inside that container. Once set up, you open Doom in a browser window by visiting the router's IP address at port 3000. Alternatively, you can use X11 forwarding for a different display method. This uses a tool called Xephyr on your regular PC to create a virtual display, then connects to the container via SSH with X11 forwarding enabled, so the game's graphics appear in a window on your own computer while the actual computing happens on the router. The setup involves a sequence of steps: configuring and starting the container in RouterOS, installing SSH and build tools inside the container, compiling Chocolate Doom from source, and then either opening the browser URL or running the Xephyr and SSH commands on your PC. The README also lists other games tested on the same setup: Descent, Diablo 1, Duke Nukem 3D, Quake, Super Mario 64, and Unreal Tournament, each using their own open-source engine. External storage on the router is recommended for the container root directory.

Copy-paste prompts

Prompt 1
Walk me through setting up a KasmVNC container on a MikroTik RB5009 using RouterOS container commands, from adding the container to first browser access at port 3000.
Prompt 2
Build Chocolate Doom from source inside a MikroTik RB5009 container using Alpine Linux apk packages and cmake, then launch it with a .wad file.
Prompt 3
Set up Xephyr and SSH X11 forwarding on a Linux PC to play Doom running in a MikroTik RB5009 container on my local network.
Prompt 4
Adapt the RBdoom container setup to run DevilutionX (Diablo 1) on the same MikroTik KasmVNC base image.
Prompt 5
Troubleshoot audio in the RBdoom setup: explain how PulseAudio forwarding works through the SSH tunnel using PULSE_SERVER=unix:/tmp/pulse.sock.

Frequently asked questions

What is rbdoom?

A step-by-step guide for running Chocolate Doom on a MikroTik RB5009 router using RouterOS containers, playable in a browser via KasmVNC or in a desktop window via Xephyr X11 forwarding.

How hard is rbdoom to set up?

Setup difficulty is rated hard, with roughly 1h+ to a first successful run.

Who is rbdoom for?

Mainly ops devops.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Scan in gitsafehub Deploy in gitdeployhub 3xhelix on gitmyhub

Verify against the repo before relying on details.