Tech

Digital Research’s GEM opens a new window on Linux

Published

on

SOFTWARE

A radical new way to resolve the Gordian knot of X11 versus Wayland

Digital Research’s GEM was one of the earliest graphical environments for PC compatibles, and an inspired hack has now resurrected it on Linux.

Advertisement

GEM for Linux is a port of the Atari ST’s graphical desktop, created by prolific Slovenian developer Tomaž Štih.

Applications share a display server that can output directly through Linux’s framebuffer or display the desktop in a window using Štih’s SDL2-based Rasta framebuffer emulator.

In his Linkedin post, he says that it is “derived from OpenGEM and FreeGEM – now secure, optimized, stabilized, and source-compatible with Atari ST GEM.”

It is derived from the Digital Research GEM source code released by Caldera in 1999, as the still-young Register reported at the time.

Advertisement

GEM was among the first successful GUIs for MS-DOS PC compatibles. European readers may remember that it was the graphical desktop bundled with the Amstrad PC1512 and PC1640 – the first affordable mass-market PC compatibles on this side of the Atlantic.

In 1985, Apple threatened legal action against Digital Research over GEM’s similarity to the Macintosh interface. Digital Research agreed to make the PC version less Mac-like, removing desktop drive icons, overlapping windows, and other features. The lawsuit didn’t affect Atari’s version, however.

That PC version is what Caldera released as open source. Since 1999, the FreeGEM community has enhanced it beyond the ST version, restoring the removed features and adding others. These include Bézier curve drawing from the runtime-only GEM/4 bundled with CCP Artline and 3D-shaded buttons from Timeworks Publisher’s GEM/5 runtime. You can see some of the results on John Elliott’s FreeGEM page.

GEM for Linux running inside Rasta: GEM, with a Linux shell prompt in a window

As far as we know, this is the second modern FOSS implementation of Atari GEM to benefit from the FreeGEM source code. The other is the remarkable EmuTOS project, a completely open source replacement operating system and GUI for original Atari hardware that we mentioned in 2022. Atari’s TOS combined GEMDOS, derived from Digital Research technology, with a modified version of GEM for its graphical interface.

Advertisement

Quite a lot of DR source code is available online, but despite the clarification of CP/M’s legal status that we covered in 2022, much of it is not strictly open source. FreeGEM and the OpenGEM distribution are.

Back in the 1980s, DR had a multitasking version called X/GEM for FlexOS, whose history we described later in 2022. We find it delightful to see some of DR’s multitasking ambitions revived nearly 40 years later.

We don’t expect GEM to render Wayland obsolete or usher in a new era of Atari-inspired Linux development. We wouldn’t hate that, but there is precedent for taking GEM further. Third-party development eventually turned ST GEM into a multitasking environment in its own right, called FreeMiNT.

There was also a commercial multitasking GEM-compatible operating system called MagiC, with a 68K Macintosh version called MagiCMac. Its source was later released publicly, and development continues in the Atari portions of the code.

Advertisement

We asked Štih the inevitable question: was GEM for Linux vibe-coded? Štih replied: “No. In my experience, vibe coding tends to produce code bloat and poor architecture.

“I use AI, but I practice architecture-driven design. I define the initial architecture, implement the first iteration, refactor, and repeat.

“For me, AI is still a junior developer. I remain in control, and I’m ultimately responsible for the architecture and the quality of the code.” ®

Source link

Advertisement

You must be logged in to post a comment Login

Leave a Reply

Cancel reply

Trending

Exit mobile version