My increasingly adequate website

OpenBSD 6.5 on an iMac G3 from 1999 (iMac,1)

In 2014 I spent $50 USD for an iMac G3 (aka the iMac,1). This is the iconic model that restored Apple's fortunes in the late 1990s. Since the iMac G3 can still boot Mac OSes 8 and 9, I intend to use the machine to relive schooldays spent poking at the operating system and playing Escape Velocity. But before I got around to that, I decided to try out the software that the previous owner had left on the machine. Even the antiquated OSX 10.2 install and 12 year old versions of Safari and Internet Explorer were too slow and old to use for anything.

But this got me thinking: could this machine even be used, really used, nowadays? I decided to try the most recent OpenBSD release. Below are the results of this experiment (plus a working xorg.conf file) and a few background notes.

iMac G3 on a desk; screen shows the minimalist cwm window manager and single dillo browser window.
My iMac G3 running cwm and dillo web browser.

Background

This iMac is a Revision D iMac G3 in grape. It's part of the iMac,1 family of computers. This family includes all tray-loading iMac G3s. (Later iMac G3s had a slot-loading CD drive and different components.) Save for having a slightly faster processor, a dedicated graphics card, and cosmetic tweaks to the case, my iMac is identical to the prior year's line-launching Bondi Blue iMac My machine has had its memory upgraded from 32 MB to 320 MB. Thank goodness.

The Revision D iMac G3 shipped with Mac OS 8.5. It can run up to Mac OS 9.2.2 or OSX 10.3.9. Other operating systems that tout support for the iMac,1 include NetBSD, OpenBSD, and a shrinking number of Linux distributions.

I chose OpenBSD. It's my favorite operating system. I like the focus on simplicity and providing as few options are as necessary. It's minimalist and user-friendly at the same time. And, for macppc, I think it's and I think it's objectively the best choice.

NetBSD can evidently run on this machine. That said, I've heard that NetBSD, despite its vaunted portability, doesn't always work well on obscure architectures. I'd test that assertion, but NetBSD's installation instructions were way more complicated than OpenBSD's. And there's probably some Linux distro left that still supports macppc, but frankly I prefer any BSD over Linux.

Installing OpenBSD on the iMac,1

Installing OpenBSD on this iMac was really simple. It's the same procedure as installing OpenBSD on an amd64 machine. You put in the installation disc. You tell the machine to boot from it by holding down command+option+o+f, then typing boot hd:,ofwboot /bsd. (This is the only complicated part, and is necessitated by the firmware, not OpenBSD.) Then the installer asks a few questions, most of which simply require you to press enter. OpenBSD recognizes all this machine's hardware just fine, including sound and networking, though I had a little trouble with video.

In the past video hasn't worked out of the box on my iMac,1. I needed an xorg.conf file, which OpenBSD does not ship. Fortunately, the BSDs use a centralized development model where each operating system's code is stored in one repository. OpenBSD's website provides a web interface to all source code going back to the start. That made it easy to find the last version of the sample xorg.conf that used to ship on macppc. With a little tweaking, I transformed that file into this sample iMac G3 xorg.conf, with which video works just fine. Just put it in your iMac's /etc/X11 directory. You'll also need to add the line machdep.allowaperture=2 to /etc/sysctl.conf.

All that said, video performance is pretty poor. I am either doing something wrong, or OpenBSD doesn't have accelerated video for this iMac, or this machine is just showing its age! (It has something like 6 MB of video ram.)

Running OpenBSD on the iMac,1

The machine performs okay under OpenBSD. You can expect to run minimalistic software under minimalistic window managers. dillo, xterm, and cmus work well enough under minimalist window managers like cwm, fvwm, or icewm. The lxqt and mate desktop environments also work but are slower.

This machine can't handle modern websites in modern browsers. Firefox, Chromium, and other big programs (e.g., LibreOffice) apparently don't compile on macppc anymore. As such, packages aren't available. I don't think that's an OpenBSD-specific problem.

Another sign of the machine's age is the 1024x768 CRT screen. Even if the machine is suitable for simple tasks like writing text, the screen is just too dim and blurry.

dillo browser on iMac running OpenBSD 6.5.
dillo and a Windows 95-themed icewm on my iMac running OpenBSD 6.5.
The lxqt desktop.
The lxqt desktop environment under OpenBSD 6.5. It's pretty slow on a 333 MHz PowerPC machine.

A few years ago I ran the Ubench benchmark on this iMac and two more modern machines also running OpenBSD. The benchmark seems like an old one. I don't know how (if at all) it accounts for hardware changes in the 21st century. That is, I don't know if the difference in score accurately measures the difference in real-world performance. Here are the results anyway:

iMac,1 with 333 MHz CPU and 320 MB RAM Intel Atom D525 with 4 GB RAM Intel Core i7 2620M with 8 GB RAM
Ubench CPU 18,058 186,441 999,657
Ubench MEM 9,647 33,643 167,294
Ubench AVG 13,852 110,042 583,475

Conclusion

Except for when I check to see how a new release of OpenBSD works, I run Mac OS9 on this rig. I have faster and better machines for running OpenBSD. If I didn't -- if this rig were, improbably, all I had left, and I was waiting on the rush delivery of something modern -- then I could use OpenBSD on my iMac,1. I'd have to stick to lightweight applications, but at least they'd be up-to-date and running on a simple, stable OS.