Jump to content

# Lenovo ThinkPad X1 Yoga (Gen 3)

From ArchWiki

Hardware | PCI/USB ID | Working?
--- | --- | ---
Touchpad | (I2C) | Yes
TrackPoint | (I2C) | Yes
Touchscreen | `056a:5144` (?) | Yes
Pen | `056a:5146` | Yes
Keyboard |  | Yes
GPU | `8086:5917` | Yes
Webcam | `04f2:b61e` | Yes
Ethernet | `8086:15d7` | Yes
Bluetooth | `8087:0a2b` | Yes
MicroSD card slot | `0bda:0328` | Yes
Audio | `8086:9d71` | Yes
Wireless | `8086:24fd` | Yes
Mobile broadband (PCI mode) | `8086:7360` | No
Mobile broadband (USB mode) | `2cb7:0007` | Yes
Fingerprint Reader | `06cb:009a` | Yes

The Lenovo ThinkPad X1 Yoga, 3th generation (X1Y3) is a 2-in-1 convertible laptop introduced in 2018. There are several different models (`20ld`, `20le`, `20lf`, `20lg`). Its design is closely related to the Lenovo ThinkPad X1 Carbon (Gen 6). It features a 14" screen, 8th-gen Intel Core processors (Kaby Lake), an integrated stylus, and integrated Intel UHD 620 graphics.

To ensure you have this version, install the package dmidecode and run:

    # dmidecode -s system-version
    ThinkPad X1 Yoga 3rd

## Firmware

Several Linux users reported their systems were bricked after enabling "Thunderbolt BIOS assist" in the UEFI menu. Lenovo has released BIOS version 1.27 which prevents this issue. See this thread on the Lenovo forums for details.

Under BIOS version 1.24 the embedded controller will no longer spin the fan up properly during high system load causing CPU throttling issues. Reverting to version 1.21 will restore normal functions or you can use the ThinkFanAUR package to control it via the OS. See Fan speed control#ThinkPad laptops for details.

### Updates

In August of 2018 Lenovo has joined the Linux Vendor Firmware Service (LVFS) project, which enables firmware updates from within the OS. BIOS updates (and possibly other firmware such as the Thunderbolt controller) can be queried for and installed through fwupd.

#### Manual

Download the latest BIOS image from the Lenovo Thinkpad X1 Yoga 3rd Gen downloads page. Obtain geteltoritoAUR and run `geteltorito.pl -o bios-update.img xxxxxxxx.iso` on the downloaded ISO file to create a valid El Torito image file, then flash this file on a USB drive via `dd` like you would flash Arch installation media. For further information see flashing BIOS from Linux.

The ThinkPad X1 Yoga supports setting a custom splash image at the earliest boot stage (instead of the red "Lenovo" logo), more information can be found in the `README.TXT` located in the `FLASH` folder of the update image.

## Mobile broadband

Fibocom L850-GL works after turning it into USB mode with https://github.com/xmm7360/xmm7360-usb-modeswitch.

Install the acpi_call kernel module, then run the `xmm2usb` tool as root, then wait a few seconds for the USB modem to come up.

## Power management

To check whether S3 is recognized and usable by Linux, run:

     # journalctl -k --grep "acpi: pm: \(supports"

and check for `S3` in the list.

### Enabling S3 sleep

Since of May 17, 2019, Lenovo released firmware 1.33, which let you enable "legacy" S3 sleep in UEFI/BIOS. You can find the option in ThinkPad Setup: Config > Power and disable Optimized Sleep State for Modern Standby.

Reboot and verify whether deep sleep is available, as explained in Power management/Suspend and hibernate#Changing suspend method.

### Fix touchscreen after resume

The X1Y3 has a firmware bug where the touchscreen may not come up again after waking up from S3 suspend/resume.

The following fixes were pulled from: Lenovo Linux Forums

#### Using acpi_call

Install and enable the acpi_call kernel module.

