jart/blink

tiniest x86-64-linux emulator

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 29 minutes ago
Added to GitGenius on September 8th, 2026
Created on November 3rd, 2022
Open Issues & Pull Requests: 55 (+0)
GitHub issues: Enabled
Number of forks: 279
Total Stargazers: 7,580 (+0)
Total Subscribers: 66 (+0)

Repository Insights (GitGenius)

Most active contributors

Sign in to see contributor activity.

Related repositories by overlapping contributors

No overlapping-contributor repos identified yet.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 15
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 502 days
Stale 30+ days: 15
Stale 90+ days: 12

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • browser (1)
  • enhancement (1)
  • question (1)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

Blink is a tiny x86-64-linux emulator that runs Linux binaries on different operating systems and hardware architectures.

Blink solves the problem of executing x86-64 Linux programs on non-Linux systems and non-x86 architectures by emulating the x86-64 instruction set and Linux system calls. It achieves this through a lightweight, self-contained implementation that requires only a POSIX-compliant C library. The emulator includes a just-in-time compiler for performance on x86 and ARM64 platforms, and it can be compiled with optional features disabled for minimal binary size.

Blink suits developers who need to run Linux binaries portably across macOS, FreeBSD, OpenBSD, Cygwin, and Linux on various architectures including ARM, RISC-V, MIPS, PowerPC, and s390x. It is particularly valuable for scenarios where binary size matters or where qemu-x86_64 is unavailable. Compared to qemu-x86_64, Blink offers a significantly smaller footprint at around 115 to 221 kilobytes depending on build configuration, runs on more operating systems than qemu-x86_64 supports, and achieves roughly twice the performance on SSE integer and floating-point workloads and ephemeral programs like compilers. The project also includes Blinkenlights, a terminal debugger for visualizing program execution with reverse debugging capabilities, which differs from GDB by focusing on memory visualization and execution history rather than traditional breakpoint-based debugging.

The project maintains regular testing across multiple platforms and architectures to verify binary compatibility. Build modes are available for different use cases, including a tiny mode that reduces binary size by half with no performance impact, sanitizer modes for debugging memory safety and threading issues, and optimized modes for production use. The tool supports configuration tuning to disable optional features like JIT, threading, sockets, and floating-point support when even smaller binaries are needed.