Lenovo ThinkPad P40 Yoga

From ArchWiki

Tango-edit-clear.pngThis article or section does not follow the Laptop page guidelines.Tango-edit-clear.png

Reason: This page is just consisting of lspci/lsusb dumps and scripts which are not even doing device-specific things (Discuss in Talk:Lenovo ThinkPad P40 Yoga)
Hardware PCI/USB ID Working?
GPU (Intel) Yes
GPU (Nvidia) Yes
Wireless Yes
Audio Yes
Touchpad Yes
Touchscreen Yes
Webcam Yes
Card reader Yes
Fingerprint reader Yes
Bluetooth Yes
Accelerometer Yes

Configuration

Automatic rotation

Install iio-sensor-proxy-gitAUR. Under GNOME, rotation will happen automatically. Under i3, you can use this script in the background:

#!/bin/sh
# Requires https://github.com/hadess/iio-sensor-proxy

dbus-monitor --system interface=org.freedesktop.DBus.Properties,member=PropertiesChanged,path=/net/hadess/SensorProxy 2> /dev/null |
        sed -n -u -e '/string "AccelerometerOrientation"/ {n ; s/\s*variant\s*string\s*"\(.*\)"/\1/p}' |
        while read -r line ; do
                case $line in
                        right-up )
                                xrandr -o right &> /dev/null
                                ;;
                        left-up )
                                xrandr -o left &> /dev/null 
                                ;;
                        bottom-up )
                                xrandr -o inverted &> /dev/null
                                ;;
                        normal | * )
                                xrandr -o normal &> /dev/null
                                ;;
                 esac
        done

In order to have your touchpad, Trackpoint, touchscreen and stylus also change orientation, install xrandr-align and run the following script at startup:

#!/bin/sh
# Requires https://github.com/wolneykien/xrandr-align

for input in \
        "Wacom Co.,Ltd. Pen and multitouch sensor Finger touch" \
        "Wacom Co.,Ltd. Pen and multitouch sensor Pen stylus" \
        "ETPS/2 Elantech Touchpad" \
        "ETPS/2 Elantech TrackPoint" \
        "Wacom Co.,Ltd. Pen and multitouch sensor Pen eraser" ; do
        xrandr-align monitor --input="$input" &
done

Hardware Overview

# dmidecode | grep -A3 '^System Information'
 System Information
         Manufacturer: LENOVO
         Product Name: 20GQCTO1WW
         Version: ThinkPad P40 Yoga
$ lspci -nn
 00:00.0 Host bridge [0600]: Intel Corporation Skylake Host Bridge/DRAM Registers [8086:1904] (rev 08)
 00:02.0 VGA compatible controller [0300]: Intel Corporation HD Graphics 520 [8086:1916] (rev 07)
 00:08.0 System peripheral [0880]: Intel Corporation Skylake Gaussian Mixture Model [8086:1911]
 00:13.0 Non-VGA unclassified device [0000]: Intel Corporation Device [8086:9d35] (rev 21)
 00:14.0 USB controller [0c03]: Intel Corporation Sunrise Point-LP USB 3.0 xHCI Controller [8086:9d2f] (rev 21)
 00:14.2 Signal processing controller [1180]: Intel Corporation Sunrise Point-LP Thermal subsystem [8086:9d31] (rev 21)
 00:16.0 Communication controller [0780]: Intel Corporation Sunrise Point-LP CSME HECI #1 [8086:9d3a] (rev 21)
 00:16.3 Serial controller [0700]: Intel Corporation Device [8086:9d3d] (rev 21)
 00:17.0 SATA controller [0106]: Intel Corporation Sunrise Point-LP SATA Controller [AHCI mode] [8086:9d03] (rev 21)
 00:1c.0 PCI bridge [0604]: Intel Corporation Device [8086:9d13] (rev f1)
 00:1c.5 PCI bridge [0604]: Intel Corporation Sunrise Point-LP PCI Express Root Port #6 [8086:9d15] (rev f1)
 00:1d.0 PCI bridge [0604]: Intel Corporation Sunrise Point-LP PCI Express Root Port #9 [8086:9d18] (rev f1)
 00:1e.0 Signal processing controller [1180]: Intel Corporation Sunrise Point-LP Serial IO UART Controller #0 [8086:9d27] (rev 21)
 00:1f.0 ISA bridge [0601]: Intel Corporation Sunrise Point-LP LPC Controller [8086:9d48] (rev 21)
 00:1f.2 Memory controller [0580]: Intel Corporation Sunrise Point-LP PMC [8086:9d21] (rev 21)
 00:1f.3 Audio device [0403]: Intel Corporation Sunrise Point-LP HD Audio [8086:9d70] (rev 21)
 00:1f.4 SMBus [0c05]: Intel Corporation Sunrise Point-LP SMBus [8086:9d23] (rev 21)
 00:1f.6 Ethernet controller [0200]: Intel Corporation Ethernet Connection I219-LM [8086:156f] (rev 21)
 02:00.0 SD Host controller [0805]: O2 Micro, Inc. SD/MMC Card Reader Controller [1217:8520] (rev 01)
 03:00.0 Network controller [0280]: Intel Corporation Wireless 8260 [8086:24f3] (rev 3a)
 06:00.0 3D controller [0302]: NVIDIA Corporation GM108GLM [Quadro K620M / Quadro M500M] [10de:137a] (rev ff)
$ lsusb
 Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
 Bus 001 Device 005: ID 138a:0017 Validity Sensors, Inc. Fingerprint Reader
 Bus 001 Device 004: ID 8087:0a2b Intel Corp. 
 Bus 001 Device 003: ID 13d3:5248 IMC Networks 
 Bus 001 Device 002: ID 056a:504a Wacom Co., Ltd 
 Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

See also

Official Support page

ThinkPad P40 Yoga Platform Specifications