Lenovo ThinkPad X1 Yoga (Gen 4)

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.

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

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 BIOS has two "Sleep State" options, called "Windows" and "Linux", which you can find in at . The Linux option is the traditional S3 power state where all hardware components are turned off except for the RAM, and it should work normally. The Windows option is a newer software-based "modern standby" which works on Linux (despite the name). One possible benefit to the Windows sleep state is faster wake up time, and one possible drawback is increased power usage.

Reboot and verify whether S3 is working by running:

# dmesg | grep -i "acpi.*(supports"

You should now see something like this:

 [    0.230796] ACPI: (supports S0 S3 S4 S5)

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 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| 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 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

You should see the following:

 === Has accelerometer (orientation: normal)

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

Function keys

Key Visible?1 Marked?2 Effect
Fn+EscYesEnables Fn lock
YesYes
YesYes
YesYesXF86AudioRaiseVolume
YesYes
Fn+F5
YesYes
YesYes
YesYesXF86WLAN
YesYes
YesYesXF86Bluetooth
Yesnone/opens keyboard config in Windows
YesYes
Yes
YesScrollLock
Yes
Yes
Yes3XF86Sleep
toggle keyboard backlight
Yes
YesEnd
low power mode
normal power mode
high power mode
  1. The key is visible to 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
gollark: It's a conspiracy of the conspiracy formed by Big Graveyard *and* Big Cremation.
gollark: Death is a conspiracy by Big Graveyard.
gollark: (yes, this is in fact the canonical definition of computers)
gollark: All computers can, by definition.
gollark: Since you can do more computation per unit energy at lower temperatures, and as the universe expands and loses usable energy it cools, I think some physicist worked out that you could manage to fit in an infinite amount of computing over infinite time somehow.
This article is issued from Archlinux. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.