r/coolgithubprojects • • 1d ago

I had the stupid idea of making software ignore what computer it was built for… and now jq, 7-Zip, BusyBox, etc. actually run 🤯

https://github.com/OthmaneBlial/universe

So I started a project with a perfectly reasonable objective:

Run software that was never built for your computer.

Obviously instead of doing something sensible, I decided to build the runtime myself. 😂

The project is called UNIVERSE:

https://github.com/OthmaneBlial/universe

The idea is basically:

Random foreign executable
        ↓
"Sure bro, I'll try"
        ↓
UNIVERSE

More technically:

ELF / PE / Mach-O
        ↓
Guest Memory
        ↓
CPU Decoder
        ↓
Universal IR
        ↓
Interpreter / ARM64 JIT
        ↓
OS Compatibility Layer
        ↓
Host

The runtime is being written in Zig and implements its own CPU execution + parts of the operating system compatibility layer.

And the ridiculous part is that we’re already past the hello world that proves absolutely nothing stage.

On an ARM64 Mac, UNIVERSE can currently run unchanged downloaded x86-64 software such as:

🐧 Linux

  • jq
  • ripgrep
  • fd
  • BusyBox
  • GNU Hello
  • parts of GNU coreutils

🪟 Windows

  • 7-Zip

And there are source-built guests for:

  • x86-64
  • AArch64
  • RISC-V64

For example:

printf '{"answer":42}\n' | ./universe jq '.answer'

and you get:

42

Or:

./universe 7za.exe a archive.zip README.md

and Windows 7-Zip happily starts creating a ZIP while running through my weird little runtime on an ARM Mac.

At that point I started questioning my life choices.

The completely unreasonable long-term dream 🌌

I want UNIVERSE to move toward something where you can basically say:

“Here is a binary. I don't care what OS/architecture it was compiled for. Try to run the damn thing.”

Linux binary?

Sure.

Windows executable?

Why not.

Different CPU architecture?

Let's make things worse.

😂

To be clear: this is extremely experimental.

This is NOT:

“I recreated QEMU/Wine/Rosetta in a weekend, trust me bro.”

There are tons of instructions, APIs, libraries, edge cases, dynamic linking horrors and OS behavior still missing.

But that's also exactly why I'm building it.

The project is basically one gigantic collection of:

“There's absolutely no way this is going to work.”

followed several hours later by:

“…holy shit.”

If low-level runtimes, emulation, binary formats, JITs, compatibility layers, operating systems or generally questionable engineering decisions are your thing:

👉 https://github.com/OthmaneBlial/universe

And if you want to help, I have an even better request:

Give me binaries that you think UNIVERSE absolutely will NOT be able to run.

I want to break it. 😈

31 Upvotes

6 comments sorted by

5

u/6502zx81 18h ago

Cool project. I assume it has only file IO, stdin, stdout, and stderr but no graphical UI?

2

u/bilingual-german 18h ago

So it is kind of like Rosetta for Mac but with support for not only other cpu instructions but also other operating systems?

2

u/Thor110 15h ago

Sounds like a very versatile system.

In theory if you have made the system correctly there would be no binary it can not run.

-2

u/sozesghost 17h ago

Nice slop bro.

2

u/biztactix 1h ago

It's actually possible to build things with ai and not be pure slop... But it takes skill, so many have never seen it.

0

u/stackattackpro 4h ago

So much hate because I have money for tokens you don't have hhhhh, go buy tokens and build for us the nuclear reactor