À propos du projet

felix86 est un émulateur en espace utilisateur Linux qui permet aux programmes x86 et x86-64 de s'exécuter sur des processeurs RISC-V. Il vise à exécuter des jeux et d'autres logiciels sur des systèmes Linux RISC-V. Principales caractéristiques listées par le projet : - Recompilateur Just-in-Time (JIT) - Utilise la RISC-V Vector Extension pour les extensions SIMD jusqu'à AVX2 - Prend en charge le matériel RVA23 et de nombreuses extensions optionnelles - Utilise dans certains cas les bibliothèques de l'hôte pour améliorer les performances Pour commencer : sur Ubuntu, Debian, Bianbu et possiblement d'autres distributions, le projet fournit une commande d'installation qui télécharge et exécute un script pour installer felix86 et un rootfs de votre choix. La documentation pour les développeurs et les utilisateurs est disponible sur le site web du projet, et une liste de compatibilité y est également publiée. Le projet dépend de plusieurs autres composants open source, notamment la suite de tests unitaires de FEX, Biscuit pour l'émission de code RISC-V, Zydis pour le décodage et le désassemblage, Catch2 pour les tests unitaires, fmt pour le formatage de chaînes, nlohmann/json pour l'analyse JSON, tomlc17 pour l'analyse TOML, et berkeley-softfloat-3 pour l'émulation des flottants 80 bits x87. Il utilise également des tests binaires d'autres projets pour vérifier le comportement et prévenir les régressions. L'auteur indique que felix86 a été lancé pour acquérir une compréhension plus approfondie de x86-64, RISC-V, Linux et de l'émulation de haut niveau, pour explorer les compilateurs optimisants et les JIT (SSA, allocation de registres, passes d'optimisation), pour apprendre les détails de bas niveau tels que les signaux, les appels système et le chargement de programmes, et comme projet amusant et stimulant. Le README renvoie également à des projets d'émulateurs connexes : Panda3DS, shadPS4 et ChonkyStation3.