The Linux GIS workstation

Published on

Taking a break from the book fodder for a bit to talk about computers, my other love. This is kind of a long one and maybe a little nerdy. Maybe skip it if you’re not big into computers.

For the last few years I’ve been practicing open source cartography as a little side business over at fernwoodmaps.com. It’s been fun but I’ve been trying to do it with what I had, rather than the appropriate ones for the job. That tool was primarily a Raspberry Pi 5, which powered the bulk of the GIS operation, and much of the vector editing. To be clear, I’m impressed the Pi5 worked for this at all. It’s very much not what it’s for, but it got the job done.

My early experience trying to use a Pi 4 as a desktop was awful. A lot has changed with Raspberry Pi since then, and the Pi 5 hardware ended up being a perfectly capable machine to demonstrate to myself that GIS was something I was interested in. Also that I might be good enough at it to justify spending money on more suitable hardware. That more suitable hardware is a refurbished 2022 Lenovo ThinkPad T14 with 16 GB of RAM. I can expand to 48 with another stick of RAM if in a couple of years I’ve outgrown the ThinkPad but am not yet ready to shell out for premium hardware. (Support this habit! Buy a map!)

A real computer is the right one for your task, and your budget

Apple’s MacBook Neo laptop provoked some decent discourse about what a “real” computer is. Some with a vested interest in getting people to buy more expensive PCs, said it is really only for “content consumption” — not “mainstream notebook usage scenarios.” A fancy way of saying this is a toy. To these bozos, I point to my iBook G4 which in 2004, was among Apple’s lowest-end Macs.

An iBook G4 plugged in on a desk. It has an Apple Mighty Mouse plugged in beside it and an iPod sitting on top of the case.
Gotta love that date stamp I thought was really important when I was 18.

Back then $1200 (>$2000 today) got you 512 MB of RAM, 40 GB of storage, and a 1.33 GHz G4.1 Did those low specs stop me from running Final Cut Pro, ProTools, and editing hours of audio and video with it? No! Did it slow me down? Of course! Did I maybe abuse that computer doing all that? Probably! But I was in college and couldn’t afford a $2500 PowerMac G5, or PowerBook G4.2 I certainly didn’t know if anything I did with it was enough of an interest to justify that price point. (Did I also love using the G5s in the lab, absolutely.)

My philosophy has always been to buy the best computer I could afford for what I needed to do. To that end, if you need a basic Linux workstation to test out how comfortable you’ll be with it or learn a new hobby, a Raspberry Pi 500+ kit is pretty capable for regular desktop things. If you already have the keyboard, a Raspberry Pi 5 with active cooling is a good option, too. If you have an additional $300 – 400, go for something MacBook Neo range. According to a CPU comparison, the Gen 14 i5 is about the same performance as the MacBook Neo. I paid about $400 for the ThinkPad with twice as much RAM. If MacBook Neo is your price range but you want Linux, you have good options.

These are the three factors that signaled I’d outgrown it as a daily workstation:

  1. Memory and performance
  2. QGIS support
  3. Portability

Performance

First, if the only monitor you’ve attempted to use your Raspberry Pi on is a “retina” or HiDPI display, try using a regular one! I’m confident it’ll immediately feel like a different computer. There’s simply not enough memory available to power that many pixels on the Pi (maybe on the 16GB model there is?). Next, go get an NVMe and convert your Pi to boot from it. You’ll be pleased! Anyway, performance was the biggest factor that led to the upgrade to a proper laptop.

Last winter, I decided to take on the most ambitious map project I’ve done so far. It’s a detailed map of the Great Lakes and St. Lawrence River watersheds. I think it turned out pretty well but it involves styling five separate rasters (one for each lake), plus an XYZ tile basemap, and millions of vectors for all the lakes, streams, watershed boundaries, urban areas, etc.

It brought the Pi to its knees. To load the entire map, I’d disable rendering, then uncheck all layers, rëenable rendering, then one-by-one, turn different layers back on. Detailed edits eventually led to long waits or all out crashes—lost work. I ended up moving the whole project to my work Mac to finish it.

A detailed map of the great lakes and St. Lawrence river watersheds.
Looks good, right? Go buy it!

I don’t love using my work machine for personal projects. I’ll log into my personal email and small stuff like that to reference things while I’m at work, but I don’t like going the other way round. With that said, using an M3 MacBookPro immediately revealed the benefits I’d get with upgrading from the Pi: Twice as much memory, high power CPU with more cores, and dedicated graphics memory. It was like using the G5s in the media lab in college over my iBook.

I learned a lot about how computers work in all of this, in particular how memory is shared and resourced across a system. Take the desktop environment, for example. Raspberry Pi OS ships with a lightweight Wayland desktop environment. It’s designed for low power machines like the Pi and consequently lacks many common features that mattered to me (screen locking, display management, etc.). I installed GNOME for a more full-featured desktop environment but it came at the expense of memory available to the system. That 8GB of memory is all the Pi has for everything. This laptop has a GPU with dedicated memory separate from the system memory.

