Lenovo ThinkPad T470
|GPU (Intel 620)||
|GPU (Intel 520)||
|Ethernet (Intel I219-V)||
|Ethernet (Intel I219-LM)||
|Wireless (Intel 8265/8275)||
|Wireless (Intel 8260)||
|SD Card Reader||
For a general overview of laptop-related articles and recommendations, see Laptop.
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.
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
modesetting Xorg driver.
Works fine without the intel driver (on a Skylake configuration).
As of writing this, the fingerprint reader is still under prototype development, but looks like working fine on the T470.
To get the sensor working, it first must be initialized with data. This currently only works with Windows (this is no longer true, see note below). So if you had used the reader before installing Arch, this should work fine. Otherwise install a Windows version in a virtualbox, connect the Validity Sensor over USB(USB 2.0), install the drivers and use it a few times.
This uses the packageAUR. Now, this may not work, as the fingerprint device may return a data structure that does not match the expected size/length when loading the driver. If the above libfprint driver does not work for you, and you see errors about a length mismatch in the journal, the following fork of the above project has a fix for this: Pacman#Hooks to rebuild this driver whenever the kernel is upgraded.
As soon as this step is completed, the sensor can be used under Linux.
After setting up the fingerprint sensor is complete, one can use it to login or authenticate for
For login, edit
/etc/pam.d/login by adding
pam_fprintd.so as sufficient to the top of the auth section:
auth sufficient pam_fprintd.so ...
Do the same for sudo with
/etc/pam.d/sudo or su with
For more information visit libfprint and adapt for the vfs0097 package.
intel driver ( ), neither
xrandr brightness control are working.
It is possible that, with the good
acpi_* 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 package as a
xbacklight replacement works well.
You can also check this repository as a base to add the ACPI rules to call
xbacklight when backlight keys are pressed.
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.
vmlinuz-linux) may need to be renamed with a .efi extension (e.g.
vmlinuz-linux.efi) 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
TAB -> replace
hd0 0 with
hd1 0). Syslinux should show you an option to boot the Arch Linux installation in UEFI mode. Mount you Arch installation,
arch-chroot 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.
Some special buttons are not supported by X server due to keycode number limit.
You can remap unsupported keys using udev 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
||No||Yes||Cycle Keyboard Backlight|
- The key is visible to
xevand similar tools
- The physical key has a symbol on it, which describes its function