Jump to content

# Lenovo ThinkPad P15s

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-manager-gitAUR.
- 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 Sound Open Firmware in order for the soundcard to work.

### 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 the Reddit guide for the X1 Extreme Gen2 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 (`howdy config` as root), if everything has worked correctly when running `howdy test` as root 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

Lenovo ThinkPad P15s
Add topic