Digital Research 的 GEM 是 PC 兼容机最早的图形环境之一,而一次灵光乍现的极客行动现在将其在 Linux 上复活了。
用于 Linux 的 GEM 是 Atari ST 图形桌面的移植版,由多产的斯洛文尼亚开发者 Tomaž Štih 创建。
应用程序共享一个显示服务器,该服务器可以直接通过 Linux 的帧缓冲(framebuffer)输出,或者使用 Štih 基于 SDL2 的 Rasta 帧缓冲模拟器在一个窗口中显示桌面。
他在 LinkedIn 的帖子中表示,它是“派生自 OpenGEM 和 FreeGEM——现已安全、优化、稳定,并且与 Atari ST GEM 源代码兼容”。
它源自 Caldera 于 1999 年发布的 Digital Research GEM 源代码,正如当时年轻的媒体所报道的那样。
GEM 是 MS-DOS PC 兼容机最早成功的 GUI 之一。
欧洲读者可能还记得,它是捆绑在 Amstrad PC1512 和 PC1640 上的图形桌面——这是大西洋彼岸第一批价格实惠的大众市场 PC 兼容机。
1985 年,苹果公司因 GEM 与 Macintosh 界面的相似性而威胁要对 Digital Research 采取法律行动。
Digital Research 同意让 PC 版本的外观更不像 Mac,移除了桌面驱动器图标、重叠窗口和其他功能。然而,这场诉讼并未影响 Atari 的版本。PC 版本正是 Caldera 以开源形式发布的内容。
自 1999 年以来,FreeGEM 社区在其超出 ST 版本的范围上进行了增强,恢复了被删除的功能并添加了其他功能。
其中包括 CCP Artline 捆绑的仅运行时 GEM/4 中的贝塞尔曲线绘制,以及 Timeworks Publisher 的 GEM/5 运行时中的 3D 阴影按钮。
你可以在 John Elliott 的 FreeGEM 页面上看到部分成果。
据我们所知,这是第二个受益于 FreeGEM 源代码的 Atari GEM 现代 FOSS 实现。
另一个是卓越的 EmuTOS 项目,这是一个完全开源的替代操作系统和 GUI,适用于我们在 2022 年提到过的原版 Atari 硬件。
Atari 的 TOS 将源自 Digital Research 技术的 GEMDOS 与用于其图形界面的修改版 GEM 结合在一起。
网上有相当多的 DR 源代码,但尽管我们在 2022 年报道了 CP/M 法律地位的澄清,其中大部分并非严格意义上的开源。而 FreeGEM 和 OpenGEM 发行版是开源的。
早在 20世纪 80 年代,DR 就有一个名为 FlexOS 的多任务版本 X/GEM,我们在 2022 年晚些时候描述过它的历史。
我们很高兴看到 DR 的一些多任务雄心在近 40 年后得以复苏。
我们并不指望 GEM 会让 Wayland 过时,或者开启一个受 Atari 启发的 Linux 开发新时代。我们不会讨厌这样,但将 GEM 进一步发展的先例是存在的。
第三方开发最终将 ST GEM 本身变成了一个名为 FreeMiNT 的多任务环境。
还有一个名为 MagiC 的商业多任务 GEM 兼容操作系统,其中包含一个 68K Macintosh 版本称为 MagiCMac。
其源代码后来被公开发布,并且代码的 Atari 部分仍在继续开发。
我们问了 Štih 一个不可避免的问题:Linux 版的 GEM 是用 vibe 编码(vibe-coded)写出来的吗?Štih 回答:“不是。以我的经验,vibe 编码往往会产生代码臃肿和糟糕的架构。我使用人工智能,但我实行架构驱动的设计。我定义初始架构,实现第一次迭代,重构,然后重复。对在我看来,人工智能仍然是一名初级开发人员。我掌控一切,并最终对架构和代码质量负责。”®