DOOM in the kernel, or fibers in eBPF
Details
- External ID
- 49630125
- Source
- HN
- Company
- —
- Product
- DOOM in the kernel, or fibers in eBPF
- Website domain
- github.io
- Launched
- Sept. 9, 2026
- Cohort
- —
- Upvotes
- 53
- Upvotes percentile
- 0.8596491228070176
- Tags
- —
- Fetched at
- Sept. 13, 2026, 5:56 p.m.
- Updated at
- Sept. 13, 2026, 5:56 p.m.
Description
Some time ago my coworker who was working on first version of Perforator (https://github.com/yandex/perforator) kept talking about eBPF, so I got curious about its ISA and restrictions. That was around the time I read about DOOM on pregnancy test, so I thought: "what if someone run DOOM inside of Linux kernel in eBPF? Surely, with some restrictions, this should still be possible?"I started to play around with it somewhere in 2024 - first stripping DOOM to bare minimum that is needed for showcase, simplifying code and trying to pass first restrictions that I encountered - function limit, recursion, memory access and checks. I tried to do this by hand, but it was, well, tedious labor. So I changed direction and instead started to do some of the things with LLVM-passes - rewriting memory access, simplifying and rewriting loops etc. But there were just so many corners. And given absence of time and all, I forgot about this project.But couple months ago I thought: "LLMs are quite good nowadays, so why not try again this time with more hands". I tried different approaches on how memory access could be "virtualized", how loops can be made bounded, and in general - how to run unbounded logic on such a machine.When I got DOOM running, I got carried away. Approach was so "generic", so it would be a crime not to try to run more things. And now we have it - lua running on xdp hot path, llama2 working with softfloats, and even cpython, that did not fit initially into 1M verifier budget, is running there now thanks to freplace.There is ton of work to do in order to make programs run faster, to make integration easier, but working examples are already there.
Enrichment
- Theme
- lightweight and on-device AI runtimes
- Vertical
- —
- Function
- —
- Audience
- —
- AI stance
- —
- Project type
- —
- Normalized one-liner
- —
- Manually corrected
- False
Could you build this?
No Compiling complex C programs and running fibers within the heavily restricted Linux eBPF verifier environment is deep systems and compiler research.
What it would actually take: The project uses LLVM bytecode transformations or custom compiler passes to rewrite C/Rust code into unrolled state machines and bounded loop constructs that satisfy the in-kernel eBPF verifier. It requires managing execution state via eBPF maps, implementing userspace trampoline runtimes, and bypassing strict kernel call depth and stack limits using cooperative multitasking/fibers. Building this demands elite Linux kernel internal knowledge, eBPF bytecode mastery, and compiler engineering expertise.
Discussion
10 comments analyzed.
Concerns raised: AI-generated writing quality and authenticity issues, eBPF program runtime memory limitations, eBPF verifier and compute limits, Map index/fd sharing limits (max 64), Performance overhead of array maps vs direct-use maps
Competitors
Other products that read as similar to this one — 72 launches clear the similarity bar, closest 8 shown.
Attention rank: #14 of 73 (itself plus its competitors, highest first — normalized so YC and Product Hunt are compared fairly).
Launched 315 days after the earliest competitor.
- I built a RISC-V emulator that runs DOOM · hn · 2026-05-03 · 50 upvotes · similarity 0.53
- Linnix · hn · 2025-11-11 · 21 upvotes · similarity 0.52
- Doom (1993) Playable in a GitHub Readme · hn · 2026-01-06 · 5 upvotes · similarity 0.47
- Anos · hn · 2026-04-04 · 115 upvotes · similarity 0.43
- KV-psi, using Linux PSI to to trim an LLM KV cache · hn · 2026-06-27 · 8 upvotes · similarity 0.42
- iigs-doom · github · 2026-09-28 · 9 upvotes · similarity 0.40
- Axiom · hn · 2026-02-18 · 20 upvotes · similarity 0.39
- Rebrain.gg · hn · 2026-02-18 · 111 upvotes · similarity 0.38
Other launches for this product
- No other launches for this product.