Словенский разработчик Томаж Штих перенёс в Linux графическую среду GEM, которую Digital Research выпустила в 1985 году и которая стала знакома многим по компьютерам Atari ST. Современный порт GEM умеет выводить рабочий стол напрямую на экран, без X11 и Wayland. Для запуска самой среды не требуется эмулировать старый компьютер целиком.
GEM for Linux поддерживает окна, меню и диалоговые формы, а в комплект входят терминал, калькулятор и часы. Рабочий стол показывает диски и папки, встроенный файловый менеджер позволяет просматривать каталоги и сортировать содержимое по имени. Приложения используют общий графический сервер gemd, который обслуживает интерфейс. Под оформлением из эпохи ранних персональных компьютеров работает обычная Linux-система.
Самостоятельный режим опирается на framebuffer, интерфейс ядра Linux для доступа к экранному буферу. Среда формирует изображение без X-сервера или композитора Wayland, а события клавиатуры, мыши и сенсорных устройств получает через подсистему evdev. Для работы нужны поддержка framebuffer в системе и права доступа к устройствам экрана и ввода. Графика самого GEM пока остаётся монохромной, даже на цветном дисплее.
Для запуска внутри привычного рабочего стола предусмотрена Rasta, ещё одна программа Штиха. Библиотека SDL2 помогает Rasta показать экранный буфер GEM в отдельном окне и передать нажатия клавиш и движения мыши. Оконный режим удобен для знакомства со средой и разработки приложений. Полная независимость от X11 и Wayland относится к прямому выводу через framebuffer, поскольку окно SDL2 может пользоваться графической системой, уже работающей на компьютере.
Происхождение кода требует отдельного уточнения. Штих взял за основу FreeGEM и OpenGEM, открытые продолжения GEM для DOS, и заявляет совместимость с Atari ST GEM на уровне исходников. Такая совместимость помогает переносить программы и собирать версии для новой среды, но сама по себе не гарантирует запуск готовых приложений со старых дискет.
Для исполняемых файлов Atari в дереве примеров предусмотрен отдельный эмулятор Stout, использующий процессорное ядро Musashi. Документация прямо отделяет Stout от основы графической среды, которая от Musashi не зависит. Поэтому перенос GEM и эмуляция старых программ решают разные задачи. Разработчики также могут собрать собственные приложения с помощью входящего в проект набора библиотек и заголовочных файлов.
Сейчас документация предлагает собирать GEM for Linux из исходников. Для обычной сборки нужны инструменты разработки, включая GCC, Make и CMake, а альтернативный вариант использует Docker. Самостоятельную версию устанавливают отдельным каталогом и настраивают доступ к экрану и устройствам ввода. Порт уже позволяет экспериментировать с рабочим столом и приложениями, но требует больше ручных действий, чем выбор готовой графической среды в установщике дистрибутива.
У GEM необычная предыстория. В 1980-х среда существовала и на Atari ST, и на совместимых с IBM PC компьютерах. Сходство интерфейса с Macintosh вызвало претензии Apple, после которых Digital Research урезала версию для PC. В GEM/2 рабочий стол ограничили двумя окнами фиксированного размера, убрали корзину и перенесли значки дисков в отдельное окно. Версия Atari сохранила иной набор возможностей.
В 1999 году Caldera открыла исходный код PC-версии GEM под лицензией GPL. Сообщество FreeGEM затем вернуло перемещаемые окна, расширило настройки оформления и добавило другие функции. Linux-порт продолжает именно открытую ветку разработки, которая за десятилетия заметно изменилась по сравнению с оригинальным интерфейсом 1985 года.