Archlinux on the Thinkpad T14 AMD Gen1
I have been using a Thinkpad T14 Gen 1 AMD as my daily driver. In this post I’ll go over what has been my experience running Archlinux on this laptop.
The good⌗
Drivers⌗
Everything works, it’s impressive. The thinkpads are known for having good Linux compatibility, and the T14 Gen 1 is not different.
The bugs I’ve encountered were actually because of buggy firmware and not Linux. The Archlinux Wiki has workarounds for most of them.
AMD⌗
The AMD processor is a powerhouse. My unit has a Ryzen 4750U, boasting 8 cores with SMT totalling 16 threads at my disposal. The integrated GPU is very decent, it’s capable of driving multiple displays at high framerates, and playing simple games like Minecraft or online competitive games at low settings, like CS:GO.
Fwupd support⌗
Firmware updates are officially vended in LVFS, so you get all firmware updates directly in Linux with a simple fwupdmgr refresh && fwupdmgr update
command.
S3 Sleep support⌗
The thinkpads have support for classic S3 sleep support, toggleable via UEFI firmware interface. S0ix sleep is also supported, but it does not play too nicely with Linux, so having S3 sleep is great.
$ dmesg | grep 'S3'
ACPI: PM: (supports S0 S3 S4 S5)
The only bug I’ve encountered with S3 Sleep is the touchpad not working properly after wakeup (probably due to it running through the serial bus). Adding psmouse.synaptics_intertouch=0
to the boot cmdline as suggested in the Archlinux Wiki solved the issue for me.
Platform profiles⌗
Modern laptops have multiple power profiles preconfigured in the firmware. The T14 has official support for platform profiles in Linux through the /sys/firmware/acpi/platform_profile
interface.
$ cat /sys/firmware/acpi/platform_profile_choices
low-power balanced performance
I recommend using TLP to automatically change from the Balanced to the Low-power profile when on battery, as well as applying various other power saving settings.
PLATFORM_PROFILE_ON_AC=balanced
PLATFORM_PROFILE_ON_BAT=low-power
If you don’t use the laptop on battery often, you can also set charge thresholds to help extend its life.
START_CHARGE_THRESH_BAT0=70
STOP_CHARGE_THRESH_BAT0=80
Second SSD⌗
There is a slot in the motherboard for a WWAN card, but you can also use this slot for a second SSD. I added a 128GB WDC PC SN520 to the slot after reading reports online that it is compatible, it does not have the full performance of the main SSD due to having less PCI lanes dedicated to it, but it’s perfectly fine to use as a scratch, backup or VM storage.
The bad⌗
Secureboot⌗
Uploading custom keys to secureboot is in theory supported, however there was a bug in older firmware revisions that would cause the motherboard to brick if a key was uploaded. The bug has since been solved according to Lenovo, but I haven’t tried as I’m afraid of bricking my laptop.
Touchpad/Trackpoint polling rate⌗
The touchpad and trackpoint are connected to a serial bus, not USB, reducing their polling rate, which is annoying.
This is probably also the root cause of the touchpad not working after wakeup.
amd-pstate⌗
AMD has developed a cpufreq driver called amd-pstate that scales the CPU frequency more granularly and allows for lower power states than the default acpi-cpufreq driver in Linux. The processors in the T14 Gen 1 line are compatible with amd-pstate, but they require CPPC tables to be present in the UEFI firmware. Lenovo said they would add the missing tables in a firmware update but they are still missing.
This sucks because, even if the processor is very efficient, it idles at a high 1.4GHz frequency when it could be idling at 500MHz, saving battery and reducing heat output.
The ugly⌗
Sleep battery drain⌗
Even though the laptop supports S3 sleep, it still uses a lot of power when suspended. The laptop can drain up to 50% in a day when suspended, which kind of defeats the purpose of setting the laptop to sleep instead of powering it off.
Soldered memory⌗
The T14 units come with one memory slot available for upgrade and one memory DIMM that is soldered directly to the motherboard.
If you’d like to have 32GB of RAM running in dual channel mode, you must make sure to buy a unit with 16GB onboard, otherwise you won’t be able to upgrade it. Soldered RAM also sucks if the soldered module goes bad, you can’t easily replace it as you could with a slotted module.
Soldered components just suck if you have hardware problems and the T14 model can’t justify doing it on basis of internal space. Framework has shown that it is possible to create a thin and performant laptop with modular components, Lenovo should take some notes and improve the modularity of their models.
Configuration⌗
This is the list of tweaks that I found improve the experience in Arch:
Kernel
I’m using linux
loading amd-ucode
during boot-up.
Boot cmdline options
zswap.enabled=0
: I’m using Zram instead, no need for Zswaplockdown=integrity
: Protects the kernel from modification (enabled by default with secure boot)psmouse.synaptics_intertouch=0
: Workaround firmware bug causing the touchpad not working after wakeuptsc=unstable
: Workaround firmware bug due to unstable TSC
TLP
I use tlp
with default settings to decrease power usage when on battery and to set battery charge thresholds to 80% as a way to extend the life of the battery cells.
As of writing, I’m on 177 charge cycles and the battery reports I have 98.4% of its original capacity.
The bottom line⌗
I recommend the AMD Thinkpad T14 Gen 1 for Linux users if you can find it at a discount. The later generations have small improvements like bigger 16:10 screens and updated processors that should be even faster and more efficient, but the Gen 1 is still a good viable option if you want a beefy Linux laptop.
All in all, it works well enough for me, but I’d like the firmware to be better, the bugs I’ve encountered were caused in part by the buggy firmware. As the firmware is closed-source, we are at the mercy of Lenovo to fix the issues.
Will my next laptop will be another Thinkpad? I don’t know… the biggest advantages for Thinkpads in my opinion are the trackpoint (Thinkpad users swear by it and I’m no different), great keyboard and proper Linux support of course. But there’s a new player in town, I think Framework is the future for Linux laptops with their modular hardware and open firmware, if they ever release a trackpoint chassis for Framework I’m sold.
References⌗
https://wiki.archlinux.org/title/Lenovo_ThinkPad_T14_(AMD)_Gen_1
https://www.reddit.com/r/thinkpad/comments/hxfj59/i_bought_a_sn520_wd_2242_nvme_ssd_and_it_runs/
https://www.kernel.org/doc/html/latest/admin-guide/pm/amd-pstate.html