Lenovo ThinkPad T450s
Contents
Model description
Lenovo ThinkPad T450s
Components
PCI (lspci) | Driver |
Intel Corporation Broadwell-U Host Bridge -OPI (rev 09) | bdw_uncore |
Intel Corporation Broadwell-U Integrated Graphics (rev 09) | i915 |
Intel Corporation Broadwell-U Audio Controller (rev 09) | snd_hda_intel |
Intel Corporation Wildcat Point-LP USB xHCI Controller (rev 03) | xhci_hcd; xhci_pci |
Intel Corporation Wildcat Point-LP MEI Controller #1 (rev 03) | mei_me |
Intel Corporation Ethernet Connection (3) I218-LM (rev 03) | e1000e |
Intel Corporation Wildcat Point-LP High Definition Audio Controller (rev 03) | snd_hda_intel |
Intel Corporation Wildcat Point-LP PCI Express Root Port (rev e3) | pcieport; shpchp |
Intel Corporation Wildcat Point-LP USB EHCI Controller (rev 03) | ehci-pci; ehci_pci |
Intel Corporation Wildcat Point-LP LPC Controller (rev 03) | lpc-ich; lpc_ich |
Intel Corporation Wildcat Point-LP SATA Controller [AHCI Mode] (rev 03) | ahci |
Intel Corporation Wildcat Point-LP SMBus Controller (rev 03) | i801_smbus; i2c_i801 |
Intel Corporation Wildcat Point-LP Thermal Management Controller (rev 03) | |
Realtek Semiconductor Co., Ltd. RTS5227 PCI Express Card Reader (rev 01) | rtsx_pci |
Intel Corporation Wireless 7265 (rev 59) | iwlwifi |
USB (usb-devices/lsusb) | Driver |
Intel Corporation USB root hub | hub |
Validity Sensors Fingerprint Reader | |
Intel Corporation Bluetooth | btusb |
Chicony Electronics Integrated Camera | uvcvideo |
Support
Device | Working |
Intel graphics | Yes |
Wireless network configuration | Manual |
ALSA | Yes |
Touchpad | Manual |
Trackpad | Yes |
Webcam | Yes |
Configuration
Kernel version
The followin errors are encountred on boot since the version 4.10 of the kernel
Error parsing PCC subspaces from PCCT (bug report)
ACPI Error: Needed type [Reference], found [Integer]
Add loglevel=0 to your kernel parameter to hide these errors.
Intel ucode
Be sure to install intel ucode for ucode update on intel CPUs and regenerate your boot loader. See Microcode for details.
pacman -S intel-ucode
Display
(Is this still applicable ? No flicker problem (tearing only) with recent linux-lts Feb 2018)
The Intel display is run with the i915 driver, which has become unstable in the 4.2+ series of kernels. Regrettably, this instability has found its way into the current linux-lts kernel (see this forum thread). A working fix is to downgrade your kernel to version 4.1.21-1, and wait for the problem to be fixed.
This was easy for me to do, because I had previously downloaded the package in /var/cache/pacman/pkg. All I needed to do was navigate to that directory as root and run pacman -U linux-lts-4.1.21-1-x86_64.pkg.tar.xz and it Just Worked. If you do not have the package already downloaded, you can find it in the Arch Linux Archive.
I also edited /etc/pacman.conf and added linux-lts and linux-lts-headers to my IgnorePkg line, so they would not be inadvertently upgraded when I do system updates.
Tearing
You can get rid of video tearing by creating /etc/X11/xorg.conf.d/20-intel.conf and adding this:
Section "Device" Identifier "Intel Graphics" Driver "intel" Option "AccelMethod" "uxa" EndSection
If symptoms persist try this also
/etc/X11/xorg.conf.d/20-intel.conf
Section "Device" Identifier "Intel Graphics" Driver "intel" Option "TearFree" "true" EndSection
Wireless
The T450s comes with two wireless card configurations: a Realtek chip that's run with the rtl8192ee driver, and an intel chip upgrade that I read somewhere didn't play well with Linux, so I chose the realtek driver.
rtl8192ee
The stock driver under the 4.x kernel is not reliable, frequently dropping connections and requiring to be re-set. One solution is to install this updated driver, which contains device-specific fixes and will ultimately be integrated into the kernel around version 4.7.
In order to build and install the new drivers, all that is required is to have your kernel headers installed-- meaning linux-headers or linux-lts-headers -- make sure the version of headers installed matches your currently installed kernel-- and then pull the git repository, make, and sudo make install. After a reboot you will be running the new, improved driver.
Note- this driver still has some problems for me: I have found that I have to modprobe -r rtl8192ee before suspend, and then modprobe rtl8192ee after suspend, in order to connect to some/most access points. However, the new driver no longer drops connections unexpectedly.
Touchpad
You can install xf86-input-libinput and see Libinput for configuration.
Sound
Make sure to install alsa-utils/ or that it is installed.
See ALSA#Set the default sound card to set the default sound card to Intel PCH (speakers and headphones).
/etc/modprobe.d/thinkpad-t450s.conf
options snd_hda_intel index=1,0
make sure to reboot after these changes.
Fingerprint Reader
I compiled libfprint-git from the AUR, although it is possible that the version from the repos might work. Then set up Fprint or Fingerprint-gui.
As of version 0.7.0-1, the fprintd package from Extra repo works out of the box (no need to compile it yourself).
Function Keys
All "special" keys either function or map to Xorg special key classes out of the box. Mappings are below:
Key | Console Keycode | XF86 Keysym | Windows 7 Function | Needs script |
F1 | 113 | XF86AudioMute | Mute speakers | No |
F2 | 114 | XF86AudioLowerVolume | Decreases the speaker volume | No |
F3 | 115 | XF86AudioRaiseVolume | Increases the speaker volume | No |
F4 | 190 | XF86AudioMicMute | Mutes/unmutes microphone | No |
F5 | 224 | XF86MonBrightnessDown | Darkens display | No |
F6 | 225 | XF86MonBrightnessUp | Brightens display | No |
F7 | 227 | XF86Display | Switch between internal and external display | No |
F8 | 238 | XF86WLAN | Enable/disable wireless | Yes |
F9 | 171 | XF86Tools | Open "Control Panel" | No |
F10 | 217 | XF86Search | Open "Windows Search" | No |
F11 | 120 | XF86LaunchA | View open programs | No |
F12 | 144 | XF86Explorer | Open "Computer" | No |
Fn+4 | 142 | XF86Sleep | Enters sleep mode | NO |
Fn+p | 119 | Pause | Pause | Yes |
Fn+s | 56+99 | Sys_Req | SysReq | Yes |
Fn+K | 70 | Scroll_Lock | Scroll Lock | Yes |
Fn+B | 29+119 | Break | Break | Yes |
Fn+Spacebar | NONE | XF86Wakeup | Adjusts keyboard backlight | No |
Note that there is a BIOS option to change the function keys so that F1 - F12 are the primary and the listed functions are only triggered by the "Fn" key.
Power Management
Be sure to install tlp or powertop.
sudo pacman -S tlp sudo systemctl enable tlp.service sudo systemctl start tlp.service
You can use tlp and powertop together (launch powertop as a service), but delete all the options on tlp and leave only the battery parameters
/etc/default/tlp
# Set to 0 to disable, 1 to enable TLP. TLP_ENABLE=1 # Dirty page values (timeouts in secs). MAX_LOST_WORK_SECS_ON_BAT=15 # Battery charge thresholds (ThinkPad only, tp-smapi or acpi-call kernel module # required). Charging starts when the remaining capacity falls below the # START_CHARGE_TRESH value and stops when exceeding the STOP_CHARGE_TRESH value. # Main / Internal battery (values in %) START_CHARGE_THRESH_BAT0=50 STOP_CHARGE_THRESH_BAT0=60 # Ultrabay / Slice / Replaceable battery (values in %) START_CHARGE_THRESH_BAT1=60 STOP_CHARGE_THRESH_BAT1=70
NB: with the version 4.17 of the kernel tlp should not be necessary anymore to set up the thresholds:
/sys/class/power_supply/BAT{0-1}/charge_start_threshold /sys/class/power_supply/BAT{0-1}/charge_stop_threshold
To enable power save mode on the audio:
/etc/modprobe.d/audio_powersave.conf
options snd_hda_intel power_save=1
To decrease the consumption of the intel chipset add i915.enable_psr=1 to your kernel parameters (details here).
You can try to undervolt your system (look for intel undervolt). I only managed to undervolt the CPU (i7-5600U).
SSD
If you have an SSD installed, either add the discard option in the fstab for all partitions,
/dev/sda1 /boot vfat relatime,discard,errors=remount-ro 0 1 /dev/sda2 / ext4 relatime,discard,errors=remount-ro 0 2 /sev/sda3 none swap sw,discard 0 0
or use fstrim.
sudo systemctl enable fstrim.timer; sudo systemctl start fstrim.timer
LEDs
There are six LEDs. All work out of the box. See the Lenovo manual for location and functionality of LEDs.
Intel Rapid Start Technology (IRST)
The T450s has firmware support for IRST. This will only be available if the T450s has an SSD rather than a traditional spinning-disc drive. The 16GB M.2 cache SSD can also be used for the IRST partition.
- "[t]he concept of IRST is pretty simple. There's a firmware mechanism for setting a sleep timeout. If you suspend your computer and this timeout expires, it'll resume. However, instead of handing control back to the OS, the firmware just copies the entire contents of RAM to a special partition and turns the computer off. Next time you hit the power button, the firmware dumps the partition contents back into RAM and resumes as if nothing had changed. This takes a few seconds longer than resume from S3 but is far faster than resume from hibernation since it starts the moment the system gets power."
More specifically:
- "[t]he first thing to know about this feature is that it's entirely invisible unless your hard drive is set up correctly. There needs to be a partition that's at least the size of your system's physical RAM. For GPT systems, this needs to have a type GUID of D3BFE2DE-3DAF-11DF-BA-40-E3A556D89593. For MBR systems, you need a partition type of 0x84. If the firmware doesn't find an appropriate partition then the OS will get no indication that the firmware supports it."
If you are not wiping and repartitioning your disk entirely as you prepare your drive for Arch installation, merely retain the existing IRST partition. It should show up as an unformatted partition whose size is equal to that of the T450s's RAM.
If you are wiping and repartitioning your disk, then create an empty partition with a size equal to your T450s's RAM. Then set the flag for the partition to "irst" using parted or GParted.
Now if you leave your T450s suspended to RAM for a certain period of time (3 hours is the default in BIOS) it will automatically wake back up after the configured period, copy the contents of RAM to the IRST partition, and turn itself off. When you power the laptop back up, instead of the regular boot process, it will copy the contents of the partition to RAM and resume from where you left off.
See also
- Lenovo T450s support page (including downloadable technical manual)
- Installing Debian Jessie on Thinkpad 450s
- Phoronix article Fedora on Thinkpad 450s