Lenovo ThinkPad T470

For a general overview of laptop-related articles and recommendations, see Laptop.

DevicePCI/USB IDWorking?
GPU (Intel 620)8086:5916Yes
GPU (Intel 520)8086:1916Yes
GPU (NVIDIA)10de:134dYes
Ethernet (Intel I219-V)8086:2068Yes
Ethernet (Intel I219-LM)8086:156fYes
Wireless (Intel 8265/8275)8086:24fdYes
Wireless (Intel 8260)8086:24f3Yes
Bluetooth8087:0a2bYes
Webcam5986:111cYes
IR CameraYes
TrackPointYes
TouchpadYes
TouchscreenYes
Fingerprint ReaderYes
SD Card ReaderUntested

Firmware

The T470 is one of the models supported officially by Lenovo through the fwupd firmware update program.

If you are using a UEFI boot scheme, this is probably the easiest and most officially supported way to keep all the firmware programs updated.

Note: Users have observed a BIOS requirement of "UEFI/Legacy Boot" set to "UEFI Only" and enable Windows UEFI Firmware Update under UEFI BIOS Update Options when using fwupd.

If it does not work for you or if you prefer these methods, it is still possible to do the BIOS update by booting on a specially crafted disk or USB stick. By visiting the downloads section (T470) an ISO can be downloaded and burned to disk which will perform the update from Lenovo. Or extracted and copied on a USB Stick.

Another option that works if you got a CD-ISO from Lenovo is to follow this guide and convert the ISO to an IMG prior to dd-ing it to a USB stick.

Kernel and hardware support

Hardware video acceleration with Kaby Lake seems to work fine via va-api.

As noted in Intel graphics, the driver seems to cause more issue than the builtin Xorg driver. Works fine without the intel driver (on a Skylake configuration).

suspend-resume results in the fan holding at 100% without ever spinning down. This is being tracked on the kernel bugtracker. The issue seems to be resolved by BIOS 1.43.

Fingerprint reader

As of writing this, the fingerprint reader is still under prototype development, but seems working fine on the T470.

To get the sensor working, install the package, and its dependencies: and (which conflicts with the package in the official repositories, so remove this package first if it is installed). Enable/start the .

If this fingerprint reader had been previously set up, either through Windows (dual-booted or through a Windows virtual machine), or from a previous setup of fprintd, you will likely need to reset the Validity fingerprint reader to factory defaults (must first stop ):

Then, start again. You can now enroll your fingers with fprintd-enroll as a regular (non-root) user. You may verify your enrolled fingerprints with .

After setting up the fingerprint sensor is complete, one can use it to login or authenticate for sudo or .

For login, edit by adding as sufficient to the top of the auth section:

Note, the command from the python-validity README.md does not exist in Arch, and the lines it adds to files in the directory do not work. See the manual for details.

Do the same for sudo with or su with /etc/pam.d/su

Screen backlight

Without the driver (), neither or brightness control are working. It is possible that, with the good kernel parameters, the backlight related keys do their job.

Other workaround exists, such as described on this post or in the wiki acpid#Enabling backlight control. Using the acpilight package as a replacement works well. You can also check this repository as a base to add the ACPI rules to call when backlight keys are pressed.

UEFI boot

After configuring the BIOS setup to allow UEFI boot (either UEFI only or both), it works flawlessly.

For booting directly with EFISTUB, the kernel executable (e.g. ) may need to be renamed with a .efi extension (e.g. ) otherwise it will fail to load.

BIOS GPT boot

I can confirm that issue. Even with a recent bios (1.52), it does not work.

I had to trick my ThinkPad into UEFI (because my bios is locked, found that method by pure luck). It works by installing the syslinux bootloader on your freshly installed arch (be sure to follow the GPT specific instructions at Syslinux#GUID partition table) and the boot that syslinux with the arch install iso ('Boot existing OS' -> press -> replace hd0 0 with ). Syslinux should show you an option to boot the Arch Linux installation in UEFI mode. Mount you Arch installation, into it and install GRUB (or your favorite bootloader) for UEFI. That did the trick for me.

You have to create a proper UEFI partition. Have a look at partitioning.

Special buttons

Some special buttons are not supported by X server due to keycode number limit.

Key combinationScancodeKeycode
0x45

You can remap unsupported keys using udev hwdb:

/etc/udev/hwdb.d/90-thinkpad-keyboard.hwdb
evdev:name:ThinkPad Extra Buttons:dmi:bvn*:bvr*:bd*:svnLENOVO*:pn*
 KEYBOARD_KEY_45=prog1
 KEYBOARD_KEY_49=prog2

Update hwdb after editing the rule.

# udevadm hwdb --update
# udevadm trigger --sysname-match="event*"

Function keys for model 20K7 25th Anniversary Edition

Special KeyVisible?1Marked?2Effect
YesYesXF86WakeUp
No Effect
YesYesXF86ScreenSaver
YesYesXF86Battery
YesYesXF86Sleep
YesYesXF86TouchpadToggle
Fn+F6YesYesXF86WebCam
YesYesXF86Display
YesYesXF86WLAN
Fn+F9YesYesXF86Tools
YesYesXF86Bluetooth
YesNo Effect
YesYesXF86Favorites
YesXF86MonBrightnessUp
YesXF86MonBrightnessDown
YesCycle Keyboard Backlight
YesYesXF86AudioMute
YesYesXF86AudioLowerVolume
Volume UpYesYesXF86AudioRaiseVolume
YesYesXF86AudioMicMute
YesYesXF86AudioPrev
YesYesXF86AudioStop
Fn+DownYesYesXF86AudioPlay
YesYesXF86AudioNext
YesYesMenu
YesYesXF86Back
YesYesXF86Forward
  1. The key is visible to and similar tools
  2. The physical key has a symbol on it, which describes its function
gollark: Screenshots?
gollark: What's nil?
gollark: Again, what do you *mean* "not working"?
gollark: ```luasetmetatable(string_mt, bin_mt)if debug then debug.setmetatable(nil, bin_mt) end```
gollark: What do you mean "not working"?

See also

This article is issued from Archlinux. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.