Background
I started using Linux in the early 1990s, first as a toy, and gradually as my primary/only OS. Aside from the cute Solitaire game, Windows 3 didn’t really appeal to me, while Linux had native support for the internet and a development environment that would let you write networked programs that could do several things at once through multitasking – a world of possibilities, which I promptly exploited.
In 2000, my employer loaned me a Linux Dell laptop. I think it was called “Geographer” or “Latitude”. It was a mess. Despite the internet bursting into popularity five years prior, you needed a separate dongle with a modem or ethernet adapter that connected directly to the main bus through a slot on the side. Once plugged in, you had to modprobe
the right driver to bring the network up. If the laptop ever went to sleep, the driver would die and you had to reboot.
I say “sleep” but it actually had three different ways to pause, with silly names like “cat-nap” and “hibernate”, each triggered by a different F-key. If you used any of them, the laptop had a 50% chance of hard-crashing, either right away, or when you tried to wake it up later. The battery drained so quickly that you couldn’t count on it lasting through a meeting.
That same year, I bought an iBook. It was my first Mac. It was very bad for coding, but it was pretty. It could play music without glitching, because there was no preemptive multi-tasking. It could connect to the network through a built-in ethernet port or wifi, without dongles. If you closed it, it paused, and when you opened it, it resumed and reconnected to the network without crashing or rebooting. It was a computer re-imagined as a tool. I fell in love.
Over the next few years, I started using Mac laptops for all development work, personal or paid, and used Linux exclusively as a server platform. By the late zeros, I wasn’t considered “quirky” for this anymore: almost all developers had moved their daily work to Mac laptops. Windows and Linux had quietly given up the (admittedly very small) tech-worker share of the market.
But for the past decade, there’s been a rising anxiety about this situation in the tech world. Apple probably didn’t intend to become the premier (or only) manufacturer of development machines, and they’ve become increasingly unsubtle about their intention to focus entirely on the highly lucrative fashion-accessory market instead. The rapid decline in laptop quality has made this palpable.
Surely in the past 20 years, the PC world has caught up enough to become a viable alternative, right? I decided it was time to give it another try.
Investigation
I’m not an Apple fanboy, so I haven’t been oblivious to the outside world. Several friends are die-hard fans of Linux and/or freedom, and for years they’ve been swearing that the water is fine, and I should dive in.
My table stakes, though, are that a candidate laptop has to pass two tests:
It can be paused by closing the lid. When the lid is opened and the screen is unlocked, it resumes without crashing.
It can remain wifi-capable for at least a week without requiring a reboot.
Apparently these requirements are still enough to disqualify most laptops, but one that gets a lot of love is the Lenovo (previously IBM) Thinkpad. More than one person has proclaimed to me over a beer that the Thinkpad is the best Linux laptop, full stop. So over the winter holidays, I read several reviews of the current model, the “Thinkpad X1”.
These reviews are nearly universally terrible.
As far as I can tell, Lenovo doesn’t actually consider this to be a Linux laptop. It’s not mentioned in their marketing materials, and they don’t offer a version with Linux installed. Instead, you’re responsible for installing a Linux distro from scratch, then hunting down and installing various custom drivers if you would like to use features like the trackpad.
I don’t think this model can work. I know Linux fans really want to believe it can, but I think laptops just contain too much custom hardware. To be a “Linux laptop”, I think the manufacturer must provide and install the right drivers at the factory. It can’t be the customer’s job to go scavenging on sketchy websites for drivers.
If you want a good experience, the laptop needs to be sold to you as a “Linux laptop”, with the explicit promise that it has an OS with drivers that have been tested and pre-installed. Surprisingly few laptop makers are doing this (yet?).
Darter Pro Hardware
I heard about System76 from an enthusiastic co-worker, and had been eyeing one of their laptops as a contender, but I was indecisive, and a few months later it had been discontinued. Then the Darter Pro was posted in February, the specs looked reasonable, and the initial reviews were positive, so I went for it.
As you can see, it’s a cool unboxing experience. There are a bunch of stickers and a welcome card inside; it looks like the expected audience is a hardware “maker” who is trying out Linux for the first time. It’s lighter than a macbook, which made it feel a flimsy at first, but it’s really sturdy and I’ve grown to like the feel of it.
The laptop is ready to use when you open it, and does some Apple-style setup screens before dumping you into a cute-looking variant of Gnome. It configured my wifi during setup, and also connected my Google and Nextcloud accounts so that my calendar and file-sharing started syncing immediately. It gives a great first impression.
The keyboard… is weird. It looks like it was designed by committee, or a machine learning system gone haywire. There’s a number keypad on the right side, which pushes the main keyboard to the left edge. There are full-sized arrow keys (yay) that are hard to find by touch (boo). Keys with no purpose, like “Scroll Lock”, “System Request”, and “Number Lock”, are resurrected from the distant past, seemingly just to fill in empty space. There are four separate function keys for controlling the brightness and hue of the keyboard backlight. 😂 That said, once you get used to holding your hands on the left side of the laptop, the keys are pleasantly tactile and feel nice to type on. I’ve had to unlearn some Mac shortcuts for delete, page up, and page down, but those keys are relatively easy to find by touch after some practice.
The screen, sadly, is not retina (also known as 4K or Hi-DPI), and it is noticeable. I don’t mind most of the time, and my friends tell me I wouldn’t want a retina display yet anyway, because X11/Gnome doesn’t support it well yet. But it means that small text in Firefox looks pretty retro and frankly bad.
I was really nervous about the trackpad, given that every PC laptop review complains about how bad they are. But it works great! Moving the pointer, two-finger scrolling, and even double-tap-drag work without editing a single config file. It works so simply and effortlessly that I’m sure it was a huge project, so: hats off to whoever hacked on trackpad support! It’s amazing!
There are two wobbly physical mouse buttons under the trackpad. They’re hard to find by touch so I rarely use them.
This laptop would like you to know it has a fan. At random times, even if nothing is happening, the fan will come on full blast for about 5 seconds and then shut off. It’s alarming but hopefully harmless? The fan seems to have no intermediate setting: it’s either off, or it’s a jet engine. Once, the fan stayed on for 8 hours and I worried that it was broken, but it turned out that I had accidentally hit Fn-1, which is a secret command to turn the fan on max power. I’m not sure why that seemed like an important feature to have, and an important feature to hide.
Relatedly, sometimes the laptop will turn off unexpectedly. It’s happened 3 or 4 times in the past two months, and doesn’t seem to be related to load, so it’s probably a firmware bug. Save early and often. On the other hand, this laptop cold-boots faster than anything, so I’m not offline for long.
The battery lasts forever. Several hours, sometimes most of a day. It has so much capacity that it takes the power brick a few hours to fully recharge it.
This is a very powerful machine. I haven’t been able to fill up its 32GB of RAM, even running several electron apps and two browsers. The fan may come on intermittently, but Minecraft is the only app that’s been able to keep it on continuously (a feat it accomplishes with equal ease on my macbook). It never approaches the macbook’s heat level either.
Software
Table stakes: It does indeed pause when you close the lid, and resume with an unlock screen when you open it again. Wifi comes back online and it doesn’t crash! (I wish this surprised me less than it does.) Usually it wakes up immediately, but occasionally it takes about 30 seconds. The syslogs make it look like sometimes the kernel doesn’t finish putting everything away before the CPU turns off, so when it wakes up again, it spends a few seconds continuing to pause before realizing that it’s supposed to be waking up now.
The OS is labeled as “Pop! OS”, which seems to be Ubuntu with a new desktop GUI, probably in reaction to Ubuntu’s floundering around Unity. My recent Linux desktop experience has been limited to xfce in virtualbox, and this is at least as good. Hitting the command key (also known as the “super” key) brings up a view of every open desktop and app, a launcher, a package installer, and a file manager which seems to be a distant descendant of Nautilus, to my embarrassment. Nothing is ugly and everything is snappy.
Apparently, while I’ve been away, Linux has migrated its command key from “Alt” to “Control”. This is a terrible idea, since many control-keys already have a defined meaning, but I can’t find any global setting to fix it back. So, for example, many text fields will interpret ^A
as “select all” instead of “start of line”, and erase everything you typed. It’s funny the first few dozen times.
This includes all terminal apps, which need to send control keys to the terminal so they can be used for their normal purposes. Most try to rebind the command keys to new places, so “copy” becomes control-shift-C or alt-C, but all this does is add to the confusion. The punch line is that few apps have any use for the “Alt” or “Command” (“Super”) keys, so “Control” does the duty of every possible meta-command, and the rest are wasted. I ended up binding “Command” to various window manager tasks, and used a tool called AutoKey to bind command-C and command-V to send either control-C or control-shift-C depending on which app is active. It’s a total hack, it feels dirty, and it makes Linux look bad.
I’m impressed with how many apps have a Linux port that works great without effort. Success stories include:
- Firefox (and Chrome)
- Slack, Discord, Telegram, Skype
- Spotify
- VS Code (and Atom)
- VLC
- Minecraft
A few that are missing:
- Sonos
- an image editor similar to Acorn (though Krita appears to be a cool paint app)
- a git visualizer similar to Tower or Fork
- a tiling terminal app similar to iTerm
The last one was very surprising. I assumed desktop Linux was primarily used by people who spend their day in terminals. Not so. Gnome-terminal has never progressed beyond the level of “demo app”, and most of the others I tried (Alacritty, Guake, Terminology) exist to show off a whiz-bang graphics trick, not to be a power tool. I settled on Terminus, which is very configurable and supports multi-pane windows.
There are also the usual glitches: once, across a reboot, the entire settings panel (which is an app) just… vanished. I had to research what it’s called and reinstall it from apt
. It was more funny than annoying.
So far, Pop! OS has never displayed a popup nagging me to change my web browser, or insisted that it needs to reboot to install an update to a video codec, so it’s an improvement over OSX from the start. It’s also, bewilderingly, able to switch apps much faster than OSX. I have my main apps each bound to a different “super” keystroke (using wmctrl
to change the active window), and when I hit one of these key combos, there’s a very short animation, and then the new app is immediately responsive. On the macbook, apps often respond sluggishly for a second or so after activation.
Summary
This review probably sounds overly critical, but I wanted to be honest about the warts and splinters, and prepare anyone else who’s thinking of taking the plunge back into the Linux world. For every flaw, there were two or three things that worked better than expected, or wowed me.
I’ve had the laptop for about two months now. During the first two weeks, I switched often between the Darter and my macbook, depending on what I was doing. Then, one morning, I noticed that the macbook was sitting on a desk collecting dust, and hadn’t been opened in days. I now use this Linux laptop almost exclusively – for everything but image editing, and I’m still holding out hope on that one.
It’s a weird little laptop, and I love it.