finds.dev← search

// the find

jart/blink

★ 7,544 · C · ISC · updated Dec 2025

tiniest x86-64-linux emulator

Blink is a 221kb x86-64 Linux userspace emulator that runs Linux ELF binaries on any POSIX system — macOS, FreeBSD, OpenBSD, Cygwin, and Linux on non-x86 architectures. It ships alongside Blinkenlights, a terminal debugger with reverse execution via scroll wheel. The primary design goal is running Cosmopolitan Libc binaries portably; everything else is a bonus.

JIT on x86_64 and aarch64 that reportedly beats qemu-x86_64 by 2x on SSE workloads, with a lockless hash table for generated functions that keeps peak memory ~40% below Qemu. The self-modifying code support is genuinely careful — it tracks page granularity invalidation and handles RWX memory via SIGSEGV interception rather than polling. Test coverage is serious: 700+ precompiled test programs, 194 Cosmopolitan suites, 350 Linux Test Project suites, all run cross-architecture. Binary size discipline is real: 221kb default, down to ~115kb with optional features disabled via configure flags.

No AVX/AVX2 support despite decoding VEX-encoded BMI2, which creates a trap for programs that detect feature flags as levels rather than individual bits — anything assuming 'BMI2 implies AVX2' silently breaks. x87 long double is quietly truncated to 64-bit precision with no error, so floating-point code relying on 80-bit extended precision will produce wrong results without telling you. Linux syscall coverage is incomplete and the gaps are non-obvious: AF_BLUETOOTH returns EINVAL, membarrier() is unimplemented, and the list of missing syscalls isn't surfaced anywhere prominent — you find out at runtime from the log file. The VFS chroot support (`--enable-vfs`) is an opt-in compile flag rather than the default, so absolute symlink handling in distro roots silently fails unless you knew to configure it.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →