Lenovo ThinkPad T470s
This article covers the installation and configuration of Arch Linux on a Lenovo T470s laptop.
For a general overview of laptop-related articles and recommendations, see Laptop.
firmware (e.g. bios and peripherals)
As of writing, the current bios version is 1.30. By visiting the downloads section (for the type HG/HF T470s) an iso can be downloaded and burned to disk which will perform the update 
This laptop is unique in that it retains the thinkpad dock connection as well as provides docking ability over USB-C. We have tested with the Thinkpad Ultra Dock and are able to utilize multiple HiDPI monitors via individual connections (e.g. no display port chaining). There are published firmware updates for the dock that require windows to install. DisplayPort chaining works via USB-C to DisplayPort adapter.
kernel and hardware support
Hardware video acceleration with Kaby Lake seems to work fine via va-api.
lspci and lsusb
On kernel '4.11.0-rc6-mainline' viaAUR on a 20HG T470s
00:00.0 Host bridge: Intel Corporation Device 5904 (rev 02) 00:02.0 VGA compatible controller: Intel Corporation Device 5916 (rev 02) 00:14.0 USB controller: Intel Corporation Sunrise Point-LP USB 3.0 xHCI Controller (rev 21) 00:14.2 Signal processing controller: Intel Corporation Sunrise Point-LP Thermal subsystem (rev 21) 00:16.0 Communication controller: Intel Corporation Sunrise Point-LP CSME HECI #1 (rev 21) 00:16.3 Serial controller: Intel Corporation Device 9d3d (rev 21) 00:1c.0 PCI bridge: Intel Corporation Device 9d10 (rev f1) 00:1c.2 PCI bridge: Intel Corporation Device 9d12 (rev f1) 00:1d.0 PCI bridge: Intel Corporation Sunrise Point-LP PCI Express Root Port #9 (rev f1) 00:1f.0 ISA bridge: Intel Corporation Device 9d4e (rev 21) 00:1f.2 Memory controller: Intel Corporation Sunrise Point-LP PMC (rev 21) 00:1f.3 Audio device: Intel Corporation Device 9d71 (rev 21) 00:1f.4 SMBus: Intel Corporation Sunrise Point-LP SMBus (rev 21) 00:1f.6 Ethernet controller: Intel Corporation Ethernet Connection (4) I219-LM (rev 21) 3a:00.0 Network controller: Intel Corporation Device 24fd (rev 78) 3c:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd Device a804
Bus 002 Device 003: ID 0bda:0316 Realtek Semiconductor Corp. Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 006: ID 138a:0097 Validity Sensors, Inc. Bus 001 Device 005: ID 5986:111c Acer, Inc Bus 001 Device 008: ID 1199:9079 Sierra Wireless, Inc. Bus 001 Device 002: ID 058f:9540 Alcor Micro Corp. AU9540 Smartcard Reader Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 058f:9540 Alcor Micro Corp. AU9540 Smartcard Reader
As of writing this, the fingerprint reader is still under prototype development, but looks like working fine on the T470s.
To get the sensor working, it first must be initialized with data. This currently only works with Windows. 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.
As soon as this step is completed, the sensor can be used under Linux. Check out Validity90 prototype, build it and check if the sensor is working. Install , AUR and for testing AUR. You can now enroll your fingers. fprintd and fprint_demo might have be started with superuser privileges.
After setting up the fingerprint sensor is complete, one can use it to login or authenticate for
su(To use this, launch fprintd_enroll prior as root).
For login edit
Add the following and comment out the other entrys
auth required pam_env.so auth sufficient pam_fprintd.so auth sufficient pam_unix.so try_first_pass likeauth nullok auth required pam_deny.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.