GEM para Linux es un proyecto de código abierto que ofrece un escritorio gráfico clásico para sistemas Linux, con ventanas, menús, diálogos, terminal, calculadora y reloj. Las aplicaciones comparten un servidor de pantalla, que puede renderizarse mediante un visor Rasta o directamente sobre el framebuffer nativo de Linux.
El proyecto está pensado para desarrolladores que quieran experimentar con interfaces gráficas tradicionales sobre hardware Linux real. Entre sus dependencias se encuentran GCC/G++, GNU Make, CMake 3.20 o superior, Git, Python 3, pkg-config, las cabeceras de desarrollo de SDL2 e ImageMagick. La compilación descarga y verifica archivos fuente pinned de Rasta y Musashi, almacenándolos en un directorio build que queda excluido del control de versiones; las compilaciones posteriores los reutilizan sin necesidad de nuevos checkouts.
La guía de uso propone abrir tres terminales y lanzar, por orden, ./bin/tools/rasta con los parámetros --inverse y --port 5000, el servicio ./bin/core/gemd y, por último, la aplicación de escritorio ./bin/samples/desktop, esperando a que gemd confirme que está escuchando. Como alternativa, desde VS Code con F5 se inician el escritorio y todas las muestras a la vez. También es posible construir y probar todo dentro de un contenedor Docker, sin las dependencias del compilador, siempre que el equipo disponga de Docker y GNU Make; la primera compilación requiere acceso a internet.
Para generar el paquete nativo de despliegue se utiliza CMake con el objetivo gemix_package en modo Release, y se copia el directorio bin/gemix resultante, por ejemplo, a /opt/gemix. La ejecución nativa exige acceso al framebuffer y a los dispositivos de entrada de Linux; la guía GEMIX_LINUX.md detalla la selección de dispositivos, las rutas de recursos y el arranque del escritorio instalado.
