Lenovo ThinkPad X1 Yoga (Gen 3)

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
Wi-Fi
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
ThinkFan
AUR
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
geteltorito
AUR
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
The key is visible to
xev
and similar tools.
The physical key has a symbol on it, which describes its function.
See also
Product Specifications Reference (PSREF)
Hardware maintenance manual
User guide