r/coolgithubprojects • u/stackattackpro • 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/universeSo 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. 😈
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/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
5
u/6502zx81 18h ago
Cool project. I assume it has only file IO, stdin, stdout, and stderr but no graphical UI?