Lenovo ThinkPad X390 Yoga - ArchWiki

# Lenovo ThinkPad X390 Yoga

From ArchWiki
Jump to navigation Jump to search

Related articles

- Lenovo ThinkPad X1 Yoga (Gen 4)

The Lenovo ThinkPad X30 Yoga is a 2-in-1 convertible laptop introduced in 2018. Its design is related to the Lenovo ThinkPad X1 Yoga (Gen 4). It features a 13.3" 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 X390 Yoga

Device | Working | Modules
Intel graphics | Yes | i915, (intel_agp)
Wireless network | Yes | iwlmvm
Native Ethernet with [1] | ? | ?
Mobile broadband | Yes | cdc_mbim
Audio | Yes | snd_hda_intel
Touchpad | Yes | psmouse, rmi_smbus, i2c_i801
TrackPoint | Yes | psmouse, rmi_smbus, i2c_i801
TouchScreen | Yes | wacom, libinput or xf86-input-wacom, libwacom
Stylus | Yes | wacom, x86-input-wacom, libwacom
Camera | Yes | uvcvideo
Fingerprint Reader | Yes | fprintd-libfprint2
Power management | Yes | ?
Bluetooth | Yes | btusb
microSD card reader | Yes | scsi_mod
Keyboard Backlight | Yes | thinkpad_acpi
Function/Multimedia Keys | Yes | ?

## BIOS

### Thunderbolt BIOS settings issue

I was unable to disable Thunderbolt DMA protection and Virtualization settings when the notebook arrived. A BIOS update (using fwupdmgr) solved the issue.

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

### Fix touchscreen after resume

There are several possibilities, I opted for reloading the wacom kernel module:

    /usr/lib/systemd/system-sleep/10-wacom.sh

    #!/bin/bash

    case $1/$2 in
      pre/*)
        # echo "Going to $2..."
        /usr/bin/rmmod wacom
        ;;
      post/*)
        # echo "Waking up from $2..."
        /usr/bin/modprobe wacom
        ;;
    esac

This reloads the wacom kernel module during standby and fixes the issue for me. Other possible options can be found in the related ThinkPad articles, like disabling Thunderbolt or using rtcwake for 1 second. Both options didn't work reliably for me.

## Tablet Functions

For the most part, the touch screen and stylus work under Xorg after installing xf86-input-wacom package with no issues. However, I found the touchscreen to perform much better using libinput. I created the following file:

    /etc/X11/xorg.conf.d/40-libinput.conf

    Section "InputClass"
      Identifier "touchscreen config"
      MatchProduct "Wacom|WACOM|PTK-540WL|ISD-V4"
      MatchDevicePath "/dev/input/event*"
      MatchIsTouchscreen "on"
      Driver "libinput"
      Option "Tapping" "true"
      Option "TappingDrag" "true"
    EndSection

This uses libinput and fixes scrolling with the finger in the desktop environment.

### Screen Rotation

#### Automatic Screen Rotation

The iio-sensor-proxy package provides automatic screen rotation for some DEs. Install iio-sensor-proxy.

If you using Xfce, you can use the script from [2].

#### With Screen Rotator

Automatic screen rotation might work 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.

My system started crashing sometimes when rotating, so I switched to the above-mentioned script.

## Configuration

Many of the configuration options can be found in Lenovo ThinkPad X1 Yoga (Gen 3)#Configuration, as the X390 Yoga has a very similar structure to the X1 Yoga 3.

### Fan Control

See Fan speed control#ThinkPad laptops

### Fingerprint Reader

Experimental support is available if you install a testing firmware to the device and fprintd-libfprint2 from the AUR. See [3] for details. YMMV.

### Keyboard Fn Shortcuts

Keybind | XF86 Event | Keycode | Keysym
--- | --- | --- | ---
Fn | XF86WakeUp | 151 | 0x1008ff2b
Fn+F1 | XF86AudioMute | 121 | 0x1008ff12
Fn+F2 | XF86AudioLowerVolume | 122 | 0x1008ff11
Fn+F3 | XF86AudioRaiseVolume | 123 | 0x1008ff13
Fn+F4 | XF86AudioMicMute | 198 | 0x1008ffb2
Fn+F5 | XF86MonBrightnessDown | 232 | 0x1008ff03
Fn+F6 | XF86MonBrightnessUp | 233 | 0x1008ff02
Fn+F7 | XF86Display | 235 | 0x1008ff59
Fn+F8 | XF86WLAN | 246 | 0x1008ff95
Fn+F9 | XF86Tools | 179 | 0x1008ff81
Fn+F10 | XF86Bluetooth | 245 | 0x1008ff94
Fn+F11 | ??
Fn+F12 | XF86Favorites | 164 | 0x1008ff30

Category:

- Lenovo