Doom a 60 FPS, ventanas e SSH: convierten el diminuto ESP32‑P4 en un ordenador rea

Doom a 60 FPS, ventanas e SSH: convierten el diminuto ESP32‑P4 en un ordenador rea

Un aficionado demuestra que no siempre hace falta hardware potente para lograr resultados impresionantes.

image

Una placa del tamaño de la palma se convirtió en un ordenador con ventanas, juegos y acceso remoto. El desarrollador Jason Howard presentó BMDS (Bare Metal Do Stuff), un entorno operativo autónomo para ESP32-P4. El sistema muestra un escritorio a 1280×720 a 60 Hz, soporta ratón y teclado, ejecuta programas desde una tarjeta SD y permite conectarse por SSH.

BMDS se basa en FreeRTOS del conjunto ESP-IDF, no en Linux. Sobre el núcleo el desarrollador creó controladores, un sistema de ventanas, un gestor de archivos, un intérprete de comandos y un cargador de aplicaciones ELF. En su arquitectura el proyecto se aproxima más al DOS clásico: un único usuario y las aplicaciones obtienen acceso directo a los recursos. La interfaz con barra de tareas, iconos, temas y ventanas recuerda a los sistemas de escritorio de los años 1990.

El sistema se compiló para la Olimex ESP32-P4-PC con dos núcleos RISC-V a 360 MHz, 768 KB de memoria interna y 32 MB de PSRAM. La placa, de 90×60 mm, incluye USB-C para alimentación y flasheo, HDMI, cuatro puertos USB, Ethernet, ranura para microSD y salida de audio. Olimex vende la placa por 24,95 euros, sin monitor, almacenamiento ni dispositivos de entrada.

Entre las aplicaciones hay un puerto de Doom con niveles de Freedoom y música reproducida por el sintetizador propio de BMDS. El autor afirma una velocidad de juego de hasta 60 fotogramas por segundo. Aunque Doom se ejecutó antes incluso cargándolo por DNS, en este caso el juego forma parte de un entorno operativo completo. También están disponibles solitario, juegos de cartas y una aplicación para trabajar con audio.

BMDS puede reproducir MP3, FLAC, Ogg Vorbis y MIDI, admite síntesis FM y el envío de MIDI por USB y por red. El terminal funciona localmente y por SSH, el servidor SFTP abre acceso a los archivos, y las versiones porteadas de BusyBox y Dropbear aportan comandos Unix familiares. Mediante el gestor pkg se pueden instalar aplicaciones y dependencias por HTTPS, y el actualizador integrado actualiza el firmware.

Para el desarrollo hay un SDK en C y un editor integrado de scripts AngelScript. Un script escrito en la placa se ejecuta en una ventana separada sin compilación en el ordenador. Un compilador C completo dentro de BMDS está planeado pero aún no existe. En la versión 0.2.0, publicada el 8 de noviembre, se añadieron un editor de presentaciones, demostraciones de gráficos y sonido, y una aceleración para la pantalla completa de imágenes.

La compatibilidad por ahora se limita a un modelo de placa y a revisiones tempranas del ESP32-P4, incluida la v1.3. Para los chips v3.x se necesita una compilación separada que el autor aún no ha probado. Solo se admite el modo 720p, y las distribuciones de teclado distintas de la estadounidense siguen sin pulir. La placa no tiene Wi‑Fi ni Bluetooth, por lo que la conexión de red funciona por cable Ethernet.

BMDS no aísla la memoria entre aplicaciones, por lo que la falla de un programa puede detener todo el sistema. Los paquetes y las actualizaciones se firman con una clave de desarrollo cuya parte secreta está accesible para todos. La firma permite comprobar la integridad, pero no autentifica al autor de la compilación. Existe también un modo de claves de confianza. El código fuente está abierto bajo la licencia MIT; el proyecto sigue siendo experimental.