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.
Hardware | PCI/USB ID | Working? |
---|---|---|
Touchpad | Yes | |
TrackPoint | Yes | |
Keyboard | Yes | |
Video | Yes | |
Webcam | 04f2:b67c | Yes |
IR Webcam | 13d3:56ba | Yes |
Ethernet | Yes | |
Bluetooth | Yes | |
Audio | Yes | |
Wireless | Yes | |
Mobile broadband | Untested | |
Fingerprint reader | Yes | |
NFC | Yes | |
Screen orientation sensor | Yes | |
Touch screen | Yes | |
Wacom pen | Yes |
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
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+Esc | Yes | Enables Fn lock | |
Yes | Yes | ||
Yes | Yes | ||
Yes | Yes | XF86AudioRaiseVolume | |
Yes | Yes | ||
Fn+F5 | |||
Yes | Yes | ||
Yes | Yes | ||
Yes | Yes | XF86WLAN | |
Yes | Yes | ||
Yes | Yes | XF86Bluetooth | |
Yes | none/opens keyboard config in Windows | ||
Yes | Yes | ||
Yes | |||
Yes | ScrollLock | ||
Yes | |||
Yes | |||
Yes3 | XF86Sleep | ||
toggle keyboard backlight | |||
Yes | |||
Yes | End | ||
low power mode | |||
normal power mode | |||
high power mode |
- The key is visible to and similar tools
- The physical key has a symbol on it, which describes its function
- 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 Usage | start value | stop value |
---|---|---|
Regularly complete discharge (<20%) of battery | 95 | 100 |
No complete discharge, between 50% to 100% | 75 | 80 |
No battery usage, always AC | 45 | 50 |