Lenovo ThinkPad Yoga 370

From ArchWiki
Hardware PCI/USB ID Working?
Touchscreen 056a:50b0 Yes
Touchpad Yes
Accelerometer Yes
Ambient light sensor Yes
WWAN 1199:9079 Untested
Wireless 8086:24fd Yes
Bluetooth 8087:0a2b Yes
Stylus Yes
Keyboard Yes
GPU 8086:5916 Yes
Webcam 04f2:b5ce Yes
Fingerprint reader 138a:0097 Yes
Audio 8086:9d71 Yes
MicroSD card reader 10ec:522a Yes
Smart card reader Unknown Untested

The Yoga 370 is a convertible Laptop made by Lenovo. It was released in 2017.

Installation

This laptop supports both UEFI and BIOS booting mechanisms. To boot in legacy mode, CSM Support must also be enabled in the UEFI BIOS settings.

Hardware

Most of the hardware works out-of-the-box, the exeception are bluetooth, fingerprint reader, accelerometer and ambient light sensor.

Bluetooth

To make bluetooth work you need to install package blueman and bluez

Fingerprint reader

Install python-validityAUR.

Start/enable python3-validity.service after installing package.

Note: Alternatively you can install package python-validity-gitAUR from AUR

Accelerometer and ambient light sensor

To make this devices work with GNOME you need to install iio-sensor-proxy package.

As of now the version of the iio-sensor-proxy package in the community repository is 3.1 which is outdated and contains a bug that makes it incompatible with the yoga 370 (accelerator does not work). To solve this issue install version 3.3 available on git: tag 3.3.

If you have an outdated version containing the bug you can run monitor-sensor to verify. If it gives the following output:

+++ iio-sensor-proxy appeared
=== Has accelerometer (orientation: undefined)

update to 3.3.

Firmware

This laptop supports SecureBoot with custom signed keys. fwupd seems to also work well and without any problems.

Tips and Tricks

Fingerprint reader not working at all

Fingerprint reader may not work, if that happens try to find help on the python-validity github page.

Fingerprint reader stops working

Sometimes fingerprint reader will stop working after sleep or hibernation for no apparent reason. Enable both open-fprintd-suspend.service and open-fprintd-resume.service if that happens.

Alternatively create a systemd service, by creating the unit /etc/systemd/system/fingerprint-restart.service with the following contents:

/etc/systemd/system/fingerprint-restart.service
[Unit]
Description=It resets fingerprint reader sevice in order for it to work. 
After=suspend.target

[Service]
User=root
Type=oneshot
ExecStart=systemctl restart python3-validity
TimeoutSec=0
StandardOutput=syslog

[Install]
WantedBy=suspend.target

Do not forget to enable fingerprint-restart.service.

Check stylus charging status

To check stylus stylus charge, you need to use:

$ upower -i /org/freedesktop/UPower/devices/tablet_wacom_battery_0 |grep percentage
Note: GNOME seems to show it out-of-the-box in settings.

Using in tablet mode

Detecting whether machine is in tablet mode or laptop mode can be done with

# cat /dev/input/by-path/platform-thinkpad_acpi-event

When you fold/unfold the device appropriate info should be displayed.

If you desire to use this laptop in tablet mode you may be interested in this article about Touchscreen in Arch Linux.

See also