Un proyecto de código abierto acerca el mundo del software x86 a la arquitectura libre RISC-V, usando emulación avanzada y técnicas modernas de recompilación
El ecosistema RISC-V, cada vez más presente en placas de desarrollo y sistemas experimentales, da un paso importante hacia la compatibilidad con software tradicional de PC. El responsable es felix86, un nuevo emulador para Linux que permite ejecutar aplicaciones y videojuegos diseñados para procesadores x86 y x86-64 (los usados en la mayoría de ordenadores actuales) en hardware RISC-V.
Aunque todavía se encuentra en fase inicial, felix86 ya es capaz de ejecutar diversos programas gracias a un motor de emulación en espacio de usuario y a un sistema de recompilación Just-in-Time (JIT) que convierte el código sobre la marcha para que funcione en la nueva arquitectura.
¿Qué es RISC-V y por qué es un reto?
RISC-V es una arquitectura abierta y libre de licencias, lo que significa que cualquiera puede fabricar chips compatibles sin pagar derechos de uso. Su flexibilidad la convierte en una opción atractiva para proyectos educativos, innovación tecnológica e incluso futuros ordenadores personales.
El problema es que la mayoría del software existente —especialmente juegos, programas antiguos o aplicaciones comerciales— está diseñado para funcionar en procesadores Intel o AMD (arquitectura x86), lo que hace necesaria una capa de compatibilidad. Ahí es donde entra felix86.
Cómo funciona felix86
felix86 traduce instrucciones x86/x86-64 en tiempo real para que se ejecuten como si fuesen instrucciones nativas en procesadores RISC-V. Para ello, utiliza:
- Recompilación dinámica (JIT), que mejora el rendimiento al convertir código de forma eficiente.
- Uso de extensiones modernas de RISC-V, como las instrucciones vectoriales (RVV) para simular operaciones SIMD como las usadas en videojuegos.
- Aprovechamiento de bibliotecas del sistema, cuando es posible, para acelerar la ejecución.
Esto permite que muchos programas pensados para Windows o Linux en PCs tradicionales puedan ejecutarse en entornos RISC-V sin necesidad de cambios.
Instalación fácil en sistemas Linux
Instalar felix86 es sencillo en sistemas basados en Debian o Ubuntu. Solo hace falta ejecutar este comando en la terminal:
curl -s https://raw.githubusercontent.com/OFFTKP/felix86/master/src/felix86/tools/install.sh -o /tmp/felix86_install.sh && bash /tmp/felix86_install.sh && rm /tmp/felix86_install.sh
El instalador configura felix86 y descarga un «rootfs», que es un entorno básico con las bibliotecas necesarias para ejecutar programas x86 y x86-64. Una vez instalado, basta con iniciar una terminal x86 emulada con:
FELIX86_QUIET=1 felix86 /bin/bash
Desde ahí, se pueden instalar y ejecutar programas como si se estuviera usando un PC tradicional.
Compatibilidad y limitaciones
Aunque el proyecto está en desarrollo, ya hay una lista creciente de juegos y programas que funcionan correctamente. No obstante, no todo el software es compatible, y pueden surgir errores según el programa o el hardware usado.
Entre las recomendaciones de uso se destacan:
- Usar procesadores RISC-V de 64 bits con soporte para extensiones vectoriales (RVV).
- Evitar ejecutar software no confiable, ya que felix86 no actúa como una zona aislada o protegida (sandbox).
- Algunos juegos, como los creados con Unity, pueden requerir variables especiales para evitar fallos.
¿Por qué es importante?
Este proyecto no solo amplía la compatibilidad del software en RISC-V, sino que también es una demostración del potencial de la arquitectura abierta. Permite que desarrolladores, estudiantes y entusiastas experimenten con aplicaciones reales sin estar atados a las limitaciones de las plataformas cerradas.
Además, felix86 tiene un enfoque educativo: su creador lo desarrolló para explorar temas como compiladores, llamadas al sistema, señales, y cómo funcionan los programas a bajo nivel. Esto lo convierte en una valiosa herramienta para aprender y experimentar.
Un paso más hacia el futuro del software libre
Con iniciativas como felix86, RISC-V se posiciona como una alternativa cada vez más realista frente a x86 y Arm. Poder ejecutar software clásico sin depender de hardware propietario puede ser clave para la adopción de esta arquitectura en ordenadores personales, entornos industriales o incluso para videojuegos en Linux.
Aunque aún queda camino por recorrer, felix86 es una muestra del entusiasmo y la innovación que rodean al mundo del software libre y el hardware abierto. Y para quienes soñaban con jugar o trabajar en RISC-V sin renunciar a sus programas favoritos, este es un gran paso adelante.
Más información: felix86 en messenger.es
