Lenovo ThinkPad X390 Yoga

From ArchWiki

Tango-edit-clear.pngThis article or section does not follow the Laptop page guidelines.Tango-edit-clear.png

Reason: Needs IDs in hardware table and function keys table needs visiblity/marked filled in (Discuss in Talk:Lenovo ThinkPad X390 Yoga)
Hardware PCI/USB ID Working?
Touchpad Yes
TouchScreen Yes
TrackPoint Yes
Keyboard Yes
Video Yes
Webcam Yes
Ethernet Untested
Bluetooth Yes
microSD-Card slot Yes
Audio Yes
Wireless Yes
Mobile broadband Yes
Fingerprint Reader Yes

Firmware

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.

Touchscreen

One option for fixing the touchscreen after resume is 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 did not work reliably for me.

The touchscreen appears to perform much better using libinput. 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.

Fingerprint reader

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

Function keys

Key Visible?1 Marked?2 Effect
Fn XF86WakeUp
Fn+F1 XF86AudioMute
Fn+F2 XF86AudioLowerVolume
Fn+F3 XF86AudioRaiseVolume
Fn+F4 XF86AudioMicMute
Fn+F5 XF86MonBrightnessDown
Fn+F6 XF86MonBrightnessUp
Fn+F7 XF86Display
Fn+F8 XF86WLAN
Fn+F9 XF86Tools
Fn+F10 XF86Bluetooth
Fn+F11 ??
Fn+F12 XF86Favorites
  1. The key is visible to xev and similar tools.
  2. The physical key has a symbol on it, which describes its function.