A desk with a monitor on an arm, a laptop on an arm-mounted stand, headphones hanging next to the laptop, and a keyboard and trackball mouse.
Fast forward 22 years and this is the current setup. Yes, I still have the default background for Ubuntu 24.

Again, all expected and intentional from a low power device like the Pi. It only uses 15W! I was legitimately impressed it managed as well as it did. For my Door County map, I used Affinity on my Mac for pre-production layout but the GIS work was entirely on the Pi. It’s a simpler map: One raster, a few vector layers, but still a big file to export and work with. I bet I’d spend a little less time waiting on rendering if I did it on the T14.

QGIS Support

The only way to install QGIS on a Raspberry Pi is with Flatpak, which is pretty neat. It bridges architecture support by compiling every application’s manifest in the Flathub build farm. It means QGIS doesn’t have to support ARM, they just have to tell Flatpak how to build it. I mostly understand it.

The problem was I’d forget this every time there was a QGIS update. If it weren’t the only Flatpak app I ran, maybe I’d have remembered it sooner, but it was frustrating to think through and rule out all the different possibilities every few months. Plus, I never figured out how to run the long-term release, which, as I’m still learning, I prefer over the most cutting edge.

The project has an official PPA for QGIS on Ubuntu (and Debian) but only for x86-64 processors. It’s much easier to install and keep updated on the long term release, and feels more predictable right now. It’s possible that running multiple package managers is just part of the Desktop Linux experience, but for now I’ll cross that bridge when I come to it.

Portability

The Pi is tiny. The footprint of a credit card, height of a business card, even with an NVME base and case. It’s still a desktop, though, so you can only use it where you have the keyboard, monitor, and mouse all set up. I’d get stuck in my office when I didn’t really need or want to be. I couldn’t bring my GIS projects on the road. I couldn’t go to my co-working space if I needed to without fully shutting down—and I better not forget the mini-HDMI cable. This laptop is, well, a laptop. It has better HiDPI support for when I’m at home, and a decent trackpad and display for when I’m not.

If Raspberry Pi ever made a laptop, that’d be neat: A good device for many novice to advanced beginner users. If they could come in below the MacBook Neo, it could be a good option for K12 schools to issue to students and classrooms instead of Chromebooks.

Why not a refurbed Macbook?

I like Macs; I’ve been an Apple user my entire adult life. Their hardware is world class, but it’s difficult to find a capable M series MacBook with 16GB or more RAM and a 1TB disk on sale for less than $600, and I wasn’t ready to spend that kind of cash. I did not have a great experience with QGIS on an M1 MacBook Air the last time I tried. I could spend about $200 less on an upgrade-able machine if I went PC.

Plus, I’m trying to do this open source thing as much as possible. The Fernwood Maps website is WordPress and WooCommerce. QGIS is open source. I try to use public domain or open source data sets where possible. I have an Affinity license and a Windows VM but I try to do as much finishing work in Inkscape as I can. I like knowing that I could switch back to Mac some day, but for now I want to try my hand with the FOSS cartography stack all the way down to the OS on my workstation. I also think it’d be good to foster PC skills in case I ever want or need to use ArcGIS some day.

So far so good

It’s kind of funny to be using a ThinkPad for the first time in more than two decades. It has a TrackPoint, my dad’s preferred laptop pointer. It’s made by Lenovo, not IBM, but otherwise looks and feels at home with, if considerably less chonky than, the 2002 ThinkPad T30 in my laptop museum (read: A shelf in my office).

Setup was pretty easy, and the refurbishers did a good job. The first thing I did was swap the 256GB SSD built-in with the 1 TB drive I’d been using on the Pi. Then I installed Ubuntu off an SD Card reader, which was slick. A couple “Linuxy things” came up in the first couple of weeks, but nothing I couldn’t solve with a mix of Claude and the regular internet’s help. One example: The TouchPad would give out on suspend and it turns out it’s because I (intentionally) hadn’t installed the firmware updates.3 Other than that: Smooth sailing.

I’ve loaded and edited the Great Lakes map project already. It’s still a huge project but my mission to spend less time waiting on and crashing QGIS was a success. Maybe I’ll upgrade the RAM if I ever make any money on this. Now I just have to figure out what’s next.

Today, the pi is in home server mode. I already put it to work doing other things. It’s a media server, mostly, and on the tailnet so I can access it from anywhere.

  1. The 12″ version started at $999, the default price point for Apple until the Neo. ↩︎
  2. Bring back the late 2004 Powerbook G4’s heavenly keyboard, you cowards. ↩︎
  3. Supposedly some users had their second RAM slot give out on them with the latest T14 firmware. Hopefully I’m not one of them but only time will tell. ↩︎

Comments

34 responses to “The Linux GIS workstation”

To respond on your own website, enter the URL of your response which should contain a link to this post’s permalink URL. Your response will then appear (possibly after moderation) on this page. Want to update or remove your response? Update or delete your post and re-enter your post’s URL again. (Find out more about Webmentions.)