nowfound

Life & fun · alternatives · 2026

24 alternatives to My from-scratch OS kernel that runs DOOM

Hi there! I've been on-and-off working on TacOS for a few months, which follows some UNIX-derived concepts (exec/fork, unix-style VFS, etc) and is now able to run a port of Doom, with a fairly small amount of modifications, using my from-scratch libc. The performance is actually decent compared to what I expected. Very interested to hear your thoughts. Thank you!

TacOS is a from-scratch operating system kernel built around UNIX-derived concepts including exec/fork and a unix-style virtual file system. The kernel includes a custom libc and is capable of running a ported version… Below are 24 products that do a similar job, ranked by how close each is in meaning and then by launch-day votes.

  1. 1

    A Simple Unix-like operating system. Contribute to ozkl/soso development by creating an account on GitHub.

    2019 · github.com · its alternatives →

  2. 2

    An application innovation platform delivering a comprehensive experience with tools to empower organizations to modernize and build new applications, accelerate AI adoption, and fuel growth.

    2013 · coreos.com · its alternatives →

  3. 3

    This project contains no code from Linux, BSD, Minix, or any other OS. Everything up until this point is written entirely from scratch, including a pure microkernel (that only implements multiprocessor priority scheduling, memory management, and interprocess communication), a work-in-progress implementation of the standard C library, and a variety of servers that provide drivers and other essential OS functionality. At the time of writing this post, the servers provide drivers for the keyboard, NVMe SSDs (that works on real hardware), a Unix-like virtual file system (with a single root…

    2024 · github.com · its alternatives →

  4. 4

    This is my operating system that I've been working for the past 2 years. All of the code is written exclusively by me except from ported software. banan-os has a monolithic kernel targeting x86 (i686) and x86_64 architectures. The project consists of bootloader, kernel and userspace libraries (libc, libGUI, libFont, ...). It also uses my custom C++ standard library partly based on stdc++. Currently I have basic TTY and GUI environment with some of the basic UNIX utilities like cp, ls and stat. I have basic support for USB (keyboard/mouse/storage), disks (NVMe, AHCI), custom…

    2024 · github.com · its alternatives →

  5. 5IB

    You know that old TI calculator you used in high school, then put in a box and forgot about? Have you ever wished you had an operating system for your calculator with preemptive multitasking, dynamic memory management, a tree filesystem conforming to the FHS, and all the comforts of Unix? Well, good news: that's totally a thing that exists. I've been working on my kernel for about three and a half years now and I'm looking for new contributors to help out. It's written entirely in z80 assembly, and it's both challenging and fun to work on. There's an IRC channel for contributors or people…

    2014 · its alternatives →

  6. 6

    I've been working on this for ~3 months now, with pretty slow progress to be honest. So far I've got an ATA PIO mode hard disk driver, a FAT32 file system, a real time clock driver, and of course the essentials (interrupts, keyboard, pixel graphics). Kernel panics also cause a blue screen of death xD. It uses a bitmap physical memory allocator, and I'm fixing some issues with paging at the moment as a work towards running userspace applications. I'd be interested to see your thoughts on it :D

    2024 · github.com · its alternatives →

  7. 7

    Demo: https://www.youtube.com/watch?v=f5uygzEmdLw Hi HN, I built a RISC-V emulator that implements the RV32IM instruction set and a minimal syscall interface to run DOOM. A few weeks ago, I got my first output with a simple hello world assembly program. Since then I have been working tirelessly to get DOOM to run. I needed to figure out how to run C programs first, and came across newlib, which allows the underlying environment to implement the syscall stubs one by one until the programs run. I have also added ELF loading, but currently only a single `PT_LOAD` segment is…

    May 2026 · github.com · its alternatives →

  8. 8
    Flox▲375

    Hey Everyone! Ron here, part of the NixOS Foundation and building Flox. Just coming out of this years NixCon and pretty excited to show hn below :) As of today, NVIDIA officially recognizes Canonical, SUSE, CIQ, and Nix—via Flox—as supported distributors for CUDA. Full blog - https://developer.nvidia.com/blog/developers-can-now-get-cud... This is a huge win for the Nix community. For years, CUDA on Nix was possible but painful—builds could take hours, and redistributing prebuilt binaries was blocked by NVIDIA's licensing requirements. NVIDIA's growing engagement with key…

    2024 · flox.dev · its alternatives →

  9. 9

    This is a project I've wanted to write for a long time now. I really love the ideas from Nix and I still have a ton of respect for the project, but Nix-the-language never felt intuitive to me and I wanted something with more approachable tooling (although this was circa 2016, so I'm sure Nix has improved a lot since then too-- that was before Flakes were around!) Anyway, I started on the current iteration of Brioche about 6 months ago, and I finally cut an initial release. I'd still consider this a "technical preview" version (performance especially is pretty painful, so that'll be a focus…

    2024 · brioche.dev · its alternatives →

  10. 10

    Hi HN, I’m Dvir, a young developer. Last year, I got rejected after a job interview because I lacked some CPU knowledge. After that, I decided to deepen my understanding in the low level world and learn how things work under the hood. I decided to try and create an OS in C and ASM as a way to broaden my knowledge in this area. This took me on the most interesting ride, where I’ve learned about OS theory and low level programming on a whole new level. I’ve spent hours upon hours, blood and tears, reading different OS theory blogs, learning low level concepts, debugging, testing and working on…

    Oct 2025 · github.com · its alternatives →

  11. 11

    Not sure if I would post this for the last day of #marchintosh OR wait for tomorrow the 1st of April. Both apply equally. Anyway, here's a pet project of mine, I made it as a glued on for another pet project of mine, but it developed a life of it's own now and can soar skyward toward success, fame, and glory.

    2024 · github.com · its alternatives →

  12. 12

    I wanted to see how fast an isolated code sandbox could start if I never had to boot a fresh VM. So instead of launching a new microVM per execution, I boot Firecracker once with Python and numpy already loaded, then snapshot the full VM state. Every execution after that creates a new KVM VM backed by a `MAP_PRIVATE` mapping of the snapshot memory, so Linux gives me copy-on-write pages automatically. That means each sandbox starts from an already-running Python process inside a real VM, runs the code, and exits. These are real KVM VMs, not containers: separate guest kernel, separate guest…

    Mar 2026 · github.com · its alternatives →

  13. 13D1

    I made a Doom source port that runs within a PDF file. I was inspired by the recent HN post about Tetris in a PDF (https://news.ycombinator.com/item?id=42645218) and I wondered if I could get Doom to run using a similar method. It turns out that old versions of Emscripten can compile C to asm.js code that will happily run inside the limited JS runtime of the PDF engine. I used the doomgeneric (https://github.com/ozkl/doomgeneric) fork of the original Doom source, as that made writing the IO fairly easy. All I had to do was implement a framebuffer and…

    2025 · doompdf.pages.dev · its alternatives →

  14. 14

    Hi HN, I’ve been working on Gore – a port of the classic Doom engine written in pure Go, based on a ccgo C-to-Go translation of Doom Generic. It loads original WAD files, uses a software renderer (no SDL or CGO, or Go dependencies outside the standard library). Still has a bit of unsafe code that I'm trying to get rid of, and various other caveats. In the examples is a terminal-based renderer, which is entertaining, even though it's very hard to play with terminal-style input/output. The goal is a clean, cross-platform, Go-native take on the Doom engine – fun to hack on, easy to read,…

    2025 · github.com · its alternatives →

  15. 15

    To try it out, simply build the project yourself from source, or use attached bootable ISO image of the system (in Releases on Github) and run it in QEMU. https://blog.vxn.dev/rou2exos-rusted-edition

    2025 · github.com · its alternatives →

  16. 16

    A fast, rootless sandbox and virtual resource runtime for any workload, including untrusted and AI-generated code. Daemonless: a real, kernel-enforced container in ~3.5 ms from an OCI image, out of one static binary - getkern/kern

    Aug 2026 · github.com · its alternatives →

  17. 17

    TempleOS is an experimental OS designed to be simple and self-hosted with a JIT compiler. I was mesmerized by it but didn't like the hassle of using virtual machines to boot it up and move files around from the virtual drive. My project lets you run TempleOS as an app of some sort instead of using a virtual machine to run it - this brings a lot of benefits like speed, seamless filesystem integration (virtual machine development with stock TempleOS is really a pain.), command-line mode where you can code in HolyC on the command line instead of TempleOS' GUI. Its user-space nature lets it do…

    2024 · github.com · its alternatives →

  18. 18

    Hello HN! I want to show you MyNixOS.com - a website I've been working on this year to make it easy to create and share Nix and NixOS configurations. Nix is a powerful tool to deploy software in a reproducible way, and with NixOS you can control your whole operating system through a declarative configuration. Starting out with Nix was exciting, but it definitely had a challenging learning curve. This made me start building a website focused on making it easier to create and share Nix flakes, which are the core unit of software deployment in Nix. Using the website, you can create flakes…

    2022 · mynixos.com · its alternatives →

  19. 19

    This is a personal project I've been working on and off for the past few years. It's a set of tools that have allowed me to prototype quickly small (and increasingly bigger) kernels, and create userspace programs to interact with them. Supports riscv64, amd64 and i386. The intel port has been tested and used on real hardware, from big dual-socket Xeon machines to an old X220. It is all C, I have plan to make rust bindings for the kernel library. But again, they're plans at this stage. Porting to new architectures is relatively simple, a basic port to riscv took me a couple of weeks of…

    2024 · github.com · its alternatives →

  20. 20

    I pretty much always have a kernel project going on, and have been that way for decades. Over the past couple of years, that's been Anos, which has gotten further along than any of my previous hobby kernels, supporting IPC, multitasking, SMP (x86-64 only right now) and running on real hardware. LLMs (mostly Claude Code) have been used during development, but I learned early on that it's not _great_ at code at this level, so I've restricted its use to mostly documentation and tests. There's _a little_ AI code in the user space, but I have a strict "no AI code" rule in the kernel itself. I…

    Apr 2026 · github.com · its alternatives →

  21. 21

    cuTile Rust provides a safe, tile-based kernel programming DSL for the Rust programming language. It features a safe host-side API for passing tensors to asynchronously executed kernel functions. - NVlabs/cutile-rs

    Jun 2026 · github.com · its alternatives →

  22. 22

    Kernel in TypeScript. Contribute to intigos/possimpible development by creating an account on GitHub.

    2022 · github.com · its alternatives →

  23. 23

    Hey HN! This is a fun/educational project I built to learn OS programming. I started working on it right after graduating high school last year and have been working on it on and off during my first year of university. It features a TCP/IP stack, an HTTP server, a RAM file system, a BIOS bootloader, paging and memory management, and concurrent tasks based on cooperative scheduling, along with a custom library. It's written in a C programming style focused on safety (based on a custom library of core abstractions) that's inspired by the writing of Chris Wellons (nullprogram.com).…

    2025 · github.com · its alternatives →

  24. 24GA

    I built GRSH because I wanted a modern, memory-safe shell that feels native to FreeBSD but works seamlessly on macOS. While there are many shells out there, GRSH is my take on a minimal, fast, and secure command interpreter written entirely in Rust. It's designed for users who want the safety guarantees of Rust without the overhead of more bloated alternatives. I'm currently working on the official FreeBSD port. I’d love to get feedback on the shell's behavior and performance from the community. Github: https://github.com/antoniomalara301289/grsh

    Jan 2026 · grimreaper.icu · its alternatives →

Also compare

Ranked by how close each launch is in meaning, then by votes. Prices were read from each product’s own site when checked and can change. Refine with your own description →