Lenovo ThinkPad T480

From ArchWiki

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

Reason: Missing an Accessibility section and proper function key table. (Discuss in Talk:Lenovo ThinkPad T480)
Hardware PCI/USB ID Working?
GPU (Intel) 8086:5917 Yes
GPU (NVIDIA) 10de:1d10 Yes
Ethernet 8086:15d7 Yes
Wireless 8086:24fd Yes
Audio 8086:9d71 Yes
TrackPoint PS/2 Yes
Touchpad 001d:06cb Yes
Webcam 0c45:6366 Yes
Bluetooth 8087:0a2b Yes
Smart Card reader 058f:9540 Yes
Mobile internet 2cb7:0210 Yes
Mobile internet 8086:7360 No¹
Fingerprint Sensor 06cb:009a Yes²
  1. No working Linux driver for Fibocom L850-GL. See this thread and this thread for more info.
  2. Supported on Kernel 5.8.1 with libfprint-tod-git. See this Reddit thread for more info.

This article covers the installation and configuration of Arch Linux on a Lenovo T480 laptop. Everything seems to work pretty much out the box.

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

TrackPoint and Touchpad

TrackPoint and Touchpad work out of the box and do not seem to have the same issues as the X1 Carbon Gen 6.

However one could benefit from having greatly increased event reporting frequency by enabling psmouse kernel module option synaptics_intertouch=1.

This can be made permanent with:

/etc/modprobe.d/psmouse.conf
options psmouse synaptics_intertouch=1

For two-finger scrolling activity this gives a boost from 40 Hz to 135 Hz on average which is more than threefold increase. This boost greatly contributes to the Desktop environment scrolling performance and smoothness.

(evhz-gitAUR) may be of use to find out how frequently Touchpad reports events. For example after enabling said option:

# evhz
Press CTRL-C to exit.
...
^C
Average for Synaptics TM3276-022:   137Hz

Power management/Throttling issues

Due to missing Intel Dynamic Platform and Thermal Framework (DPTF) support for Linux, a feature which should detect whether the laptop is used on a desk or on the lap so it can throttle the CPU in the latter case to reduce the temperature is not working and the CPU is always throttled. An Lenovo employee explained the situation and the solution Lenovo is building in a PDF posted in their forum (archive.org backup of the PDF). The firmware and EFI fixes have been released for a different model and Lenovo has recognized that the T480 is affected, so there is hope the T480 will get the fix too.

An interim fix is throttled (Github).

Also see:

Firmware

Lenovo provides firmware updates for this device through the Linux Vendor Firmware Service (LVFS).

Available updates and changelogs can be found on the LVFS website. These include security patches for the Intel Management Engine and the system firmware.

The updates can be installed using fwupd.

Screen backlight

Without the intel driver (xf86-video-intel), neither xbacklight or xrandr brightness control are working.

However, the package acpilight provides a drop-in replacement for xbacklight. Apart from installing the package (which conflicts with xorg-xbacklight), you have to add your user to the video group and add the following udev rule:

/etc/udev/rules.d/90-backlight.rules
SUBSYSTEM=="backlight", ACTION=="add", \
  RUN+="/bin/chgrp video /sys/class/backlight/%k/brightness", \
  RUN+="/bin/chmod g+w /sys/class/backlight/%k/brightness"

SUBSYSTEM=="leds", ACTION=="add", KERNEL=="*::kbd_backlight", \
  RUN+="/bin/chgrp video /sys/class/leds/%k/brightness", \
  RUN+="/bin/chmod g+w /sys/class/leds/%k/brightness"

This allows you to control the backlight with xbacklight command provided by acpilight, as well as control the various LEDs on your T480.

Encryption and keyboard

Assuming encrypted installation, during boot process you are prompted to enter password to decrypt disk. In some cases you may not be able to enter password, because at this time keyboard driver is not loaded yet.

To fix this, add the atkbd module to the mkinitcpio MODULES array:

/etc/mkinitcpio.conf
MODULES = (... atkbd)

Regenerate the initramfs afterwards.

Special buttons

Tango-inaccurate.pngThe factual accuracy of this article or section is disputed.Tango-inaccurate.png

Reason: KEY_KEYBOARD is still not supported, but KEY_FAVORITES work out of the box, shows up as XF86Favorites in xev (as of 2022-02) (Discuss in Talk:Lenovo ThinkPad T480)

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

Key combination Scancode Keycode
Fn+F11 0x49 374 KEY_KEYBOARD
Fn+F12 0x45 364 KEY_FAVORITES

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*"

Their names will be "XF86Launch2" (KEY_KEYBOARD) and "XF86Launch1" (KEY_FAVORITES)