BookinglyTech News
Software

GEM, el escritorio de Digital Research, vuelve a Linux 40 años después

Tomaž Štih ha portado el entorno gráfico de Atari ST a Linux, con servidor de pantalla compartido y un emulador de framebuffer que lo dibuja dentro de una ventana.

2 min de lecturaThe Register0 vistas

Tomaž Štih, desarrollador esloveno, ha portado GEM a Linux. GEM es el entorno gráfico que Digital Research vendió para compatibles PC con MS-DOS y que Atari adoptó para su ST, y ahora arranca sobre el framebuffer del sistema o se dibuja dentro de una ventana gracias a Rasta, un emulador de framebuffer basado en SDL2 que firma el mismo autor. El código está publicado en el repositorio y es la segunda implementación moderna libre de Atari GEM que bebe del código de FreeGEM.

Štih explica que su port deriva de OpenGEM y FreeGEM y que lo ha dejado seguro, optimizado y estabilizado, además de compatible a nivel de código fuente con GEM de Atari ST. Las aplicaciones comparten un servidor de pantalla, que es lo que permite sacar el escritorio por framebuffer o meterlo en una ventana.

De un PC de 1985 a un binario de Linux

GEM fue uno de los primeros entornos gráficos que funcionaron de verdad en un compatible PC. Se vendió con los Amstrad PC1512 y PC1640, los primeros compatibles asequibles en Europa. En 1985 Apple amenazó con demandar a Digital Research porque se parecía demasiado al Macintosh, y la compañía recortó la versión de PC: fuera los iconos de unidad en el escritorio y las ventanas solapadas, entre otras cosas. La versión de Atari no se tocó.

Esa versión de PC recortada es la que Caldera liberó en 1999, y sobre ella lleva trabajando la comunidad FreeGEM desde entonces. Se han ido añadiendo cosas que la de Atari no tenía: el dibujo de curvas Bézier de GEM/4, los botones con sombreado 3D de GEM/5 y bastante más. No todo el código de Digital Research que circula por ahí es open source en sentido estricto; FreeGEM y la distribución OpenGEM sí lo son, y de ahí sale este port.

La otra implementación moderna que aprovecha ese trabajo es EmuTOS, un reemplazo libre de sistema operativo y de interfaz gráfica para hardware de Atari original.

Preguntado por si el port es vibe coding, Štih contesta que no. En su experiencia, esa forma de trabajar produce código inflado y mala arquitectura. Dice que usa IA, pero con diseño guiado por la arquitectura: define él la estructura inicial, implementa la primera iteración y refactoriza, y la IA se queda en el papel de desarrollador júnior mientras él responde del resultado.

GEM no va a desbancar a Wayland. Pero hay precedente de llevarlo más lejos: FreeMiNT convirtió el GEM del ST en un entorno multitarea, y MagiC, con su versión MagiCMac para Macintosh 68K, siguió un camino parecido, con el código fuente liberado después. El port está publicado y se puede compilar, que es lo único que hace falta para comprobar si un escritorio de hace cuatro décadas sigue teniendo algo que decir.