Lenovo ThinkPad X1 Yoga (Gen 4)

HardwarePCI/USB IDWorking?
TouchpadYes
TrackPointYes
KeyboardYes
VideoYes
Webcam04f2:b67cYes
IR Webcam13d3:56baYes
EthernetYes
BluetoothYes
AudioYes
WirelessYes
Mobile broadbandUntested
Fingerprint readerYes
NFCYes
Screen orientation sensorYes
Touch screenYes
Wacom penYes

The Lenovo ThinkPad X1 Yoga, 4th generation is a 2-in-1 convertible laptop introduced in late 2019. Its design is closely related to the Lenovo ThinkPad X1 Carbon (Gen 7). 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 4th

Firmware

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.

BIOS hanging, not booting into bootloader

Sometimes, the BIOS just "hangs" and you cannot do anything but force-power off. This was fixed in the latest version of the Synaptics touchpad which you can install using fwupdmgr.

S3 Suspend Bug with Bluetooth Devices

Occasionally your Thinkpad will wake up immediately after suspending with certain bluetooth devices added. To prevent this, remove the devices or disable bluetooth before suspending.

Enabling S3

The UEFI has two Sleep State options, called Windows and Linux, which you can find in at Config > Power > Sleep State. See Power management/Suspend and hibernate for the explanation of the various sleep states.

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

Touchpad

Sometimes after a boot, the touchpad does not work. This was fixed in the latest firmware for the Synaptics device which you can install using fwupdmgr.

Fingerprint sensor

Install the latest fprintd package. Also install the firmware modules with fwupdmgr from the lvfs-testing remote:

$ fwupdmgr enable-remote lvfs-testing
$ fwupdmgr refresh
$ fwupdmgr update

See fprint for more details on how to setup fingerprints.

IR Webcam

Confirm you have an IR camera by typing:

$ lsusb|grep IMC.Networks.Integrated.Camera 

Shows (something like):

Bus 001 Device 003: ID 13d3:56ba IMC Networks Integrated Camera

The kernel drivers in Arch pick this up just fine, but there are packages like Howdy|howdyAUR authentication pam/python scripts that require linux-enable-ir-emitter

install the package linux-enable-ir-emitterAUR

# linux-enable-ir-emitter configure

Follow the prompts

Then run the enablement scripts:

# linux-enable-ir-emitter run

(Optional) test the functionality:

# linux-enable-ir-emitter test

Create the systemd link to the enablement scripts:

# linux-enable-ir-emitter boot

NFC

See https://github.com/nfc-tools/libnfc/issues/455

Screen orientation sensor

Install the latest iio-sensor-proxy package and reboot the system. Do not manually start the service as systemd DBUS handles it for you.

You can confirm the sensor is working by typing:

$ monitor-sensor --accel
=== Has accelerometer (orientation: normal)

Try open your Thinkpad to tablet mode and rotate it around to confirm it is sensing correctly. Use Ctrl+c to close the monitor-sensor process when done.

Function keys

Key Visible?1 Marked?2 Effect
Fn+EscNoYesEnables Fn lock
Fn+F1YesYesXF86AudioMute
Fn+F2YesYesXF86AudioLowerVolume
Fn+F3YesYesXF86AudioRaiseVolume
Fn+F4YesYesXF86AudioMicMute
Fn+F5YesYesXF86MonBrightnessDown
Fn+F6YesYesXF86MonBrightnessUp
Fn+F7YesYesXF86Display
Fn+F8YesYesXF86WLAN
Fn+F9YesYesXF86Tools
Fn+F10YesYesXF86Bluetooth
Fn+F11NoYesnone/opens keyboard config in Windows
Fn+F12YesYesXF86Favorites
Fn+BYesNoBreak
Fn+KYesNoScrollLock
Fn+PYesNoPause
Fn+SYesNoSysRq
Fn+4Yes3NoXF86Sleep
Fn+SpaceNoNotoggle keyboard backlight
Fn+Left ArrowYesNoHome
Fn+Right ArrowYesNoEnd
Fn+LNoNolow power mode
Fn+MNoNonormal power mode
Fn+HNoNohigh power mode
  1. The key is visible to xev and similar tools
  2. The physical key has a symbol on it, which describes its function
  3. systemd-logind handles this by default

Battery threshold settings

It is possible to set thresholds for when the battery should stop/start charging using

$ tlp setcharge start_value stop_value

The following values are recommended:

Laptop Usagestart valuestop value
Regularly complete discharge (<20%) of battery95100
No complete discharge, between 50% to 100%7580
No battery usage, always AC4550
This article is issued from Archlinux. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.