Installing Ubuntu Linux on the Lenovo ThinkPad E14 Gen 2 (AMD)
I bought myself a cheap ThinkPad. Although not officially supported for Linux it was pretty easy to get going. It installed fine with Ubuntu 20.04, only requiring a newer kernel version to be installed.
Lenovo ThinkPad E14 Gen 2 (AMD)
Model Type Number: 20T6-0008AU
CPU: AMD Ryzen 5 4500U (6C / 6T, 2.3 / 4.0GHz, 3MB L2 / 8MB L3)
A page with a lot of info about Linux on Thinkpad E14 is here, although it seems like it's based on a Gen 1 (Intel) rather than a Gen 2 (AMD) model.
Step by step instructions
Part I: Windows prep
This laptop comes with Windows 10 Home. A few things are needed before installing Linux. A lot of info I used came from here.
- Run Lenovo Vantage and do a System Update.
- Update BIOS from support site (v1.08 was latest at the time) — this step may have already been handled by the System Update above, not sure
- Disable fast startup
- Turn off BitLocker encryption with Start menu > Device Encryption > Turn Off. See discussion here.
For the next part you'll need a bootable Ubuntu USB stick. I set up my USB stick from Linux but you can do it from Windows too. See Create a bootable USB stick on Windows. You'll want to download Ubuntu from the release site and use the 64-bit PC (AMD64) desktop image.
Part II: BIOS
- Reboot and press F1 to enter the BIOS menu.
- Disable Secure Boot.
This should be unnecessary with versions of Ubuntu after 20.04 as we only need this to install a newer kernel. Future versions of Ubuntu should ship with a recent enough kernel out of the box.
Part III: Ubuntu install
- Reboot and press F12 to choose the boot device. Choose USB HDD to boot from the USB stick.
- Run the installation. Use normal installation options but choose the following options:
- Install third party drivers. Probably needed for wifi?
- Install alongside Windows.
- Reboot after installation when prompted.
- Install system updates when prompted.
- Reboot again when prompted.
Part IV: Kernel upgrade
- Download mainline kernel script: ubuntu-mainline-kernel.sh
- Install new kernel. Tested with kernel v5.8.10-050810.
sudo ./ubuntu-mainline-kernel.sh -i
- Reboot and verify the kernel version with
Part V: Ready for use (with one workaround)
The system is ready for use with one exception.
Each time the system starts you'll need to do a manual suspend to get sleep working. From then on sleep works normally until rebooted again. I haven't tested this, I'm just going on what I've read.
sudo systemctl suspend
See discussion on Reddit and on the Lenovo forums.
What works and what doesn't
CPU - works fine for me. No need for throttling workarounds as described here and implemented here. I think the ThinkPad throttling issues is Intel only.
To verify I ran Geekbench 5 and got the following results which seemed in the ballpark:
- Battery power results - single core: 692, multi core: 2620
- AC power results - single core: 1115, multi core: 3765
For comparison NotebookCheck got single core: 1108, multi core: 4618. There may be a drop in multi core performance based on this so I should probably investigate by running the benchmarks again and on Windows.
During the testing I monitored CPU usage and temp with s-tui.
apt install s-tui s-tui
Here's what it looks like while idle on battery.
Wifi works fine for me
$ lspci 03:00.0 Network controller: Realtek Semiconductor Co., Ltd. RTL8822CE 802.11ac PCIe Wireless Network Adapter
Function keys work fine. Brightness, volume, keyboard backlighting - all work. FnLock doesn't work but that's fine with me.
Bluetooth - not checked yet, but apparently fine.
Fingerprint scanner - not supported yet.
$ lsusb Bus 003 Device 002: ID 27c6:55a4 Shenzhen Goodix Technology Co.,Ltd. Goodix FingerPrint Device
There is a bug report to add support for this device if anyone wants to contribute.
Battery - seems good. I was able to use the ThinkPad battery health settings.
# Command line sudo apt install tlp # Manual vars START_CHARGE_THRESH_BAT0=65 STOP_CHARGE_THRESH_BAT0=80 # Verifying sudo tlp-stat -s # see if running sudo tlp-stat --config # dump config # UI sudo add-apt-repository ppa:linuxuprising/apps sudo apt install tlpui
External monitors - not checked yet.
All in all it was a fairly smooth experience with the main difference to a vanilla Ubuntu install being the kernel update. In future versions of Ubuntu this probably won't be needed, as they'll ship with newer kernels already.
- Previous: Upgrade to Ubuntu 20.04 from 19.10