All Projects → FEX-Emu → FEX

FEX-Emu / FEX

Licence: MIT License
A fast usermode x86 and x86-64 emulator for Arm64

Programming Languages

C++
36643 projects - #6 most used programming language
assembly
5116 projects
c
50402 projects - #5 most used programming language
python
139335 projects - #7 most used programming language
CMake
9771 projects
shell
77523 projects

Projects that are alternatives of or similar to FEX

Unicorn
Unicorn CPU emulator framework (ARM, AArch64, M68K, Mips, Sparc, PowerPC, RiscV, X86)
Stars: ✭ 4,934 (+659.08%)
Mutual labels:  emulator, x86-64, x86, arm64
Keypatch
Multi-architecture assembler for IDA Pro. Powered by Keystone Engine.
Stars: ✭ 939 (+44.46%)
Mutual labels:  x86-64, x86, arm64
Rappel
A linux-based assembly REPL for x86, amd64, armv7, and armv8
Stars: ✭ 818 (+25.85%)
Mutual labels:  x86-64, x86, arm64
Corehook
A library that simplifies intercepting application function calls using managed code and the .NET Core runtime
Stars: ✭ 191 (-70.62%)
Mutual labels:  x86-64, x86, arm64
Capstone
Capstone disassembly/disassembler framework: Core (Arm, Arm64, BPF, EVM, M68K, M680X, MOS65xx, Mips, PPC, RISCV, Sparc, SystemZ, TMS320C64x, Web Assembly, X86, X86_64, XCore) + bindings.
Stars: ✭ 5,374 (+726.77%)
Mutual labels:  x86-64, x86, arm64
Keystone
Keystone assembler framework: Core (Arm, Arm64, Hexagon, Mips, PowerPC, Sparc, SystemZ & X86) + bindings
Stars: ✭ 1,654 (+154.46%)
Mutual labels:  x86-64, x86, arm64
Mandibule
linux elf injector for x86 x86_64 arm arm64
Stars: ✭ 171 (-73.69%)
Mutual labels:  x86-64, x86, arm64
alpine-php-fpm
Lightweight and optimised PHP-FPM (PHP 7.4, 8.0, 8.1) Docker images with essential extensions on top of latest Alpine Linux.
Stars: ✭ 53 (-91.85%)
Mutual labels:  x86-64, x86, arm64
Capstone.NET
.NET Core and .NET Framework binding for the Capstone Disassembly Framework
Stars: ✭ 108 (-83.38%)
Mutual labels:  x86-64, x86, arm64
profiler-api
The portable version of JetBrains profiler API for .NET Framework / .NET Core / .NET / .NET Standard / Mono
Stars: ✭ 21 (-96.77%)
Mutual labels:  x86-64, x86, arm64
x86e
A simple x86 emulator, debugger, and editor in JavaScript.
Stars: ✭ 89 (-86.31%)
Mutual labels:  emulator, x86-64, x86
pinktrace
Pink's Tracing Library
Stars: ✭ 20 (-96.92%)
Mutual labels:  x86-64, x86, arm64
ria-jit
Lightweight and performant dynamic binary translation for RISC–V code on x86–64
Stars: ✭ 38 (-94.15%)
Mutual labels:  x86-64, emulation, x86
nordvpn
NordVpn Docker Client
Stars: ✭ 475 (-26.92%)
Mutual labels:  x86-64, arm64
PBD
🖨️🐞 Printf Based Debugger, a user-friendly C debugger
Stars: ✭ 52 (-92%)
Mutual labels:  x86-64, x86
insaneworks-packer-template
CentOS 7-8 8Stream / AlmaLinux 8 / FreeBSD 12 - 13 x64 + VirtualBox / VMWare for Packer Template + FreeBSD 13 / AlmaLinux 9 + Parallels
Stars: ✭ 38 (-94.15%)
Mutual labels:  x86-64, arm64
emu
cybozu labs youth 7th
Stars: ✭ 50 (-92.31%)
Mutual labels:  emulator, x86
IBMulator
The IBM PS/1 emulator.
Stars: ✭ 62 (-90.46%)
Mutual labels:  emulator, x86
OpenWRT-x86 64-Install
Create and deploy a LEGACY or EFI OpenWRT bootable image for x86_64 processors
Stars: ✭ 15 (-97.69%)
Mutual labels:  x86-64, x86
SkyEmu
Game Boy, Game Boy Color, and Game Boy Advanced Emulator
Stars: ✭ 59 (-90.92%)
Mutual labels:  emulator, emulation

中文

FEX - Fast x86 emulation frontend

FEX allows you to run x86 and x86-64 binaries on an AArch64 host, similar to qemu-user and box86. It has native support for a rootfs overlay, so you don't need to chroot, as well as some thunklibs so it can forward things like GL to the host. FEX presents a Linux 5.0 interface to the guest, and supports both AArch64 and x86-64 as hosts. FEX is very much work in progress, so expect things to change.

Quick start guide

For Ubuntu 20.04, 21.04, 21.10, 22.04

Execute the following command in the terminal to install FEX through a PPA.

curl --silent https://raw.githubusercontent.com/FEX-Emu/FEX/main/Scripts/InstallFEX.py --output /tmp/InstallFEX.py && python3 /tmp/InstallFEX.py && rm /tmp/InstallFEX.py

This command will walk you through installing FEX through a PPA, and downloading a RootFS for use with FEX.

Ubuntu PPA is updated with our monthly releases.

For everyone else

Please see Building FEX.

Getting Started

FEX has been tested to build and run on ARMv8.0, ARMv8.1+, and x86-64(AVX or newer) hardware. ARMv7 and older x86 hardware will not work. Expected operating system usage is Linux. FEX has been tested with Ubuntu 20.04, 20.10, and 21.04. Also Arch Linux.

On AArch64 hosts the user MUST have an x86-64 RootFS Creating a RootFS.

Navigating the Source

See the Source Outline for more information.

Building FEX

Follow the guide on the official FEX-Emu Wiki here.

RootFS generation

AArch64 hosts require a rootfs for running applications. Follow the guide on the wiki page for seeing how to set up the rootfs from scratch https://wiki.fex-emu.org/index.php/Development:Setting_up_RootFS

FEX diagram

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].