Jump to content
From ArchWiki

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

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+Esc` | No | Yes | Enables Fn lock
`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 | none/opens keyboard config in Windows
`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+4` | Yes3 | No | `XF86Sleep`
`Fn+Space` | No | No | toggle keyboard backlight
`Fn+Left Arrow` | Yes | No | `Home`
`Fn+Right Arrow` | Yes | No | `End`
`Fn+L` | No | No | low power mode
`Fn+M` | No | No | normal power mode
`Fn+H` | No | No | high 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: [1]

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

Category:

- Lenovo