Sobre o projeto

felix86 é um emulador de espaço de usuário Linux que permite que programas x86 e x86-64 sejam executados em processadores RISC-V. Ele é voltado para executar jogos e outros softwares em sistemas Linux RISC-V. Principais recursos listados pelo projeto: - Recompilador Just-in-Time (JIT) - Usa a Extensão Vetorial RISC-V para extensões SIMD até AVX2 - Suporta hardware RVA23 e muitas extensões opcionais - Usa bibliotecas do host em alguns casos para melhorar o desempenho Primeiros passos: no Ubuntu, Debian, Bianbu e possivelmente outras distribuições, o projeto fornece um comando de instalação que baixa e executa um script para instalar o felix86 e um rootfs de sua escolha. A documentação para desenvolvedores e usuários está disponível no site do projeto, e uma lista de compatibilidade também é publicada lá. O projeto depende de vários outros componentes de código aberto, incluindo a suíte de testes unitários do FEX, Biscuit para emissão de código RISC-V, Zydis para decodificação e desmontagem, Catch2 para testes unitários, fmt para formatação de strings, nlohmann/json para análise de JSON, tomlc17 para análise de TOML e berkeley-softfloat-3 para emulação de float de 80 bits x87. Ele também usa testes binários de outros projetos para verificar o comportamento e evitar regressões. O autor afirma que o felix86 foi iniciado para obter uma compreensão mais profunda de x86-64, RISC-V, Linux e emulação de alto nível, para explorar compiladores otimizadores e JITs (SSA, alocação de registradores, passos de otimização), para aprender sobre detalhes de baixo nível, como sinais, syscalls e carregamento de programas, e como um projeto divertido e desafiador. O README também aponta para projetos de emuladores relacionados: Panda3DS, shadPS4 e ChonkyStation3.