The Lenovo IdeaPad Flex 5

This is going to be another non-Apple post, but for a good reason: As I wrote about , my lovely, svelte and ultralight died an accidental and ignominious death and I was left without a working “to the metal” machine for low level hacking, i.e. building and flashing and firmware images, messing about with network stuff, fiddling with , etc.

I loved the little thing as it ran 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 desktop for the sake of having a full, unfettered experience (and as a sort of long-term alternative to if it ever becomes untenable…).
  • Run Windows inside KVM for the occasional non-work thing (I have been going through personal archives, for instance, and ).
  • Run and 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 ).
  • 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 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 , 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 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).

Getting Physical

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 , 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:

A close-up of the keyboard, for your amusement.

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 Ctrl and 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.

Touchscreen

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 as a Wacom device, complete with battery reporting. This meant I could instantly start drawing in web (which works fine), and that even the infamous 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 , I have had pretty much zero issues (other than flaky brightness controls and lack of some trackpad gestures) with running 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.

Just after a charge cycle, in Battery Saving setings.

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.

Secure enough, with BitLocker enabled to boot (if you'll pardon the pun).

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.

External Monitors

I have of course tried it with my , and although does not seem to want to let me select 30Hz as a display rate, it supports a decent enough resolution at 60Hz:

This is a bit fuzzier than what I can get out of the Mac on this display, but perfectly serviceable.

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.

Gaming

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 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 .deb.

And, much to my amazement, the machine ran the Windows version of Quake Champions (an ) 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 and it worked just fine as well in battery saving mode, which I found quite remarkable:

Those 47 fps were actually on the low end, and windowed mode didn't have any practical effect on performance.

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.

Niceties

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:

Every laptop should have this.

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+F2 to access the BIOS.
  • 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.

Conclusion

As a (pricey, but stupendously powerful) replacement for my , this thing is superb, almost bordering on overkill if I didn’t consider it as an investment.

As a 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…

This page is referenced in: