# ptitseb/box64

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/ptitseb-box64).**

5,480 stars · 439 forks · C · MIT

## Links

- GitHub: https://github.com/ptitSeb/box64
- Homepage: https://box86.org
- awesome-repositories: https://awesome-repositories.com/repository/ptitseb-box64.md

## Description

Box64 is a cross-architecture runtime and user-mode emulation layer that allows Linux and Windows software to run on non-native hardware. It functions as an x86-64 instruction emulator and binary translator, executing 64-bit binaries on different CPU architectures by translating machine code into native instructions.

The project utilizes dynamic recompilation to accelerate execution and maps guest system calls to native host libraries to increase speed and hardware compatibility. It can simulate a 32-bit execution environment to support legacy software and integrates with the operating system kernel to automatically recognize and launch foreign executables.

The system covers the execution of 64-bit and 32-bit Linux programs, Windows binaries, and game clients, including support for Vulkan graphics overlays. It provides mechanisms for library bundling, AppImage package loading, and hardware-specific target optimization.

The software supports static binary compilation and provides a cross-compilation toolchain for deployment across different CPU architectures.

## Tags

### Operating Systems & Systems Programming

- [Dynamic Binary Translators](https://awesome-repositories.com/f/operating-systems-systems-programming/instruction-translation-accelerators/dynamic-binary-translators.md) — Converts guest machine code into native host instructions at runtime to execute binaries on unsupported architectures.
- [x86 Binary Emulators](https://awesome-repositories.com/f/operating-systems-systems-programming/x86-binary-emulators.md) — Functions as an x86-64 binary emulator that executes machine code on non-x86 hardware architectures. ([source](https://github.com/ptitSeb/box64/blob/main/docs/COMPILE.md))
- [Cross-Architecture Binary Execution](https://awesome-repositories.com/f/operating-systems-systems-programming/cross-architecture-binary-execution.md) — Executes software built for different hardware platforms on a host system through dynamic binary translation.
- [System Call Mapping](https://awesome-repositories.com/f/operating-systems-systems-programming/kernel-core-internals/system-calls/system-call-mapping.md) — Intercepts guest operating system requests and translates them into compatible host operations.
- [Linux Environment Emulation](https://awesome-repositories.com/f/operating-systems-systems-programming/linux-environment-emulation.md) — Provides an environment to execute Linux binaries on non-native hardware by emulating the necessary system and kernel interfaces. ([source](https://github.com/ptitSeb/box64/blob/main/README_UK.md))
- [System-Call Interception](https://awesome-repositories.com/f/operating-systems-systems-programming/system-call-interception.md) — Translates guest operating system requests into compatible host operations by wrapping library functions and system calls. ([source](https://github.com/ptitSeb/box64/blob/main/docs/CHANGELOG.md))
- [User-Mode Emulation](https://awesome-repositories.com/f/operating-systems-systems-programming/user-mode-emulation.md) — Simulates a target CPU environment within a host process without requiring a full operating system kernel boot.
- [Binary Translation Layers](https://awesome-repositories.com/f/operating-systems-systems-programming/virtualization-emulation/virtualization-platforms/virtualization-platforms/cross-architecture-virtualization/binary-translation-layers.md) — Implements a binary translation layer that allows Linux executables to run on non-native hardware without full virtualization.
- [Windows Compatibility Layers](https://awesome-repositories.com/f/operating-systems-systems-programming/windows-compatibility-layers.md) — Implements a compatibility layer that allows Windows applications to run on non-Windows operating systems. ([source](https://github.com/ptitSeb/box64/blob/main/docs/WINE.md))
- [Kernel Binary Format Registration](https://awesome-repositories.com/f/operating-systems-systems-programming/kernel-binary-format-registration.md) — Integrates with the host operating system kernel to automatically route foreign binary executions through the translation layer.

### DevOps & Infrastructure

- [Cross-Architecture Instruction Mapping](https://awesome-repositories.com/f/devops-infrastructure/multi-architecture-hardware-targeting/architecture-mapping/cross-architecture-instruction-mapping.md) — Maps 64-bit guest registers and instructions to the available operation sets of the host CPU.

### Programming Languages & Runtimes

- [Cross-Architecture Binary Runtimes](https://awesome-repositories.com/f/programming-languages-runtimes/cross-architecture-binary-runtimes.md) — Provides a runtime environment that enables software built for different CPU architectures to execute on the host hardware.
- [Native Library Integrations](https://awesome-repositories.com/f/programming-languages-runtimes/language-interoperability/foreign-function-interfaces/native-library-integrations.md) — Maps guest system calls to native host libraries to increase execution speed and hardware compatibility. ([source](https://github.com/ptitSeb/box64/blob/main/README_UK.md))
- [Guest-to-Host Library Mapping](https://awesome-repositories.com/f/programming-languages-runtimes/language-interoperability/native-c-interoperability/native-library-interfacing/guest-to-host-library-mapping.md) — Redirects guest library calls to native host equivalents to increase execution speed and ensure hardware compatibility.
- [32-bit Runtime Emulation](https://awesome-repositories.com/f/programming-languages-runtimes/webassembly-binary-manipulators/64-bit-memory-support/32-64-bit-architecture-support/32-bit-runtime-emulation.md) — Simulates a 32-bit execution environment using 64-bit libraries to run software on architectures lacking native support. ([source](https://github.com/ptitSeb/box64/blob/main/docs/WINE.md))
- [32-bit x86 Execution](https://awesome-repositories.com/f/programming-languages-runtimes/webassembly-binary-manipulators/64-bit-memory-support/32-64-bit-architecture-support/32-bit-x86-execution.md) — Supports the execution of legacy 32-bit x86 processes alongside 64-bit binaries. ([source](https://github.com/ptitSeb/box64/blob/main/docs/COMPILE.md))
- [Legacy 32-bit Binary Support](https://awesome-repositories.com/f/programming-languages-runtimes/webassembly-binary-manipulators/64-bit-memory-support/32-64-bit-architecture-support/legacy-32-bit-binary-support.md) — Simulates a 32-bit execution environment to run older software on modern 64-bit systems.

### Software Engineering & Architecture

- [Dynamic Recompilation Engines](https://awesome-repositories.com/f/software-engineering-architecture/performance-reliability/performance-optimization/computational-efficiency/cpu-optimization-strategies/hardware-instruction-targeting/instruction-set-targets/instruction-set-architecture-learning/dynamic-recompilation-engines.md) — Translates frequently executed blocks of code into native instructions to reduce emulation overhead.
- [Hardware Instruction Targeting](https://awesome-repositories.com/f/software-engineering-architecture/performance-reliability/performance-optimization/computational-efficiency/cpu-optimization-strategies/hardware-instruction-targeting.md) — Optimizes build configurations to target specific processor architectures and SoC platforms for improved execution efficiency. ([source](https://github.com/ptitSeb/box64/blob/main/docs/COMPILE.md))

### Game Development

- [ARM Linux Gaming Emulation](https://awesome-repositories.com/f/game-development/arm-linux-gaming-emulation.md) — Runs PC game clients and graphics-heavy applications on ARM-based Linux devices using Vulkan and native library mapping.
- [Game Client Emulation](https://awesome-repositories.com/f/game-development/game-client-emulation.md) — Runs game platform clients on non-native architectures for both Linux and Windows versions. ([source](https://github.com/ptitSeb/box64/blob/main/README_CN.md))

### Part of an Awesome List

- [Virtualization and Containers](https://awesome-repositories.com/f/awesome-lists/devtools/virtualization-and-containers.md) — High-performance emulator for running x86 Linux binaries on ARM.
