The project
macXserver is a modern X11 server for macOS written in Swift. I built the first usable version in 30 days as a personal challenge. What it focuses on:
- Display scaling that doesn’t change your desktop resolution. Pick a comfortable size for X windows independent of the rest of the desktop.
- Anti-aliased fonts only. No legacy bitmap rendering. The xterm sitting on the Mac desktop should look as good as iTerm2.
- X windows are first-class macOS windows. Real
NSWindowper top-level. Optional Motif-style frame when you want it. - Session capture and replay built in. Every wire interaction with the server can be recorded to a
.xtapfile and replayed against another server. Useful for debugging; useful for documenting how a real X client behaves.
The source is on GitHub. The 30-day ledger is the day-by-day record of what landed.
Why
I have a collection of vintage Unix workstations documented at OldSilicon.com. When I want to do real work, I’m usually at my Mac, but a couple of times a week I want to display an xterm or quickplot from one of the Suns and have it sit comfortably next to my native apps. The retro experience is great when I’m sitting in front of the original CRT; it’s not great when I’m forcing my modern Mac to pretend to be a 1995 Sun.
Quickplot in particular is mine. I wrote it as a flight-test plotting tool in 1990–91 when I was a contract engineer at NASA. The first version was raw Xlib; the second used Motif as the widget foundation with Xlib for the graphing surfaces. NASA still ships it. I want to be able to run it on my Mac and have it look right.
About me
I’m Todd Vernon. I retired from running software companies, I do some angel investing, and I keep a vintage computer collection that I document at OldSilicon.com. I have a deep technical background going back to NASA flight control software, and I’ve shipped software in C++, Swift, Python, and a few other languages along the way.
Reach me via the GitHub repo or through OldSilicon.com.