Lenovo ThinkPad X1 Yoga (Gen 3)

From ArchWiki
Jump to: navigation, search

The Lenovo ThinkPad X1 Yoga, 3th generation is a 2-in-1 convertible laptop introduced in early 2018. Its design is closely related to the Lenovo ThinkPad X1 Carbon (Gen 6). It features a 14" screen, 8th-gen Intel Core processors and integrated Intel UHD 620 graphics.

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

# dmidecode -t system | grep Version
	Version: ThinkPad X1 Yoga 3rd
Device Working Modules
Intel graphics Yes i915, (intel_agp)
Wireless network Yes iwlmvm
Native Ethernet with included dongle Yes ?
Mobile broadband No¹ ?
Audio Yes snd_hda_intel
Touchpad Yes psmouse, rmi_smbus, i2c_i801
TrackPoint Yes psmouse, rmi_smbus, i2c_i801
TouchScreen Yes x86-input-wacom, libwacom
Stylus Yes x86-input-wacom, libwacom
Camera Yes uvcvideo
Fingerprint Reader No² ?
Power management Partial³ ?
Bluetooth Yes btusb
microSD card reader Yes scsi_mod
Keyboard Backlight Yes thinkpad_acpi
Function/Multimedia Keys Yes ?
  1. No working Linux driver for Fibocom L850-GL. See this thread and this thread for more info.
  2. The Validity90 project began reverse engineering the reader, but updates have stopped recently.
  3. S3 suspend requires BIOS modification - see section on suspend issues.

BIOS

Thunderbolt BIOS assist potential brick issue

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.

EC Fan issues under Linux

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

Automatic (Linux Vendor Firmware Service)

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.

Suspend issues

Tango-view-fullscreen.pngThis article or section needs expansion.Tango-view-fullscreen.png

Reason: This section needs to be written (Discuss in Talk:Lenovo ThinkPad X1 Yoga (Gen 3)#)

The 3rd Generation X1 Yoga supports S0i3 (also known as Windows Modern Standby), but not S3 by default. Missing S3 also causes hybrid-suspend to go directly to hibernate. Lenovo included a BIOS option to enable S3 fro BIOS 1.30 onward for the Lenovo ThinkPad X1 Carbon (Gen 6), but there is no equivalent option for the X1 Yoga as of BIOS version 1.27 (2018-10-21).

Verifying S3

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

 dmesg | grep -i "acpi: (supports"

and check for S3 in the list.

Enabling S3

Untested: there is an automatic patching script for the Carbon X1 Gen.6 x1carbon2018s3, that was written with full instructions on both enabling S3 and verifying the patch worked.

Enabling S2idle

Note: Since kernel version 4.18 acpi.ec_no_wakeup=1 is set by default

From the Lenovo forums: Add the following kernel parameter to enable S2idle support:

 acpi.ec_no_wakeup=1

For example, for GRUB, one might edit /etc/default/grub and edit GRUB_CMDLINE_LINUX_DEFAULT:

 GRUB_CMDLINE_LINUX_DEFAULT="quiet acpi.ec_no_wakeup=1"

then perform

 sudo update-grub

and restart the system.

Note: This supports only S2idle state, not S0i3 state as some seem to have been led to believe!

The power consumption might still be higher than that of the S3 state in this case.

Tablet Functions

For the most part, the touch screen and stylus work under Xorg after installing xf86-input-wacom package with no issues. See Tablet PC for further information.

Stylus

The default stylus buttons are mapped by the wacom driver as follows:

Physical Button Xorg mouse number
Top 2
Bottom "Eraser"

These can be changed with xsetwacom. To set the top button of the stylus to the equivalent of a middle click or Xorg mouse button 3:

 xsetwacom --set "Wacom Pen and multitouch sensor Pen stylus" Button 2 3

To register the "eraser" as a right click use:

 xsetwacom --set "Wacom Pen and multitouch sensor Pen eraser" Button 1 2

Screen Rotation

With Screen Rotator

Automatic screen rotation works well with ScreenRotator which has no configuration necessary. The touchscreen two finger swipe does not follow rotation at this time. Install iio-sensor-proxy-gitAUR and screenrotator-gitAUR.

Note: ScreenRotator is in early development stages.