Blink 1.0 Release: A Minimal x86 Linux Emulator with JIT and TUI Interface
Blink 1.0 is a lightweight 220 KB user‑space virtual machine that emulates x86‑64 Linux binaries, includes a built‑in JIT that can be twice as fast as Qemu for simple programs, and provides both command‑line and TUI debugging interfaces.
Blink 1.0 has been officially released.
Blink is an unprivileged user‑space virtual machine that can simulate x86‑64‑Linux binaries on any POSIX platform, claiming to be the smallest x86 Linux emulator.
At roughly 220 KB, it is a dependency‑free static binary implementing about 600 x86 instructions and 180 Linux system calls, making it well‑suited for running simple command‑line programs.
./configure # use `./configure --help | less` for help
make -j8 # build blink and blinkenlights
doas make install # doas is modern sudo
blink program # use `man blink` for helpBlink includes a concise JIT; for certain use cases such as ephemeral programs it can be up to two times faster than Qemu because its baseline JIT uses a printf‑style DSL to quickly generate code. The codebase consists of only 63,500 lines of ANSI C11.
Although Blink is primarily a command‑line tool, it also offers a TUI interface called blinkenlights that supports real‑time debugging and visualisation.
The following example runs a bare‑metal Game of Life demo written in Rust. The demo boots in i8086 mode from BIOS, switches to long mode, and renders to Blinkenlights’ text‑based CGA display.
man blinkenlights
blinkenlights -jmr third_party/gameoflife/gameoflife.bin
# Press CTRL‑T several times for Turbo modeBlink is also capable of running GUI applications; the screenshot below shows Emacs running under Blink on Debian Linux.
Laravel Tech Community
Specializing in Laravel development, we continuously publish fresh content and grow alongside the elegant, stable Laravel framework.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.