Los chicos de Eltech nos han dado una licencia de Exagear 2, un emulador de x86 para Raspberry Pi que como gran novedad viene con aceleración 3D.
Desde hace unos meses, los controladores libres para la GPU de Raspberry Pi han empezado a explotar la aceleración 3D. Eso está multiplicando las posibilidades de la placa y una de esas posibilidades se ha materializado en la segunda versión de Exagear.
Este análisis se presenta como anexo al capítulo 6 de nuestra extensa guía de Raspberry Pi. Entonces se probó este programa y los resultados fueron realmente buenos teniendo en cuenta las limitaciones de la placa y de que a fin de cuentas, es un emulador. Para las nuevas pruebas se ha usado una Raspberry Pi 3 a estrenar junto a una tarjeta SD de 16Gb Gskill de clase 10 con Raspbian actualizado.
Por defecto, en Raspbian el controlador KMS para OpenGL viene desactivado (en realidad todavía está un poco verde para entrar en producción) por lo que hay que activarlo desde el configurador de Raspbian:
sudo raspi-config
Al ejecutar esa linea, debe aparecer la pantalla de configuración en modo texto. En este punto es importante recalcar que Raspbian debe estar actualizado.
Una vez ahí, nos vamos a «Advanced Options» > «GL Driver» > «GL (Full KMS) OpenGL desktop driver with full KMS». Al aceptar deberemos reiniciar el sistema. Cuando tengamos esto listo, tan solo hay que instalar Exagear 2 empleando un sencillo script que proporciona el desarrollador.
Cuando está instalado, al igual que en la anterior versión, tan solo tenemos que teclear ‘exagear’ y de una forma un poco «mágica» estaremos ante una máquina x86.
Una vez ahí, podemos hacer cualquier cosa que haríamos en un PC con Debian, inclusive instalar Wine usando apt-get o instalar Steam para Linux. En estas pruebas no se han hecho mediciones de rendimiento de la CPU ya que en este aspecto no se han anunciado grandes mejoras. Nos hemos centrado exclusivamente en intentar ejecutar los juegos 3D que se intentaron con la anterior versión.
Como podéis comprobar en la guía de Raspberry Pi, aunque el rendimiento de la CPU era decente, el rendimiento gráfico de la primera versión de este emulador era bastante pobre incluso en juegos en los que no se hacía uso de aceleración 3D. Por otra parte, fue imposible usar Steam: ni la versión nativa para Linux ni la versión para Windows sobre Wine por problemas gráficos.
Counter Strike 1.5
Empecemos por un clásico bastante versátil. Counter Strike 1.5 fue la última versión antes de que el juego se integrara en la plataforma Steam. Eso significa que no necesita el programa de Valve para funcionar, lo que evita posibles problemas de compatibilidad. Además, el motor gráfico permite dos modos: OpenGL y DirectX. Debido a que la aceleración gráfica nativa de Raspberry Pi es OpenGL, se ha elegido este modo. La resolución es de 1024×768 y el resultado se puede ver en el siguiente video:
Como se observa, nos movemos en todo momento en tasas de fotogramas de dos cifras, lejos de la fluidez total pero también muy lejos del rendimiento penoso de la anterior versión. Recordemos: estamos usando un núcleo a 1.2GHz de un procesador ARM v7 con una GPU bastante limitada y con memoria compartida. Además la máquina x86 está siendo emulada y el entorno Windows está siendo abstraído por Wine. Después de tantas etapas sólo se puede sacar una conclusión: bastante impresionante.
Steam
Steam es la plataforma de distribución de juegos de Valve. Gracias a que existe un cliente nativo para Linux, el poder instalar este programa abriría la puerta a unas cuantas posibilidades. En Exagear 1 no fue posible su ejecución. En Exagear 2 el resultado es este:
Nos encontramos ante una interfaz relativamente fluida, muy manejable y con una usabilidad equivalente a un PC. Recordemos que esto es una modesta Raspberry Pi.
Counter Strike 1.6
El siguiente paso natural es comprobar si una versión reciente del clásico funciona. Desafortunadamente, cuando el juego empieza a cargar, se cae el servidor X. Tan solo es posible moverse por los menús iniciales.
El fallo se debe probablemente al controlador de la GPU. Este se está desarrollando por ingeniería inversa y tiende a provocar todo tipo de fallos.
Half Life 2
El motor Source supone un salto cualitativo muy importante con respecto al Goldsrc de Counter Strike 1.x. El poder ejecutar Half Life 2 o cualquiera de los juegos basados en Source sería un gran logro. Lamentablemente al intentar lanzar Half Life 2 nos aparece el clásico mensaje que sale con la mayoría de controladores gráficos libres:
No hubiera hecho falta conseguir que funcionara para saber que el rendimiento va a ser pobre. Si Goldsrc va muy justo, está claro que Source no va a ir nada bien. Pero hubiera estado muy bien poder ver Half Life 2 moviéndose en una Raspi ¿verdad?
Conclusiones
Eltech ha marcado un hito con esta nueva versión de su emulador. La aceleración 3D de Raspberry Pi es algo muy cacareado pero muy poco aprovechado. Tener la posibilidad de usarla como si de una máquina x86 se tratara, abre un montón de posibilidades. En esta breve review tan solo se ha probado con éxito Counter Strike 1.5, pero cualquier que haya jugado en varios PCs, se hace una idea de sus requisitos y de la potencia gráfica que ofrece el tándem Raspberry Pi 3 + Exagear 2.
Aquí la cuestión está clara: ¿es esto práctico? Tengamos en cuenta que hay placas base con procesador x86 por menos de 60€ impuestos incluidos. Si añadimos una cantidad mínima de memoria nos encontramos con un coste total de 72€ y si incluimos una fuente de alimentación y un disco duro básico acaba en unos 120€. Con este PC se puede mover Source con soltura y ya no digamos otros programas que en una Raspberry Pi no van tan fluidos.
Una Raspberry Pi 3 con fuente y tarjeta de memoria cuesta en torno a 70€. Si sumamos los 25€ de Exagear 2 acaba en 95€. Es obvio que el PC de 120€ tiene un rendimiento y una capacidad de almacenamiento muchas veces superior a la Raspberry Pi 3.
Pero no hace falta echar demasiadas cuentas para llegar a esa conclusión. Exagear 2 es un programa para jugar con Raspberry Pi, para probar, experimentar y ver de qué es capaz algo tan pequeño y de un consumo tan reducido. Queda claro que no es una placa para jugar a juegos sino para jugar con la placa en sí.
Otro tema a parte son los programas, herramientas y servicios que se pueden poner en marcha con Exagear. En ese caso se puede convertir en una posibilidad muy interesante si nos preocupa el espacio, el consumo y no tener un dispositivo para cada cosa.