Об этом проекте

felix86 — это эмулятор пользовательского пространства Linux, который позволяет запускать программы x86 и x86-64 на процессорах RISC-V. Он предназначен для запуска игр и другого программного обеспечения на системах Linux с архитектурой RISC-V. Основные возможности, перечисленные проектом: - JIT-рекомпилятор (Just-in-Time) - Использование векторного расширения RISC-V для SIMD-расширений вплоть до AVX2 - Поддержка оборудования RVA23 и многих дополнительных расширений - Использование библиотек хоста в некоторых случаях для повышения производительности Начало работы: в Ubuntu, Debian, Bianbu и, возможно, других дистрибутивах проект предоставляет команду установки, которая загружает и запускает скрипт для установки felix86 и выбранной вами rootfs. Документация для разработчиков и пользователей доступна на сайте проекта, там же публикуется список совместимости. Проект зависит от нескольких других компонентов с открытым исходным кодом, включая набор модульных тестов FEX, Biscuit для генерации кода RISC-V, Zydis для декодирования и дизассемблирования, Catch2 для модульного тестирования, fmt для форматирования строк, nlohmann/json для разбора JSON, tomlc17 для разбора TOML и berkeley-softfloat-3 для эмуляции 80-битных чисел с плавающей запятой x87. Он также использует бинарные тесты из других проектов для проверки поведения и предотвращения регрессий. Автор заявляет, что felix86 был начат для более глубокого понимания x86-64, RISC-V, Linux и высокоуровневой эмуляции, для изучения оптимизирующих компиляторов и JIT (SSA, распределение регистров, оптимизационные проходы), для изучения низкоуровневых деталей, таких как сигналы, системные вызовы и загрузка программ, а также как интересный и сложный проект. В README также указаны связанные проекты эмуляторов: Panda3DS, shadPS4 и ChonkyStation3.