Lenovo ThinkPad P15s - ArchWiki

Jump to content
From ArchWiki

This article or section does not follow the Laptop page guidelines.

Reason: Stub, misses IDs in the hardware table, an accessibility, firmware and function key section. (Discuss in Talk:Lenovo ThinkPad P15s)

Hardware | PCI/USB ID | Working?
--- | --- | ---
GPU (Intel) |  | Yes
GPU (NVIDIA) |  | Yes
Wireless |  | Yes
Audio |  | Yes
Touchpad |  | Yes
Webcam |  | Yes
Card reader |  | Yes
Bluetooth |  | Yes
Thunderbolt |  | Yes
Fingerprint reader |  | Yes

The Thinkpad P15s is a thin-and-light 15.6" workstation laptop from Lenovo's 2020 ThinkPad P lineup.

This page specifically concerns the specifics of running Arch Linux on this laptop. See Laptop for generic laptop-related information, or ThinkPad for other ThinkPad laptops.

## Hardware

### Thunderbolt 3

Warning: Ensure you are on the latest BIOS, doing the following steps on older BIOSes may brick your device.

To use Thunderbolt 3:

1. Go into BIOS

2. Enable BIOS Assist mode: (Thunderbolt 3 -> Enable BIOS assist mode)

### NVIDIA

#### Prime features

The NVIDIA driver now supports PRIME Offloading. Following this guide you can try out this new mode.

#### Power Management

To get the best power options the graphics card may be configured to use low power mode by following the guide here

#### Optimus manager

Currently, one of the easiest solutions for this laptop is to use optimus-manager with the hybrid backend. This requires the most up to date nvidia and xorg-server packages.

This allows easy switching between the PRIME offloading feature above, and a mode where external display ports (HDMI and USB-C) work.

Steps to setup after a fresh install:

- Install nvidia proprietary driver 'prime', not bumblebee.
- Reboot.
- Install optimus-managerAUR.
- Reboot.
- `optimus-manager --switch nvidia` # this will restart your X session, but not make the change persistent.
- `lspci -k` should say: Kernel driver in use: nvidia.
- `xrandr` should list HDMI output - try to configure screen, should work.
- `nvidia-settings` should work.
- `optimus-manager --set-startup nvidia` makes it persistent.
- Check: reboot, external display should still work.

### Audio

This laptop requires firmware in order for the soundcard to work. See Advanced Linux Sound Architecture#ALSA firmware.

### Fingerprint

The 1.90.1 version of fprint supports this device.

### Webcam

The webcam in this laptop is capable of "Windows Hello" which has a Linux version called Howdy. The device you should use to configure howdy on this laptop is `/dev/video0`. It is possible that Howdy will only use the RGB camera, in this case some additional configuration and software is required. Follow this guide on installing chicony-ir-toggle and setting it up as a service. Or you can just install chicony-ir-toggle-gitAUR, which automatically helps you enable the IR camera after booting the system and waking up from sleep. Before installing chicony-ir-toggle-gitAUR, make sure you change the local variables in `prepare()` in PKGBUILD to match your own IR camera. In this case try changing the video device to `/dev/video2` in the howdy config `sudo howdy config`, if everything has worked correctly when running `sudo howdy test` the IR Camera should have a very faint red light. This will indicate that the camera is functioning and Howdy is using the IR camera correctly.

### Keyboard

#### Backlight

If you would like to enable the keyboard backlight, run:

    # echo 2 > /sys/class/leds/tpacpi::kbd_backlight/brightness

The "2" represents the brightness and can be any value between 0 and 2 (inclusive) for the laptop. For example, to turn off the keyboard backlight, you would run:

    # echo 0 > /sys/class/leds/tpacpi::kbd_backlight/brightness

### Touchpad

The touchpad works out-of-the-box with libinput. However, it will be very insensitive.

Make sure to not install xf86-input-synaptics - this driver is deprecated, lacks all features mentioned below, but is still installed by default with the xorg-drivers group.

You can check which input driver Xorg is using for your touchpad with:

    $ grep 'Using input driver' /var/log/Xorg.0.log | grep 'SynPS/2 Synaptics TouchPad'

    [   248.282] (II) Using input driver 'libinput' for 'SynPS/2 Synaptics TouchPad'

You can explicitly choose an input driver by placing an Xorg configuration snippet like the following in

    /etc/X11/xorg.conf.d/99-synaptics.conf

    Section "InputClass"
           Identifier "touchpad catchall"
           MatchIsTouchpad "on"
           Driver "libinput"
    EndSection

#### Acceleration

You can adjust acceleration using the command:

    $ xinput set-prop 'SynPS/2 Synaptics TouchPad' 'libinput Accel Speed' 0.5

#### Two-Finger Right Click

Additionally, if you wish to disable right-clicking so that you use two finger click as your right click, run:

    $ xinput set-prop 'SynPS/2 Synaptics TouchPad' 'libinput Click Method Enabled' 0 1

#### Tap Clicking

If you would like for a tap on the touchpad to be registered as a click, use:

    $ xinput set-prop 'SynPS/2 Synaptics TouchPad' 'libinput Tapping Enabled' 1

## Software

### Throttling fix

CPU throttling on the P15s is a known issue but can be easily fixed with undervolting by 100mV.

There are a few ways to fix this. You should only use one of the following as they both attempt to undervolt.

#### Throttled

To fix this install throttled, then start/enable `throttled.service`.

Note that on kernels 5.9 and newer, the `msr.allow_writes=on` kernel parameter is required to prevent error messages, for example:

    /etc/default/grub

    GRUB_CMDLINE_LINUX="msr.allow_writes=on"

#### CPU undervolting

Undervolting the CPU/Intel GPU works well with intel-undervolt.

Category:

- Lenovo

Hidden category:

- Pages or sections flagged with Template:Laptop style