blink

Virtual machine that runs x86-64 Linux binaries on different operating systems and architectures

install· Source

Blink is a virtual machine that executes x86-64 Linux programs on different operating systems and hardware architectures. It provides the same functionality as qemu-x86_64 but with significant advantages: Blink is only 221kb in size (compared to qemu's 4mb), runs Linux binaries on any POSIX system (not just Linux), and achieves 2x faster performance on benchmarks involving SSE integer and floating point math.

The project includes two main programs: blink for headless execution and blinkenlights for interactive debugging. The blinkenlights TUI debugger visualizes program execution 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 provides breakpoint and watchpoint functionality.

Blink targets developers who need to run Linux binaries across different platforms or debug x86-64 programs with visual feedback. It supports multiple architectures (x86, ARM, RISC-V, MIPS, PowerPC, s390x) and operating systems (Linux, macOS, FreeBSD, OpenBSD, Cygwin). The tool passes extensive test suites including 194 from Cosmopolitan Libc, 350 from Linux Test Project, and 108 from Musl Libc's unit tests.

Installation

# via Source
./configure && make -j4 && doas make install

Screenshot of Blink running GCC 9.4.0

Alternatives & related tools

add a badge to your README

Maintain blink? Show that it's featured on trmn. The badge links back to this page.

Featured on trmn
Markdown
[![Featured on trmn](https://www.trmn.sh/badge/blink.svg)](https://www.trmn.sh/tools/blink?utm_source=badge)
HTML
<a href="https://www.trmn.sh/tools/blink?utm_source=badge"><img src="https://www.trmn.sh/badge/blink.svg" alt="Featured on trmn" height="20"></a>