Lenovo ThinkPad T480s

From ArchWiki

Tango-edit-clear.pngThis article or section does not follow the Laptop page guidelines.Tango-edit-clear.png

Reason: Needs IDs added to hardware table and an accessibility, firmware and function keys section should be added (Discuss in Talk:Lenovo ThinkPad T480s)
Hardware PCI/USB ID Working?
Wireless Yes
Audio Yes
TrackPoint Yes
Touchpad Yes
Webcam Yes
Fingerprint reader Yes
Mobile broadband Yes
Bluetooth Yes
Smartcard reader Yes
PrivacyGuard Yes

This article covers the installation and configuration of Arch Linux on a Lenovo T480s laptop. For the most part things work out-of-the-box, but there are some features that are unavailable.

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


Without special configuration and with default firmware settings, power usage is a bit high (around 7,5W in idle). There are a few knobs to improve battery life:

Warning: Changing Thunderbolt BIOS options has been reported to irreversibly brick ThinkPads [1] [2] [3]. This is a BIOS bug. Until there is more information available on that matter (or a fix underway), use these options with care.
  • Set "Thunderbolt BIOS Assist Mode" to "Enabled" in the EFI firmware interface. This seems to reduce number of idle wakeups.
    • However, kernel versions since 4.19+ should support it natively ([4]), and some power consumption improvements is reported if this is switched to "Disabled" [5].
  • Disable unused peripherals under "Security" -> "I/O port access" in the firmware. This especially applies to the SD/MMC-cardreader, which seems to drain some power even when idle

As of Kernel 4.15, DisplayPort PSR (Panel self refresh) is disabled by default and broken when forcibly enabled (system hangs after a few seconds, display lag). 4.17-rc1 seems to improve a lot in this regard, but PSR still sometimes causes the screen to freeze for a few seconds.

SD card reader

According to various reports the SD card reader drains several watts of power. If you do not want to disable it in bios because you use it semi-regularly, you can turn it off by unbinding its driver using this command:

# echo 2-3 > /sys/bus/usb/drivers/usb/unbind

You can then turn the reader back on by running:

# echo 2-3 > /sys/bus/usb/drivers/usb/bind

Fingerprint reader

The fingerprint sensor 06cb:009a is not supported by libfprint.

There is a project python-validity based on open-fprintd that support 06cb:009a see [6].

Warning: Some issues or delay are known after suspend/resume. See Fingerprint not working after waking up from suspend in the README to resolve this issue.

Install the python-validityAUR or python-validity-gitAUR and enroll your device:

$ fprintd-enroll

Refer to Fprint#Configuration for configuration.


Thermal throttling

There are reported throttling issues for Lenovo T480/T480s/X1C6 notebooks.[7]

This script forces the CPU package power limit (PL1/2) to 44 W (29 W on battery) and the temperature trip point to 95 'C (85 'C on battery) by overriding default values in MSR and MCHBAR every 5 seconds (30 on battery) to block the Embedded Controller from resetting these values to default.

Install the throttled package and enable the lenovo_fix.service.[8]

It is recommended to also undervolt the CPU (Undervolting CPU#intel-undervolt). Most Kaby Lake R chips are able to easily undervolt to -100mV or more, which significantly helps to keep the device from thermal throttling. Throttled also provides undervolting capabilities and will overwrite the undervolt settings applied by intel-undervolt when it updates settings if both services are enabled.


The PrivacyGuard feature is referred to as LCD Shadow and was introduced in Linux 5.4.[9]

To enable or turn on the LCD shadow:

# echo 1 > /proc/acpi/ibm/lcdshadow

Conversely, use 0 to disable it:

# echo 0 > /proc/acpi/ibm/lcdshadow

Fix freezes/hangs on QT applications (with Intel driver)

See Intel graphics#AccelMethod.

Fix frequent WiFi disconnects

The iwlwifi driver provided by Linux Kernel 5.1 and later has a bug that can cause disconnects of the WiFi. If this occurs, check the system log using journalctl(1) and search for this message: "No beacon heard and the time event is over already." If you see this message, try some of the suggested fixes discussed on Bug 203709. Workarounds discussed in the thread include:

1. Modifying kernel module parameter by adding a new configuration file for modprobe.d(5):

options mac80211 beacon_loss_count=1000 probe_wait_ms=75
options ath9k debug=0xffffffff btcoex_enable=0 ps_enable=0 use_msi=0

2. Disabling IPv6

3. Applying the kernel patch linux-beaconAUR and creating the following kernel module parameter for modprobe.d(5):

options iwlwifi beacon_timeout=256

See also