Add the following systemd service:

    /etc/systemd/system/activate-touch-hack.service

    [Unit]
    Description=Touch wake Thinkpad X1 Yoga 3rd gen hack
    After=suspend.target hibernate.target hybrid-sleep.target suspend-then-hibernate.target

    [Service]
    ExecStart=/bin/sh -c "echo '\\_SB.PCI0.LPCB.EC._Q2A'  > /proc/acpi/call"

    [Install]
    WantedBy=suspend.target hibernate.target hybrid-sleep.target suspend-then-hibernate.target

Enable `activate-touch-hack.service`.

#### Disabling Thunderbolt

Some users have reported that disabling Thunderbolt in BIOS -> Security -> IO ports -> Thunderbolt permanently fixes the touchscreen issue. As a consequence, docking stations may have some features disabled.

## Fingerprint reader

See Lenovo ThinkPad T480s#Fingerprint reader.

## Accelerometer

If you want the screen to auto-rotate if turned upside down or sideways, install the iio-sensor-proxy package. Start the `iio-sensor-proxy.service` or simply reboot to apply.

## Touchscreen ghost touches

Some Thinkpad X1Y3 touchscreens are affected by a hardware issue that manifests itself as "ghost touch" events along the outer edges of the screen. On X11, with the xf86-input-wacom driver installed, it is possible to work around this by configuring the tablet driver to ignore touch events in the outermost row of pixels.

First, use `xsetwacom` to show the sensors (touch, stylus etc.) supported by the touchscreen:

    # xsetwacom list devices
    Wacom Pen and multitouch sensor Finger touch    id: 9   type: TOUCH
    Wacom Pen and multitouch sensor Pen stylus      id: 10  type: STYLUS
    Wacom Pen and multitouch sensor Pen eraser      id: 18  type: ERASER

Note down the ID of the TOUCH sensor, then check the active area of the touchscreen:

    # xsetwacom get 9 Area
    0 0 12373 6961

Now configure the Area parameter by moving all edges inward by 1:

    # xsetwacom set 9 Area 1 1 12372 6960

If you are still getting ghost clicks, they might be from the stylus tool, in that case repeat the operation with the stylus ID:

    # xsetwacom get 10 Area
    0 0 30935 17401
    # xsetwacom set 10 Area 1 1 30934 17400

## Missing keys on some layouts

People using the device with a German keyboard layout will quickly notice that the `<>` key is missing (to which `|` is also bound). This can also be the case for other layouts.

To work around this without switching back to the device's "native" layout, the Compose key can be used.

## Function keys

Key | Visible?1 | Marked?2 | Effect
--- | --- | --- | ---
`Fn+Esc` | No | Yes | Enables Fn lock
`Fn` | Yes | Yes | `XF86WakeUp`
`Fn+F1` | Yes | Yes | `XF86AudioMute`
`Fn+F2` | Yes | Yes | `XF86AudioLowerVolume`
`Fn+F3` | Yes | Yes | `XF86AudioRaiseVolume`
`Fn+F4` | Yes | Yes | `XF86AudioMicMute`
`Fn+F5` | Yes | Yes | `XF86MonBrightnessDown`
`Fn+F6` | Yes | Yes | `XF86MonBrightnessUp`
`Fn+F7` | Yes | Yes | `XF86Display`
`Fn+F8` | Yes | Yes | `XF86WLAN`
`Fn+F9` | Yes | Yes | `XF86Tools`
`Fn+F10` | Yes | Yes | `XF86Bluetooth`
`Fn+F11` | No | Yes | Unknown
`Fn+F12` | Yes | Yes | `XF86Favorites`
`Fn+B` | Yes | No | `Break`
`Fn+K` | Yes | No | `ScrollLock`
`Fn+P` | Yes | No | `Pause`
`Fn+S` | Yes | No | `SysRq`
`Fn+Left Arrow` | Yes | No | `Home`
`Fn+Right Arrow` | Yes | No | `End`
`Fn+Space` | No | Yes | Toggle Keyboard Backlight

1. The key is visible to `xev` and similar tools.
2. The physical key has a symbol on it, which describes its function.

## See also

- Product Specifications Reference (PSREF)
- Hardware maintenance manual
- User guide

Category:

- Lenovo