My increasingly adequate website

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

A while ago I spent $50 for an iMac G3 (aka the iMac,1). This is the iconic model that restored Apple's fortunes in the late '90s. Since the iMac G3 can still boot Mac OSes 8 and 9, I intend to use the machine to relive childhood 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. Updating to newer software would only exacerbate that problem, and is almost impossible anyway; a later OSX (which I can't run) is required for what little PowerPC-compatible software still languishes on forgotten download sites.

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.


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 pgraded 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, but 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 BSD over Linux.

Installing OpenBSD on the iMac,1

Installing OpenBSD on this iMac was simple. It's the same procedure as installing OpenBSD on an amd64 rig. You put in the installation disc; you tell the machine to boot from it; and then you answer a few prompts, most of which simply ask you to press enter. In this case, OpenBSD recognizes all 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 and xorg.conf file, which OpenBSD does not ship. Fortunately, because 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. I was able 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 drop it into your iMac's /etc/X11 directory. You'll also need to add the line machdep.allowaperture=2 to /etc/sysctl.conf, although the installer will do that automatically if you answer yes to the question about whether you plan to run X.

All that being 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! I will discuss performance below.

Running OpenBSD on the iMac,1

The machine performs okay under OpenBSD. You can expect to ably 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 rather slower.

I can say from past experience that this machine can't handle modern websites in modern browsers. But that's a moot point today -- 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 when this machine is fast enough for a task (like writing text), that screen is just too dim and blurry. It compounds the misery.

dillo browser on iMac
running OpenBSD 6.5.
dillo and a Windows 95-themed icewm on my iMac running OpenBSD 6.5.

Lightweight window managers work okay, as you'd expect. You can even run heavier desktop environments, such as xfce, mate, or lxqt, though you'll give up a lot of performance.

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 past 13 years. 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


Except for when I check to see if OpenBSD still 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 would 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.