felix86: el emulador que trae juegos y programas x86 a procesadores RISC-V con Linux

El proyecto de código abierto permite ejecutar aplicaciones tradicionales de PC en hardware RISC-V gracias a emulación en espacio de usuario y recompilación en tiempo real

La comunidad de RISC-V cuenta con una nueva herramienta prometedora. Se trata de felix86, un emulador en espacio de usuario para Linux que permite ejecutar programas y videojuegos diseñados para arquitecturas x86 y x86-64 en sistemas con procesadores RISC-V. Aunque aún se encuentra en una etapa temprana de desarrollo, ya puede ejecutar varias aplicaciones conocidas, e incluso algunos juegos, abriendo la puerta a una mayor compatibilidad y aprovechamiento de la arquitectura abierta RISC-V.

¿Qué es felix86 y cómo funciona?

felix86 es una utilidad diseñada para emular instrucciones x86/x86-64 sobre CPUs RISC-V usando técnicas modernas como la recompilación Just-in-Time (JIT). Esta técnica traduce dinámicamente el código x86 a instrucciones RISC-V durante la ejecución, permitiendo un rendimiento razonable sin necesidad de virtualización completa.

Entre sus principales características técnicas destacan:

  • Uso de extensiones vectoriales RVV para ejecutar instrucciones SIMD como SSE.
  • Compatibilidad con la extensión B para operaciones de bits (bit manipulation).
  • Soporte para extensiones personalizadas como XThead, si están disponibles en el hardware.
  • Posibilidad de utilizar bibliotecas nativas del sistema anfitrión para mejorar el rendimiento.

Este enfoque permite que los binarios x86 se comporten como si fuesen aplicaciones nativas en un sistema RISC-V.

Instalación rápida y sencilla

Instalar felix86 es tan simple como ejecutar un script en terminal. Funciona en Ubuntu, Debian y distribuciones derivadas:

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 script descarga e instala el emulador y un sistema de archivos raíz (rootfs) con las bibliotecas necesarias para ejecutar programas x86. Una vez instalado, es posible iniciar una terminal emulada con:

FELIX86_QUIET=1 felix86 /bin/bash

Desde esa consola, se pueden ejecutar juegos, utilidades o incluso gestores de paquetes para instalar más software compatible con x86/x86-64.

Compatibilidad, requisitos y recomendaciones

felix86 está pensado para funcionar en procesadores RISC-V de 64 bits que soporten extensiones vectoriales (RVV 1.0) y tengan un VLEN de al menos 256 bits. Está optimizado para placas de desarrollo avanzadas, y ya tiene una lista de compatibilidad de juegos y aplicaciones.

Algunas recomendaciones importantes para su uso:

  • El entorno no es un sandbox: ejecutar solo software confiable.
  • Para Unity y ciertos juegos, puede ser necesario usar FELIX86_ALWAYS_TSO=1.
  • Si el sistema tiene GPU con drivers x86, se puede mejorar el rendimiento con FELIX86_ENABLED_THUNKS=glx.
  • Los logs se almacenan en /tmp.

El proyecto es bastante verboso por defecto, aunque se puede silenciar su salida con la variable FELIX86_QUIET=1 o editando el archivo ~/.config/felix86/config.toml.

Un emulador con espíritu educativo

Su desarrollador, conocido como OFFTKP, inició felix86 como un proyecto personal para aprender más sobre emulación, compiladores optimizadores, señales de Linux, llamadas al sistema y arquitectura de procesadores. De paso, logró una hazaña técnica: acercar el extenso mundo del software x86 a una arquitectura emergente como RISC-V.

Además, felix86 se apoya en tecnologías y librerías como:

  • FEX para pruebas de compatibilidad,
  • Biscuit para generación de código RISC-V,
  • Zydis para desensamblado,
  • y librerías modernas como fmt, nlohmann/json y toml11.

Comunidad y futuro

Aunque está en desarrollo activo, felix86 ya cuenta con una pequeña comunidad en Discord (enlace aquí) y su código fuente está disponible públicamente en GitHub:

🔗 https://github.com/OFFTKP/felix86

La meta a largo plazo es lograr ejecutar una mayor cantidad de aplicaciones de escritorio y juegos, incluido soporte preliminar para plataformas como Steam. No todos los títulos funcionan aún, pero los avances son prometedores.

RISC-V gana fuerza

Con iniciativas como esta, la arquitectura RISC-V refuerza su posición como alternativa viable al ecosistema cerrado de x86 y Arm. Si bien felix86 aún está en fase experimental, demuestra que es posible acercar el vasto legado de software de PC a una plataforma abierta, flexible y sin royalties.

En el futuro, proyectos como felix86 podrían ser clave para la adopción generalizada de RISC-V en ordenadores personales, entornos educativos e incluso gaming en Linux.

Más información: felix86 en messenger.es

encuentra artículos

newsletter

Recibe toda la actualidad del sector tech y cloud en tu email de la mano de RevistaCloud.com.

Suscripción boletín

LO ÚLTIMO

×