Virtual machine that runs x86-64 Linux programs on different operating systems and architectures
Blink is a virtual machine that executes x86-64 Linux binaries on different operating systems and hardware architectures. It functions as an alternative to qemu-x86_64 but with significant size and performance advantages - the binary is only 221kb compared to qemu's 4MB, runs on any POSIX system rather than just Linux, and achieves 2x faster performance on some benchmarks including SSE math operations and ephemeral programs like compilers.
The project includes two main programs: the headless blink virtual machine and blinkenlights, a terminal user interface for debugging x86-64 Linux or i8086 programs. Blinkenlights provides visual program execution debugging using Unicode IBM Code Page 437 characters to display binary memory panels that update as you step through assembly code. It supports reverse debugging through scroll wheel interaction and allows rewinding execution history.
Blink supports multiple platforms including Linux (x86, ARM, RISC-V, MIPS, PowerPC, s390x), macOS (x86, ARM), FreeBSD, OpenBSD, and Cygwin. It passes extensive test suites including 194 from Cosmopolitan Libc, 350 from the Linux Test Project, and 108 from Musl Libc's unit tests. The tool offers various build modes for different use cases, from a minimal 120kb binary with disabled features to debug builds with sanitizers for bug hunting.
# via Manual Build
./configure && make -j4 && doas make install
