Running Ubuntu Linux on Bleeding Edge Hardware – Lenovo L14 Gen 2 – Part 1

And again there was a choice to make for another Linux notebook. This time, the main requirement was to get the latest CPU architecture at the risk of some rough edges that might be fixed later-on. As Lenovo usually has good Linux support, my choice fell on a Lenovo L14 Gen2 with an 11th generation Intel i5-1135G7 CPU with 4 cores and 8 threads. And I guess I got what I wanted, some excitement and adventure along the way.

Like previous notebooks, I bought this notebook without a pre-installed operating system, as I’ll obviously only run Linux on it. It must have been available for some time already, but it was only reviewed a few days before I bought the device by Notebookcheck (in Germany, no English translation of the article yet available). From a hardware point of view, it has the latest i5 CPU generation available for notebooks at the moment and came with 16 GB of RAM. There’s two RAM sockets with one still free for upgrades in the future. The downside of the hardware was the Realtek Wifi adapter, which does not have good Linux support. Shame on Realtek! But I was aware of this before I bought the notebook, so one of the first things I did was to replace the Wi-Fi card with an Intel AX200, the royal gold standard from my point of view when it comes to Wi-Fi and Linux support these days. For 20 euros, it’s not much of an additional cost.

Getting a basic Ubuntu 20.04 with a Linux 5.11 kernel up and running on the machine is pretty smooth. All hardware (except the Wifi) was detected automatically, and one can work with the device straight away. This could be the end of the story, if it weren’t for two details that kept me a bit busy for a while.

While Suspend/Resume works out of the box, it’s only Suspend to Idle and not Suspend to RAM. On the upside, suspend/resume works very quickly in this mode, but a significant downside is the 4 watts power consumption, which quickly drains the 45 Wh battery. Don’t expect to get more than 10 suspend hours without a power supply out of it.

But it’s a Lenovo, I thought, so I can probably activate Suspend to RAM, or Suspend to S3, as it is sometimes called, in the BIOS. But I couldn’t find any option for it. So perhaps a BIOS update would do the trick? I thus ran fwupdmgr to see if a BIOS update was available. Unfortunately, this ended up in an error message:

WARNING: UEFI ESP partition not detected or configured
See https://github.com/fwupd/fwupd/wiki/PluginFlag:esp-not-found for more information

While this puzzled me at first, I found out after a while that this was my own mistake. I have prototype installation for new notebooks which I use with Clonezilla to quickly set-up a new system. Before running Clonezilla, I prepare the necessary UEFI, root, and data partitions with gparted. Over the years, I noticed that while it might be good practice to set the ‘ESP’ partition flag for the EFI partition, it’s not strictly required. So I didn’t, which is why fwupdmgr failed. After setting the ‘ESP’ flag of the EFI partition and rebooting, fwupdmgr did its job and a new BIOS was downloaded and installed. Still no Suspend to RAM option, however.

So I checked Lenovo’s firmware update page for the L14 G2 and found out that there are two newer firmware versions available. A bit strange that Lenovo has not yet pushed them to fwup.org. But at least Lenovo provided ‘.cab’ files in a ZIP file that can be directly fed to fwupdmgr:

sudo fwupdmgr install xxx.cab

I also noticed in the release notes that this firmware update contained the ‘S3 for Linux’ support I was looking for. And indeed, after flashing this version into the firmware, the BIOS now contained an option to enable Suspend to RAM (‘Sleep State –> Linux S3’). I’ve been suspending/resuming the notebook for 3 days now and it works as it should, with power consumption well below 1 Watt while sleeping. Perfect!

I would probably have been done now and proclaimed the notebook as usable. Everything looked good and felt snappy. But then I ran my ffmpeg video transcoding test. While starting nicely, performance dropped significantly after around 60 seconds to a point where even a notebook from a decade ago could comfortably compete. Very strange!? More about this and how to fix it in part 2, to come in a day or two.

One thought on “Running Ubuntu Linux on Bleeding Edge Hardware – Lenovo L14 Gen 2 – Part 1”

Comments are closed.