microcontroladores

Arduino VENTUNO Q ejecuta videojuegos con emulación x86

La plataforma, originalmente diseñada para IA en el borde y robótica, demuestra capacidades extendidas para el entretenimiento digital mediante técnicas de traducción de código.

El desarrollador Jim Bruges ha transformado la Arduino VENTUNO Q, una placa originalmente concebida para tareas de IA en el borde y robótica, en un sistema capaz de ejecutar videojuegos. Este esfuerzo, documentado en Hackster.io, busca poner a prueba los límites de esta plataforma con arquitectura ARM.

El principal desafío técnico residió en la incompatibilidad de las arquitecturas, dado que la VENTUNO Q utiliza núcleos ARM mientras que Steam y la mayoría de los videojuegos están compilados para x86. Bruges resolvió esta barrera mediante FEX-Emu, una herramienta que traduce las instrucciones x86 y x86-64 a ARM64 en tiempo real. Para ello, se configuró un sistema de archivos raíz de Ubuntu x86, junto con una versión x86 de Mesa y el controlador Vulkan de código abierto Turnip, que proporciona renderizado acelerado por hardware en la GPU Adreno de la placa.

Para alojar el sistema operativo, Steam y los juegos, se instaló un SSD NVMe de 1 TB en la ranura M.2 2230 de la VENTUNO Q. Esta adición no solo facilitó el almacenamiento, sino que también mejoró significativamente los tiempos de arranque, reduciendo una prueba de inicio de 9,5 segundos a 2,9 segundos tras extraer el sistema de archivos comprimido de FEX al SSD.

Las pruebas se iniciaron con Half-Life 2, un título para el que Valve ofrece una versión nativa para Linux x86. Esto simplificó la adaptación, ya que FEX podía gestionar la traducción sin recurrir a Proton. El juego se ejecutó a una resolución de 1920×1080, con tasas de fotogramas que oscilaron entre 40 y 50 FPS, aunque con caídas a unos 20 FPS en escenas de alta demanda. La activación del caché de disco de FEX también optimizó el rendimiento en ejecuciones posteriores.

Skyrim Special Edition, un juego originalmente para Windows, presentó mayores retos. Su ejecución requirió la combinación de Proton, para traducir las APIs de Windows a Linux, y FEX, para la traducción de x86 a ARM. Una incompatibilidad con la implementación DXVK 3.x de las versiones más recientes de Proton, debido a la falta de la característica Vulkan storageBuffer8BitAccess en la GPU Adreno 623 de la placa, obligó a Bruges a usar Proton 10.0, que emplea la versión DXVK 2.6.2.

Para optimizar el rendimiento de Skyrim, se redujo la resolución a 1280×720 y se ajustaron diversos parámetros gráficos como las sombras, la distancia de renderizado de objetos y el SSAO. A pesar de estas modificaciones, el juego logró un rendimiento aproximado de 20 a 30 FPS, con mejores tasas en interiores. Este proyecto ilustra que, si bien la VENTUNO Q no reemplaza a un equipo de juego dedicado, su versatilidad es superior a la esperada.

Fuente original: Hackster.io

Publicaciones Similares

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *