About this project
felix86 is a Linux userspace emulator that allows x86 and x86-64 programs to run on RISC-V processors. It is aimed at running games and other software on RISC-V Linux systems.
Key features listed by the project:
- Just-in-Time (JIT) recompiler
- Uses the RISC-V Vector Extension for SIMD extensions up to AVX2
- Supports RVA23 hardware and many optional extensions
- Uses host libraries in some cases for improved performance
Getting started: on Ubuntu, Debian, Bianbu and possibly other distributions, the project provides an install command that downloads and runs a script to install felix86 and a rootfs of your choice. Documentation for developers and users is available on the project website, and a compatibility list is also published there.
The project depends on several other open-source components, including FEX's unit test suite, Biscuit for RISC-V code emission, Zydis for decoding and disassembly, Catch2 for unit testing, fmt for string formatting, nlohmann/json for JSON parsing, tomlc17 for TOML parsing, and berkeley-softfloat-3 for x87 80-bit float emulation. It also uses binary tests from other projects to verify behavior and prevent regressions.
The author states felix86 was started to gain a deeper understanding of x86-64, RISC-V, Linux and high-level emulation, to explore optimizing compilers and JITs (SSA, register allocation, optimization passes), to learn about low-level details such as signals, syscalls and program loading, and as a fun and challenging project. The README also points to related emulator projects: Panda3DS, shadPS4 and ChonkyStation3.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.