Lenovo ThinkPad T14 (AMD) Gen 1
Hardware | PCI/USB ID | Working? |
---|---|---|
GPU | Yes | |
Wireless | Yes | |
Bluetooth | 8087:0029 |
Yes |
Webcam | 04f2:b6d0 |
Yes |
TrackPoint | Yes | |
Touchpad | Yes | |
Fingerprint reader | 06cb:00bd |
Yes |
Smartcard reader | 058f:9540 |
Untested |
Mobile broadband | Yes |
This article covers the installation and configuration of Arch Linux on a Lenovo Thinkpad T14 (AMD) Gen 1 laptop. Everything seems to work pretty much out the box with kernel >=5.9.0.
For a general overview of laptop-related articles and recommendations, see Laptop.
Firmware
Secure boot
As of January 2021 deleting SecureBoot keys and installing your own keys (for example by using KeyTool) will brick the device. This is a problem that is similar to one which has been reported on some other Lenovo laptops and is likely due to a faulty firmware. If the device is stuck in a boot loop after replacing the SecureBoot keys, the only way to repair it is by replacing the mainboard of the device. Hopefully, the issue will get fixed with a firmware update in the future.
Battery issues
In an ongoing Lenovo forums thread, there has been a discussion regarding battery drain issues in suspend/powered-off states. Presumably, laptops with AMD Renoir CPUs and relevant hardware are affected. As of now, BIOS firmware version 1.29 is suggested for use, as version 1.30 introduced significant battery drain; the battery loses up to 50% in 2-3 days while the laptop is in suspend mode.
There is also a suggestion that kernel updates could fix this behavior and that Lenovo and Canonical are working on it.
Keyboard
As of BIOS 1.35, keyboard event processing does not work correctly and can cause input problems with shortcuts involving the function key. Moreover, typing fast can lead to scrambled or missing keys which is caused by polling issues with the firmware.
Trackpad
As of BIOS 1.35, disabling the trackpad has no effect in Linux. In the graphical BIOS and in Windows, this function works as intended.
Time stamp counter
As of BIOS 1.35, the time stamp counter (TSC) can be unusable on a cold boot, as indicated by the following log output:
$ dmesg | grep -i tsc
[ 0.000000] tsc: Fast TSC calibration using PIT [ 0.000000] tsc: Detected 1696.748 MHz processor [ 0.160394] clocksource: tsc-early: mask: 0xffffffffffffffff max_cycles: 0x18752743c99, max_idle_ns: 440795215663 ns [ 0.367627] clocksource: Switched to clocksource tsc-early [ 1.393773] tsc: Refined TSC clocksource calibration: 1699.720 MHz [ 1.393785] clocksource: tsc: mask: 0xffffffffffffffff max_cycles: 0x18801ecedab, max_idle_ns: 440795234673 ns [ 1.394099] clocksource: Switched to clocksource tsc [ 2.167096] clocksource: timekeeping watchdog on CPU3: Marking clocksource 'tsc' as unstable because the skew is too large: [ 2.167106] clocksource: 'tsc' cs_nsec: 506681426 cs_now: 78dfa3a69 cs_last: 75aa51b22 mask: ffffffffffffffff [ 2.167109] clocksource: 'tsc' is current clocksource. [ 2.167119] tsc: Marking TSC unstable due to clocksource watchdog [ 2.167132] TSC found unstable after boot, most likely due to broken BIOS. Use 'tsc=unstable'. [ 2.167653] clocksource: Checking clocksource tsc synchronization from CPU 13 to CPUs 0,2,8-9,11-12,14-15.
Renesas USB controller
As of BIOS 1.35, toggling the state of USB devices in the BIOS can cause the Renesas controller to fail. This will prevent he webcam from being initialized.
Docking stations
As of BIOS 1.35, video output is unrealiable on both USB3 and mechanical docking stations.
Webcam
Image quality can be improved by updating the webcam firmware. Unfortunately, webcam firmware updates are not shipped via LVFS. Some cameras firmwares can be possibly updated in Linux following steps.
Fingerprint sensor
The fingerprint sensor works with some recent firmware and software updates.
- Use fwupd to install the latest firmware for "Synaptics Prometheus Fingerprint Reader". The relevant firmwares are Prometheus Fingerprint Reader and Prometheus Fingerprint Reader Configuration.
- fprintd ≥ 1.90.1 and libfprint ≥ 1.90.1 are required. Alternatively, use the latest Git master through fprintd-libfprint2AUR and libfprint-gitAUR.
fprint has more details on how to setup the fingerprint, for PAM-based authentication for example.
If the fingerprint reader is not detected by fwupd but is detected by lsusb
, you will need to reset the fingerprint reader in the BIOS.
Backlight
Backlight works correctly by manipulating the values, between 0-255, inside /sys/class/backlight/amdgpu_bl0/brightness
or using a backlight managing utility.
Before kernel 5.8.6, systemd-backlight@backlight:acpi_video0.service
required masking as it failed on boot.
Suspend
S3 suspend works when setting Config > Power > Sleep to Linux in the BIOS.
Hibernation
As of kernel 5.15.2, the system occasionally has issues with resuming from hibernate, resulting in missing or distorted video output.
Mobile broadband
Tested, works with xmm7360-pci (see Xmm7360-pci):
$ lspci | grep XMM
05:00.0 Wireless controller [0d40]: Intel Corporation XMM7360 LTE Advanced Modem (rev 01)
Wireless
The onboard wireless card is Intel AX200 and it may have microcode issues when used as-is. A possible fix for WiFi disconnects is turning on iwlwifi
antenna agreggation on by creating a modprobe configuration:
/etc/modprobe.d/iwlwifi.conf
options iwlwifi 11n_disable=8
Reboot afterwards. Look in Network configuration/Wireless#iwlwifi for details.
Platform Profiles
As of BIOS version 1.35, the required DYTC interface is present but does not work correctly. Although an ACPI Platform Profile can be set via sysfs(5), it will not have any effect. Nevertheless, profiles can be set by passing somewhat arbitrary arguments to the interface via acpi_call. See the following table for the power and thermal limits. The Balanced profile is active by default.
Mode | Argument | STAPM (W) | PPT-FAST (W) | PPT-SLOW (W) | THM-CORE (°C) | STT_APU (°C) | FAN (rpm) |
---|---|---|---|---|---|---|---|
Low Power | 0x12d001 | 11 | 11 | 11 | 70 | 45 | 3300 |
Balanced | 0x15d001 | 20 | 20 | 15 | 86 | 45 | 4400 |
Performance | 0x17d001 | 25 | 25 | 23 | 96 | 53 | 5000 |
Profiles can be changed as follows:
# echo '\_SB.PCI0.LPC0.EC0.HKEY.DYTC argument' | tee /proc/acpi/call
Function keys
Key | Visible?1 | Marked?2 | Effect |
---|---|---|---|
Fn |
Yes | No |
XF86WakeUp
|
Fn+Esc |
No | Yes | Toggles the Fn lock |
Fn+F1 |
Yes | Yes |
XF86AudioMute
|
Fn+F2 |
Yes | Yes |
XF86AudioLowerVolume
|
Fn+F3 |
Yes | Yes |
XF86AudioRaiseVolume
|
Fn+F4 |
Yes | Yes |
XF86AudioMicMute
|
Fn+F5 |
Yes | Yes |
XF86MonBrightnessDown
|
Fn+F6 |
Yes | Yes |
XF86MonBrightnessUp
|
Fn+F7 |
Yes | Yes |
XF86Display
|
Fn+F8 |
Yes | Yes |
XF86WLAN
|
Fn+F9 |
Yes | Yes |
XF86NotificationCenter
|
Fn+F10 |
Yes | Yes |
XF86PickupPhone
|
Fn+F11 |
Yes | Yes |
XF86HangupPhone
|
Fn+F12 |
Yes | Yes |
XF86Favorites
|
Fn+End |
Yes | No |
Insert
|
Fn+4 |
Yes | No |
XF86Sleep
|
Fn+Tab |
Yes | No |
XF86FullScreen
|
Fn+s |
Yes | No |
Alt_L Alt_L+Sys_Req
|
Fn+d |
No | No | Toggles the PrivacyGuard feature |
Fn+k |
Yes | No |
Scroll_Lock
|
Fn+p |
Yes | No |
Pause
|
Fn+b |
Yes | No |
Pause
|
Fn+Right Shift |
Yes | No |
XF86FnRightShift
|
Fn+Space |
No | Yes | Controls the keyboard backlight |
Fn+Print |
Yes | No |
XF86SelectiveScreenshot
|
Fn+Left Arrow |
Yes | No |
Home
|
Fn+Right Arrow |
Yes | No |
End
|
- The key is visible to
xev
and similar tools - The physical key has a symbol on it, which describes its function