Lenovo ThinkPad T480s

HardwarePCI/USB IDWorking?
GPU (Intel)8086:5917Yes
GPU (NVIDIA)Untested
Wireless8086:24fdYes
Audio8086:9d71Yes
TrackPointYes
TouchpadYes
Webcam5986:2113Yes
Fingerprint reader06cb:009aYes
Mobile broadbandYes
Bluetooth8087:0a2bYes
Smartcard reader058f:9540Yes
SD card reader0bda:0316Yes
PrivacyGuardYes

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 some features may need to be configured manually.

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

Powersaving

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 due to a firmware bug . A fix is available through a firmware update , which can be installed via fwupd.
  • 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 (), and some power consumption improvements is reported if this is switched to "Disabled" .
  • 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 is not supported by libfprint.

There is a project python-validity based on open-fprintd, see .

Install python-validityAUR or python-validity-gitAUR and enroll your fingerprint:

$ fprintd-enroll

Refer to Fprint#Configuration for configuration.

You may experience an issue where the fingerprint reader does not work after the laptop wakes up from suspension. To fix this, try enabling the open-fprintd-resume and open-fprintd-suspend systemd services . If the issue is still present, create a unit file as follows, then enable it .

/etc/systemd/system/fingerprint-restart.service
[Unit]
Description=Restart services to fix fingerprint integration
After=suspend.target hibernate.target hybrid-sleep.target suspend-then-hibernate.target

[Service]
Type=oneshot
ExecStart=systemctl restart open-fprintd.service python3-validity.service

[Install]
WantedBy=suspend.target hibernate.target hybrid-sleep.target suspend-then-hibernate.target

If this solves the issue, you may disable open-fprintd-resume and open-fprintd-suspend again.

PrivacyGuard

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

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
Note: Not every model supports this feature. If PrivacyGuard is not available, you will get the following output:
$ cat /proc/acpi/ibm/lcdshadow
status:         not supported

Function keys

KeyVisible?1Marked?2Effect
Fn+EscNoYesToggles Fn lock
F1YesYesXF86AudioMute
F2YesYesXF86AudioLowerVolume
F3YesYesXF86AudioRaiseVolume
F4YesYesXF86AudioMicMute
F5YesYesXF86MonBrightnessDown
F6YesYesXF86MonBrightnessUp
F7YesYesXF86Display
F8YesYesXF86WLAN
F9YesYesXF86Tools
F10YesYesXF86Bluetooth
F11Wayland only3YesXF86Keyboard
F12YesYesXF86Favorites
Fn+SpaceNoYesControls the keyboard backlight
Fn+LeftYesNoHome
Fn+RightYesNoEnd
Fn+bYesNoControl_L+Break
Fn+kYesNoScroll_Lock
Fn+pYesNoPause
Fn+sYesNoAlt_L Alt_L+Sys_Req
Fn+4YesNoXF86Sleep
FnYesNoXF86WakeUp
  1. The key is visible to xev and similar tools.
  2. The physical key has a symbol on it, which describes its function.
  3. This key has a keyboard symbol on it. According to Lenovo, it should open the keyboard settings page , which it does on Windows 10. It does generate an event on Wayland, but not on X.
Tip: By default, the function keys behave as multimedia keys instead of actual function keys. This behaviour can be changed in the UEFI BIOS settings so that F1 to F12 are used as standard function keys and special multimedia features are only triggered with the use of the Fn key.
Note: Although Fn lock state persists across reboots, the function keys will always behave as standard function keys during device startup.

Troubleshooting

Thermal throttling

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

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 throttled.service.

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.

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

See Intel graphics#AccelMethod.

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.