Lenovo ThinkPad T480

HardwarePCI/USB IDWorking?
GPU (Intel)8086:5917Yes
GPU (NVIDIA)10de:1d10Yes
Ethernet8086:15d7Yes
Wireless8086:24fdYes
Audio8086:9d71Yes
TrackPointPS/2Yes
Touchpad001d:06cbYes
Webcam0c45:6366Yes
Bluetooth8087:0a2bYes
Smart Card reader058f:9540Yes
Mobile internet2cb7:0210Yes
Mobile internet8086:7360No¹
Fingerprint Sensor06cb:009aYes²
  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

Note that units adorned with the "glass Touchpad mod" will not benefit from the elevated Touchpad performance with the procedure above. Running evhz will also indicate a different Touchpad identifier:

# evhz
...
Average for Synaptics TM3625-010:    42Hz

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:

CPU stuck at minimum frequency

A signal called BD PROCHOT inside the laptop can force the CPU to the lowest power state (400 MHz in case of the T470s) regardless of the governor. This is meant to protect the system and can be triggered by many reasons -- the CPU temperature rising above 60 °C, using a third party battery... Luckily, it can be ignored by writing a value to a register . This script is an alternative to the app ThrottleStop on Windows. Install msr-tools and execute this script after every boot (or make a systemd Oneshot service).

/usr/local/bin/throttlestop
#!/bin/bash
# Disable BD PROCHOT signal on ThinkPads to prevent throttling the CPU to min. freq.
modprobe msr
reg="$(rdmsr -d 0x1FC)"         # commands rdmsr and wrmsr provided by msr-tools on Arch
if [ $((reg%2)) -eq 1 ]; then   # basically reg & 0xFFFE
	wrmsr 0x1FC $((reg-1))
fi

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.

Fingerprint reader

Install python-validityAUR and register fingerprints with:

$ fprintd-enroll

Refer, for example, to the entry on fingerprint sensor of the similar Lenovo ThinkPad X270 for general procedures if list_devices failed is returned. You might also try referring to these steps, which are nominally for Fedora but which appear to work on Arch as well.

Function keys

Some special buttons are not supported by X server due to keycode number limit. Certain keys are also handled by other devices other than the keyboard.

KeyVisible?Marked?Keycode1Effect2Device
FnYesYesKEY_WAKEUPXF86WakeUpAT Translated Set 2 Keyboard
Fn+EscNoYesToggles Fn LockAT Translated Set 2 Keyboard
Fn+F1YesYesKEY_MUTEXF86AudioMuteAT Translated Set 2 Keyboard
Fn+F2YesYesKEY_VOLUMEDOWNXF86AudioLowerVolumeAT Translated Set 2 Keyboard
Fn+F3YesYesKEY_VOLUMEUPXF86AudioRaiseVolumeAT Translated Set 2 Keyboard
Fn+F4YesYesKEY_F20XF86AudioMicMuteThinkpad Extra Buttons
Fn+F5YesYesKEY_BRIGHTNESSDOWNXF86MonBrightnessDownVideo Bus
Fn+F6YesYesKEY_BRIGHTNESSUPXF86MonBrightnessUpVideo Bus
Fn+F7YesYesKEY_SWITCHVIDEOMODEXF86DisplayThinkpad Extra Buttons
Fn+F8YesYesKEY_WLANXF86WLANThinkpad Extra Buttons
Fn+F9YesYesKEY_CONFIGXF86ToolsThinkpad Extra Buttons
Fn+F10YesYesKEY_BLUETOOTHXF86BluetoothThinkpad Extra Buttons
Fn+F11YesYesKEY_KEYBOARDXF86KeyboardThinkPad Extra Buttons
Fn+F12YesYesKEY_BOOKMARKSXF86FavoritesThinkPad Extra Buttons
Fn+PrtScYesNoKEY_PROG2XF86Launch2Thinkpad Extra Buttons
Fn+BYesNoKEY_PAUSEBreakAT Translated Set 2 Keyboard
Fn+KYesNo***Scroll_LockAT Translated Set 2 Keyboard
Fn+PYesNoKEY_PAUSEPauseAT Translated Set 2 Keyboard
Fn+SYesNoKEY_SYSRQSys_ReqAT Translated Set 2 Keyboard
Fn+LeftArrowYesNoKEY_HOMEHomeAT Translated Set 2 Keyboard
Fn+RightArrowYesNoKEY_ENDEndAT Translated Set 2 Keyboard
Fn+4YesNoKEY_SLEEPXF86SleepThinkpad Extra Buttons
Fn+SpcNoYesToggles Keyboard Backlight
  1. As reported by Libinput
  2. As reported by Wayland Event Viewer

Special buttons

See Laptop/Lenovo#Special buttons.

This article is issued from Archlinux. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.