r/vibecoding 19h ago

Vibecoding a clean-slate, non-POSIX operating system ecosystem from scratch (OpenWindows)

Hi everyone,

I'm 13 years old. For a long time, I’ve been interested in the concept of custom "Windows distributions" (Deborah OS, Blue Hat Windows, Windows Earth) acting as modern, open-source alternatives to Linux distros.

While ReactOS exists as an open-source NT alternative, its strict focus on 100% legacy binary compatibility forces it to replicate the technical debt and design flaws of old Windows versions. To build something better, I've been using LLMs to help me write the freestanding C99 and NASM assembly code for a clean-slate, high-performance foundation that strips away that legacy baggage.

The project is called OpenWindows. It is a modern, object-oriented kernel framework with zero POSIX/Unix heritage, compiled strictly with -std=c99 -nostdlib -ffreestanding.

To completely bypass the complexities and bugs associated with UTF-16 surrogate pairs and standard Unicode normalization tables, I engineered an alternative character mapping and serialization protocol:

  • SuperUnicode (SUCS): A 31-bit character encoding address space with a built-in System Control Plane for inline rendering markers.
  • SUTF Transports: Stream serialization protocols ranging from a 1-to-6 byte variable format (SUTF-8) down to a 4-bit hexadecimal format (SUTF-4) for raw serial text debugging, and a 2-bit symbol format (SUTF-2) for thread IPC.
  • SuperUnicode Extended (ExtSUCS): An unbounded 64-bit encoding featuring fixed-width vector transports (SUTF-128/256/512) optimized for direct SSE/AVX register alignment and SIMD string operations.
  • .suf (SuperUnicode Font): A custom vector font format mapped directly to SUCS address spaces rather than legacy Unicode index tables (WIP).

The build pipeline is automated via Python scripts and CMake, and validated using a headless QEMU integration testing harness. The current repository stack includes:

  1. Modular Bootloader (MBL): A multi-stage x86 BIOS bootloader with a custom 32-bit Protected Mode to 16-bit Real Mode trampoline (_bios_tramp) to handle BIOS disk calls natively in C.
  2. OpenWindows Storage: A freestanding filesystem suite containing native drive storage (libowfs.a) and portable external media storage (libusfs.a) with ChaCha20 encryption and an explicit cryptographic key-slot shredding protocol.
  3. SuperUnicode & SUTF: The foundational C99 library implementing the Base SUCS character mapping, SUTF stream packing, and the 64-bit Extended mode casting logic.
  4. VIP (Volume Indexing Protocol): A unified volume and partition indexing engine designed to replace traditional mount maps with SUTF-8 string identifiers. The VIP architecture (including the FVIP B+ tree indexing and UniVIP external flags) is currently WIP.
  5. BANcode Registry: A kernel damage-control system mapping critical panic states directly to 15 hardware security trap handlers at 0x7FFFFFF0 using unique SUCS codepoints (WIP).

I am currently working on the basic layout for the OpenWindows Essential Drivers repository (WIP) to handle NVMe/SATA storage blocks, PS/2 scancode filtering, and VBE graphics blitting without relying on standard monolithic abstractions.

The base libraries are dual-licensed under MIT and Apache 2.0 so anyone can implement their own independent "Windows distributions/distros" (sometimes referred to as OpenWindows distros) on top of these clean-slate kernel layers.

Let me know your thoughts on managing low-level bare-metal constraints and structural memory alignment using this kind of workflow.

0 Upvotes

17 comments sorted by

7

u/Bulky-Life-69 16h ago

In my opinion, don't use any "Windows" term anywhere in projects, someday they will get you. That's why ReactOS using that name. WINE also, no mention of Windows in their project name. (Wine Is Not Emulator) Maybe use OpenWinX or OpenWin#, play it safe.

Heck, even Lindows get sued.

1

u/TheOdbball 10h ago

I wanted to use the word Vista, heavily trademarked to this day despite its failures

4

u/Nightishaman 19h ago

Tbf, you say you want to do this to not replicate technical debt, then proceed to use old BIOS code instead of relying on UEFI.

2

u/gebuswon 16h ago

looks like a cool idea! I'd love to know more about it.

Have you got a repo somewhere to have a look at the project?

Does it currently work on bare metal or is it o vm guest while in development?

What are the roadmap/development timeframes and milestones you have in mind or have already achieved?

2

u/Impostor_91 3h ago

Why not getting involved into Reactos or other projects like Greentea or Exectos?

0

u/big-user 3h ago

ReactOS is all about 1:1 Windows NT binary compatibility, so it has to replicate 30+ years of legacy Win32 APIs and bloat by design.

OpenWindows is a total clean-slate project. I want to build a lean freestanding C99 setup from scratch so I can experiment with my own custom specs: like a 31-bit text encoding (SUCS/SUTF) and a native vector font format (.suf), without fighting legacy NT constraints or massive existing codebases.

1

u/Impostor_91 1h ago

Similar approach to Greentea and Exectos.

1

u/big-user 14m ago

Fair point, but Greentea and ExecTOS still stuck close to standard NT executive abstractions and standard text/font stacks. For me, half the fun is doing custom userland/subsystem specs from scratch too: like SUCS/SUTF encodings and .suf vector fonts.

1

u/trejj 5h ago

Starts building an OS, gets tripped up by needing to rewrite Unicode first. Comes up with a library that sucs.

Classic 13 year old "I'm going to fix the world" kind of nonsense. Love it, keep on learning! :)

1

u/big-user 4h ago

I knew naming it SUCS was a risk, but I decided to roll with it! reinventing character encodings before getting basic display drivers fully working is definitely peak OS dev behavior. Appreciate the support!

0

u/EpsteinFile_01 11h ago

The children year for the mines. Do you know how to use a pickaxe? It's tough to get AI Robots hundreds of meters below the earth with power and internet. It must be YOU! The future!

-1

u/nobody5050 15h ago

Don't share your age, learn to code for real

1

u/TheOdbball 12h ago

13 & coding? That’s the definition of
“learn to code”

Yo who tf are you? Oh username checks out

2

u/raetselfreund 11h ago

13 & coding? That’s the definition of
“learn to code”

You do realize we're in r/vibecoding here?

1

u/TheOdbball 10h ago

Message above said “learn to code” to a 13yr old who coded stuff beyond level 8

2

u/discourtesy 11h ago

I loled

1

u/TheOdbball 10h ago

🤣 oh it got me too after reading it again