Lenovo ThinkPad T490
Device | Status |
Intel graphics | Yes |
Wireless | Yes¹ |
ALSA | Yes |
TrackPoint | Yes |
Touchpad | Yes |
Webcam | Yes |
Bluetooth | Yes |
Mobile internet | not tested |
Fingerprint Sensor | Yes |
MicroSD Reader | Yes |
|
Hardware
Using kernel 5.3.7-arch1-1-ARCH
Version: ThinkPad T490 Product Name: 20N2000KGE
additional hardware information from lsusb
and lspci
can be found bellow:
lsusb
00:00.0 Host bridge: Intel Corporation Coffee Lake HOST and DRAM Controller (rev 0c) 00:02.0 VGA compatible controller: Intel Corporation UHD Graphics 620 (Whiskey Lake) (rev 02) 00:04.0 Signal processing controller: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Thermal Subsystem (rev 0c) 00:08.0 System peripheral: Intel Corporation Xeon E3-1200 v5/v6 / E3-1500 v5 / 6th/7th Gen Core Processor Gaussian Mixture Model 00:12.0 Signal processing controller: Intel Corporation Cannon Point-LP Thermal Controller (rev 30) 00:14.0 USB controller: Intel Corporation Cannon Point-LP USB 3.1 xHCI Controller (rev 30) 00:14.2 RAM memory: Intel Corporation Cannon Point-LP Shared SRAM (rev 30) 00:14.3 Network controller: Intel Corporation Cannon Point-LP CNVi [Wireless-AC] (rev 30) 00:15.0 Serial bus controller [0c80]: Intel Corporation Cannon Point-LP Serial IO I2C Controller #0 (rev 30) 00:16.0 Communication controller: Intel Corporation Cannon Point-LP MEI Controller #1 (rev 30) 00:1c.0 PCI bridge: Intel Corporation Cannon Point-LP PCI Express Root Port #1 (rev f0) 00:1c.4 PCI bridge: Intel Corporation Cannon Point-LP PCI Express Root Port #5 (rev f0) 00:1d.0 PCI bridge: Intel Corporation Cannon Point-LP PCI Express Root Port #9 (rev f0) 00:1d.4 PCI bridge: Intel Corporation Cannon Point-LP PCI Express Root Port #13 (rev f0) 00:1f.0 ISA bridge: Intel Corporation Cannon Point-LP LPC Controller (rev 30) 00:1f.3 Audio device: Intel Corporation Cannon Point-LP High Definition Audio Controller (rev 30) 00:1f.4 SMBus: Intel Corporation Cannon Point-LP SMBus Controller (rev 30) 00:1f.5 Serial bus controller [0c80]: Intel Corporation Cannon Point-LP SPI Controller (rev 30) 00:1f.6 Ethernet controller: Intel Corporation Ethernet Connection (6) I219-V (rev 30) 01:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS522A PCI Express Card Reader (rev 01) 02:00.0 PCI bridge: Intel Corporation JHL6240 Thunderbolt 3 Bridge (Low Power) [Alpine Ridge LP 2016] (rev 01) 03:00.0 PCI bridge: Intel Corporation JHL6240 Thunderbolt 3 Bridge (Low Power) [Alpine Ridge LP 2016] (rev 01) 03:01.0 PCI bridge: Intel Corporation JHL6240 Thunderbolt 3 Bridge (Low Power) [Alpine Ridge LP 2016] (rev 01) 03:02.0 PCI bridge: Intel Corporation JHL6240 Thunderbolt 3 Bridge (Low Power) [Alpine Ridge LP 2016] (rev 01) 04:00.0 System peripheral: Intel Corporation JHL6240 Thunderbolt 3 NHI (Low Power) [Alpine Ridge LP 2016] (rev 01) 3a:00.0 USB controller: Intel Corporation JHL6240 Thunderbolt 3 USB 3.1 Controller (Low Power) [Alpine Ridge LP 2016] (rev 01) 3d:00.0 Non-Volatile memory controller: Sandisk Corp WD Black 2018/PC SN720 NVMe SSD 00:00.0 Host bridge: Intel Corporation Coffee Lake HOST and DRAM Controller (rev 0c) 00:02.0 VGA compatible controller: Intel Corporation UHD Graphics 620 (Whiskey Lake) (rev 02) 00:04.0 Signal processing controller: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Thermal Subsystem (rev 0c) 00:08.0 System peripheral: Intel Corporation Xeon E3-1200 v5/v6 / E3-1500 v5 / 6th/7th Gen Core Processor Gaussian Mixture Model 00:12.0 Signal processing controller: Intel Corporation Cannon Point-LP Thermal Controller (rev 30) 00:14.0 USB controller: Intel Corporation Cannon Point-LP USB 3.1 xHCI Controller (rev 30) 00:14.2 RAM memory: Intel Corporation Cannon Point-LP Shared SRAM (rev 30) 00:14.3 Network controller: Intel Corporation Cannon Point-LP CNVi [Wireless-AC] (rev 30) 00:15.0 Serial bus controller [0c80]: Intel Corporation Cannon Point-LP Serial IO I2C Controller #0 (rev 30) 00:16.0 Communication controller: Intel Corporation Cannon Point-LP MEI Controller #1 (rev 30) 00:1c.0 PCI bridge: Intel Corporation Cannon Point-LP PCI Express Root Port #1 (rev f0) 00:1c.4 PCI bridge: Intel Corporation Cannon Point-LP PCI Express Root Port #5 (rev f0) 00:1d.0 PCI bridge: Intel Corporation Cannon Point-LP PCI Express Root Port #9 (rev f0) 00:1d.4 PCI bridge: Intel Corporation Cannon Point-LP PCI Express Root Port #13 (rev f0) 00:1f.0 ISA bridge: Intel Corporation Cannon Point-LP LPC Controller (rev 30) 00:1f.3 Audio device: Intel Corporation Cannon Point-LP High Definition Audio Controller (rev 30) 00:1f.4 SMBus: Intel Corporation Cannon Point-LP SMBus Controller (rev 30) 00:1f.5 Serial bus controller [0c80]: Intel Corporation Cannon Point-LP SPI Controller (rev 30) 00:1f.6 Ethernet controller: Intel Corporation Ethernet Connection (6) I219-V (rev 30) 01:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS522A PCI Express Card Reader (rev 01) 02:00.0 PCI bridge: Intel Corporation JHL6240 Thunderbolt 3 Bridge (Low Power) [Alpine Ridge LP 2016] (rev 01) 03:00.0 PCI bridge: Intel Corporation JHL6240 Thunderbolt 3 Bridge (Low Power) [Alpine Ridge LP 2016] (rev 01) 03:01.0 PCI bridge: Intel Corporation JHL6240 Thunderbolt 3 Bridge (Low Power) [Alpine Ridge LP 2016] (rev 01) 03:02.0 PCI bridge: Intel Corporation JHL6240 Thunderbolt 3 Bridge (Low Power) [Alpine Ridge LP 2016] (rev 01) 04:00.0 System peripheral: Intel Corporation JHL6240 Thunderbolt 3 NHI (Low Power) [Alpine Ridge LP 2016] (rev 01) 3a:00.0 USB controller: Intel Corporation JHL6240 Thunderbolt 3 USB 3.1 Controller (Low Power) [Alpine Ridge LP 2016] (rev 01) 3d:00.0 Non-Volatile memory controller: Sandisk Corp WD Black 2018/PC SN720 NVMe SSD
lspci
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 006: ID 06cb:00bd Synaptics, Inc. Bus 001 Device 005: ID 04f2:b681 Chicony Electronics Co., Ltd Integrated Camera Bus 001 Device 010: ID 2cb7:0210 FIBOCOM L830-EB Bus 001 Device 013: ID 1050:0407 Yubico.com Yubikey 4 OTP+U2F+CCID Bus 001 Device 007: ID 8087:0aaa Intel Corp. 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
FN Keys
Most FN keys should work out of the box, but if it doesn't, bind mentioned keys to below commands:
- F1 button:
amixer set Master toggle
. - F2 button:
amixer set Master 5%-
. - F3 button:
amixer set Master 5%+
. - F4 button:
amixer set Capture toggle
.
Touchpad
Touchpad is problematic. By default, if you hold the thumb over the button area, the pointer will not move. Once the system is installed, the problem disappears when using KDE, while GNOME still exhibits the issue. In GNOME, use the following to fix the problem:
xinput set-prop 'SynPS/2 Synaptics TouchPad' 'libinput Click Method Enabled' 1 0
Even after doing this, the mouse pointer still jumps around when clicking the button sometimes.
Current systemd v245 contains broken hwdb entry that sets invalid aspect ratio for the touchpad making it behave strangely.
Fingerprint Sensor
The fingerprint sensor works with some recent firmware and software updates (2019-12-15). Driver development info: [1].
- Use fwupd to install the latest firmware for "Synaptics Prometheus Fingerprint Reader". The update might have to be done manually as the released firmware is in testing; or you could enable the testing remote in fwupd to allow automated upgrade. The relevant firmwares are Prometheus Fingerprint Reader and Prometheus Fingerprint Reader Configuration.
- Latest fprintd and libfprint are required. fprintd-libfprint2AUR and libfprint-gitAUR can be useful here.
- fprint has more details on how to setup the fingerprint for PAM authentication for example.
Known Issues
Extremely high battery usage because of dedicated GPU
acpi_osi='!Linux-Lenovo-NV-HDMI-Audio'
.If your laptop is equipped with a Nvidia dedicated GPU (such as the GeForce MX250), you will likely encounter very high battery usage because the GPU will not turn off.
You can check the "power state" of the dedicated gpu with the following, where you need to change "3c:00.0" with the PCI BusID of your GPU you get from lspci | grep -i nvidia
:
cat /sys/bus/pci/devices/0000:3c:00.0/firmware_node/power_state
Power state 'D0' means your GPU is consuming a lot of power right now Power states 'D3hot' and 'D3cold' are the low-power modes where the GPU is basically turned off.
The following steps are required to fix this issue:
- Install nvidia, xf86-video-intel and bbswitch (optionally, install bumblebee or nvidia-xrunAUR to enable the card on-demand).
- Make sure to have the following inside file
/etc/X11/nvidia-xorg.conf
, where the ID after "PCI:" (60 in the example above) will be the output you get fromlspci | grep -i nvidia
, converted from hex to decimal (e.g., from3c
to60
):
Section "Device" Identifier "nvidia" Driver "nvidia" BusID "PCI:60:0:0" EndSection
- Load the bbswitch module at boot by running
echo bbswitch | sudo tee /etc/modules-load.d/bbswitch.conf
- Important: Edit
/etc/default/grub
and addacpi_osi='!Linux-Lenovo-NV-HDMI-Audio'
to the kernel command line parameters. This article has a short explaination why. Remember to regenerate grub.cfg by runningsudo grub-mkconfig -o /boot/grub/grub.cfg
(change the path depending on where your boot partition is), and reboot. This step is required because of a Lenovo bug in how they handle ACPI calls, which bbswitch relies on to power on/off your GPU.
- You can now turn on/off the dedicated GPU by running the following as root
tee /proc/acpi/bbswitch <<<OFF tee /proc/acpi/bbswitch <<<ON
Check the power status of the GPU by running cat /proc/acpi/bbswitch
.
Remember: bbswitch won't work if there is another driver using the GPU. If there is another driver using the GPU, you will get a warning inside {{ic|journalctl}. Simply remove the offending module by sudo rmmod nvidia
or sudo rmmod nouveau
.
- If you want to boot with your GPU disabled, run:
echo options bbswitch load_state=0 unload_state=1 | sudo tee /etc/modprobe.d/bbswitch.conf
And blacklist any nvidia/nouveau driver that tries to load at boot, by editing /etc/modprobe.d/blacklist.conf
:
blacklist nouveau blacklist nvidia-drm blacklist nvidia-modeset blacklist nvidia-uvm blacklist nvidia
- If you did everything correctly, you should experience a significant drop in battery usage on idle (e.g., from 7W to 3.5W on idle), almost doubling your battery life.
CPU throttling issue
With the BIOS Version 1.52 (this problem is known to occur on 1.52, it might still happen on other versions too), the CPU tends to throttle down to 400 MHz earlier than it should. In particular, this can be seen when using Bumblebee.
After installing BIOS Version 1.54, this problem is fixed.
Speaker noise issue
The speaker on the Lenovo Thinkpad T490 may have a high static hissing noise, which doesn't change if you lower the volume, but stops if you mute the speaker or use the headphone jack. This problem can't be fixed completely as of now. Updating to the most current BIOS version will make the speaker silent while it's not playing anything without you having to mute it all the time. But as soon as the user is playing sound, the noise will be back, clearly audible in the background.
Check the Lenovo Support Website for the newest BIOS Version.
MicroSD card reader issue
The MicroSD card reader works with the arch kernel 5.3.11-arch1-1. There have been issues with previous kernel versions.
Bluetooth
Works well with wireless headphones: no issues pairing or connecting with [Blueman] and [PulseAudio].
Slow wakeup after suspend
After suspend the laptop takes a few second until it becomes responsive. Disallowing the access to the WWAN device in the BIOS solves this issue.
ACPI
The default /etc/acpi/handler.sh
script has a check for the device that looks like this:
ac_adapter) case "$2" in AC|ACAD|ADP0)
This will not work, since the T490 device is called ACPI0003
which is not matched by the above check. The instructions in Acpid does mention a pattern that does work and it is recommended to use this instead.