This is going to be another non-Apple post, but for a good reason: As I wrote about the other day, my lovely, svelte and ultralight E111 died an accidental and ignominious death and I was left without a working “to the metal” Linux machine for low level hacking, i.e. building and flashing ESP8266 and ESP32 firmware images, messing about with network stuff, fiddling with Rust, etc.
I loved the little thing as it ran Elementary passably and was a very lightweight plastic, throwaway machine I could take with me anywhere, plus it was quite nice and distraction-free to write drafts on–in fact, most of the past two years’ posts went through it at some stage before going back to a Mac or iPad for finishing.
Finding a Replacement
Rifling through storage yielded nothing I could use besides an embarrassing amount of ancient 32-bit Atom netbooks that I am currently cleaning up and preparing to donate or recycle, so I decided to buy a replacement.
The good news is that I already had a good idea of what I wanted, since for the past year or so I have been itching to try out a Ryzen machine with an eye to using it alongside a future Apple Silicon desktop Mac. For that scenario, I was set on buying a compact desktop that could do a few things properly:
- Provide me with a fully native, GPU-accelerated Linux desktop for the sake of having a full, unfettered experience (and as a sort of long-term alternative to macOS if it ever becomes untenable…).
- Run Windows inside
KVMfor the occasional non-work thing (I have been going through personal archives, for instance, and you definitely need Windows to handle ancient file formats).
- Run Blender and Godot well enough to see if I could revisit some ideas I have (this has since been rendered somewhat moot by their both having native M1 ports, but are still useful as examples of what I couldn’t achieve on the E111).
- Maybe, just maybe, do some light gaming, in case I wanted to play something xCloud couldn’t.
But the pandemic has had an interesting effect: I am now very much resistant to spending all day in my office, and I feel a need to do some stuff someplace else.
Plus having a secondary desktop introduces all sorts of practical hassles: I would have to have some kind of KVM, it would probably turn out to be a noisy space heater, etc. And I already have a perfectly good i7 squirreled away in a closet for remoting to and building containers, running VMs and the like.
Finally, when my iMac started to fail I decided to have less stuff on my desk, so I have come to realize that realistically I don’t need more than one desktop machine, and that it is definitely going to be an utterly silent Mac mini of some sort.
AMD Has Ryzen
As it happens, some months ago I started looking at Ryzen 4000 series APUs as they started showing up on mini-ITX builds and laptops. My interest was piqued because the reviews were nothing short of amazing considering those chips had sub-45W TPUs and needed relatively little cooling.
And yet, they satisfied one of my latent needs as well–given my propensity for being involved in high-performance, low-latency services with high degrees of concurrency, I’m a sucker for multi-core CPUs, and all those APUs had excellent multi-core support, whereas my E111 only had two cores, making it hard to doodle with that kind of thing on a laptop.
Cutting a long, protracted selection process short, since my Linux machines tend to last at least as much as my Macs but feel a lot slower around their end of life, I decided to buck that trend, splurge a bit and get a Lenovo IdeaPad Flex 5 14ALC05 with a Ryzen 7 5700u, 16GB of RAM and a 512GB SSD.
I picked Lenovo because:
- The hardware is generally quite good.
- Their laptops are generally user serviceable (at least storage-wise–RAM in these models tends to be soldered to the motherboard).
- Lenovo was one of the first to actually ship Ryzen APU laptops in volume, so they were most likely to have worked out any kinks.
- They usually have above average Linux support (the ThinkPad range is extremely popular among Linux hackers, ad while that doesn’t quite yet translate across to the IdeaPad, it’s getting there).
The machine is “unapologetically plastic” but feels sturdy, even considering the hinges are designed to flip it completely into a “tent” configuration (which I have no intention of ever using).
Update, a few months later: Turns out that flpping the screen completely disables the keyboard, so I’ve actually been using it as a “tablet” occasionally with BitWig, which has full touchscreen support (rather unusual in a desktop DAW).
It comes with both a barrel jack and an USB-C connector for charging (that I can’t use for Thunderbolt video out seeing as this is an AMD machine), full-sized HDMI, and a headphone jack on the left side, plus two USB-A and a full-size (but half insert) SD card slot on the right.
The trackpad is plastic, but very nice. Not Mac or Surface-grade, but certainly good enough, and I have had zero issues with its responsiveness or feel.
Despite not being backlit (that seems to have been dropped for this year’s models, together with the fingerprint reader) the keyboard is very, very, very good, with great feel and responsiveness, and deserves a lot of praise:
As you can see above, a peculiarity of the Portuguese layout (that is also present in Apple keyboards) is that the left shift key is effectively halved to add the angle bracket key, and the ANSI Return key becomes an inverted L-shape to allow for jamming in tilde and circumflex keys.
This may seem odd, but is actually one of the sanest layouts on display at every local retailer, and I’m really glad it is this plain and functional.
Speaking of functional, the only real niggles I have with this are that the function key row (including
Esc) is rather smaller than usual even when compared to Surface keyboards, and that
Fn are swapped–but years of daily switching between Mac PC and US/PT layouts mean I hardly notice that anymore.
I have zero issues with the cursor keys (and, to be honest, prefer it to the old inverted-T shape), so the keyboard is just fine for me.
The display I have is an “unapologetically glossy” (i.e., sometimes irritatingly so) 1080p TN panel with reasonable color range that won’t win any awards.
It is serviceable–nothing more, nothing less, and par for the course for the Lenovo display lottery given that they ship whatever is on hand to retail channels, and Portugal isn’t exactly a top tier market. I did check the Lenovo site, and there aren’t that many options (BTO is not something Lenovo seems to be keen on in Europe).
But it is a touch screen, and both it and the bundled Lenovo pen “just worked”, showing up under Elementary as a Wacom device, complete with battery reporting. This meant I could instantly start drawing in OneNote web (which works fine), and that even the infamous Gimp had no trouble detecting stroke pressure.
Linux Power Management
The Ryzen 7 is a beast of a chip even in mobile editions, and I went with the 5700u because I wanted the extra cores (8, for a total of 16 threads) in something that would fit into a laptop form factor. Having those cores is handy for long Docker builds, and the integrated GPU is quite intriguing.
The power brick is rated for 65W, so I’m assuming this can sip at least that much although I’m pretty sure the TDP is supposed to be 15-30W.
Like I wrote before, I have had pretty much zero issues (other than flaky brightness controls and lack of some trackpad gestures) with running Elementary on this hardware. Every bit of the chipset just worked from day zero, and even traditionally finicky things like Bluetooth weren’t any trouble (my Logitech M720 works fine, including side scrolling).
There is an irritating exception, though, which is managing the fan (which sounds like an irate banshee whose last drop of scotch was stolen by the living when it’s going full tilt).
Right now, I can’t set a proper fan curve (or control the fan altogether) in Linux, but changing the
System Performance Mode in the
BIOS settings to
Battery Saving helped a lot, and I can barely hear the fan now unless I’m running a CPU-intensive task.
Linux battery estimates can be overly optimistic, but eventually stabilize around 7-8 hours uptime for a full charge, which is about what I’m getting with moderately intensive use. And it’s great.
The machine does get warm to the touch under load, but nothing like the Intel MacBook Air we still have around, which gets positively toasty and can actually be painful to the touch if your finger slips just between the keys on the top rows.
Windows in KVM
Although the machine ran Windows for less than 15 minutes before I installed Elementary, I decided to make sure it was available if I needed it.
After getting an installer ISO and the right
virtio driver ISO, firing up KVM and setting up a VM took less than 10 minutes from the moment it booted, which was impressive.
Getting Secure Boot working (to set up BitLocker inside the VM, which is something I need—and would be added overhead on top of full-disk encryption on the host) has been a bit of a pain, though, and I am still investigating how to get some sort of TPM working since QEMU apparently doesn’t like the passthrough device (or an emulated one), but that’s not critical.
Suffice it to say I can run Windows on this just fine if required, and that this beast of a machine hardly slows down even on battery power.
Elementary also allowed me to select HDMI for audio out and remembered all the settings (display position, audio, etc.), which was nice. I suspect Windows will fare sligthly better in terms of resolution and refresh rates, but I don’t intend to try it anytime soon.
This wouldn’t be a modern hardware review if there wasn’t at least a bit of gaming involved, although installing Steam in this machine felt like a lot of overhead and I’m not really interested in a universe where you need 25GB of storage for a single game – I much prefer playing Control on xCloud, which I can do more comfortably with a big TV.
But with the hype about Proton and Valve’s Steam Deck, I was also curious as to how Elementary would handle it, so I installed Steam twice–once from
flatpak (which failed because Proton wouldn’t run inside
flatpak), and again via a regular
And, much to my amazement, the machine ran the Windows version of Quake Champions (an old favorite of mine) at a smooth, steady 60fps, and I had zero issues (other than lack of practice playing) in getting it to work.
As far as I’m concerned, Proton is every bit as good as the hype puts it, although I can’t be bothered to download several hundreds of gigabytes’ worth of games to give it a thorough test.
But I later tried plugging it in to my LG 34WK95U-W and it worked just fine as well in battery saving mode, which I found quite remarkable:
I haven’t tried messing about with settings or playing with the laptop plugged in to power and in performance mode because I can’t abide the fans, but as a highly unscientific benchmark of what this hardware can do with both hands tied behind its back, I am very much impressed.
Something I found quite useful is that the laptop will power on just enough to and display a graphic with the battery status if you press a key when it’s shut down:
This can be disabled in the
BIOS (and only really works if you have “Boot on lid open” disabled, otherwise it hardly shows up), but so far it’s a keeper.
The Battery Bug
Finally, a real annoyance I’ve found (so far the only one): this laptop has a weird bug apparently related to fast charging, in which it will occasionally believe that power adapter is not supplying enough charge.
This will often come up when you reboot the machine with less than 30% battery, and throw up an ugly
BIOS message demanding you switch to “the manufacturer’s original power adapter” (sic) and hit
F1 to continue.
Even worse, I’ve had it happen unobtrusively and stop the machine from charging overnight, which is a major pain.
The fix for that is to reset the charging state, which you can do by:
- Unplugging the machine.
- Powering it on and hitting
Fn+F2to access the
- Disabling the built-in battery (this will set the machine to maintenance mode and power it off instantly).
- Plugging the adapter back in, after which it will charge normally (typically in under an hour).
I suspect there might be a
BIOS update for this someday, but Lenovo’s support site is absolutely hideous and existing
BIOS updates have very little (if anything) in the way of changelogs, so I might have to live with this for a fair bit.
As a (pricey, but stupendously powerful) replacement for my E111, this thing is superb, almost bordering on overkill if I didn’t consider it as an investment.
As a Linux laptop, I don’t think there are that many decent options at the same price point (although I was heavily restricted to what retailers had on hand over Summer break).
But as a general, all-in-one developer machine, I think this ticks all the boxes and is highly recommended (assuming the charging issue can be fixed).
And, of course, as an excuse for fooling around, refreshing my views on alternate platforms and generally having a lot of fun (like with Bitwig, for instance), it certainly takes the cake.
But, at least while I can still get at a terminal prompt, what I really want is a decent (post-M1) Mac, and I’ll be keeping an eye out for that in the coming months.
In the meantime, let me do some more, erm… testing with that rocket launcher…