Linux on the X1 Yoga Gen4

I’d written about using the t470s a while back, since then jumping to a T480s, T480, and most recently an X1 Yoga Gen4. The Tx80x platforms are actually quite good, but the major frustration is Lenovo’s use of the Fibocom L850-GL. This device may never be supported in Linux, there are a lot of threads out there with people trying. We’d just relegated ourselves to stop buying them. To add insult to injury Lenovo makes it not very easy to get around their white list, but some people have come up with methods so that you can use cards from older systems that still work properly with ModemManager.

I’d transitioned from ArchLinux to Debian on my servers and workstations, particularly to be able to run testing/unstable on workstations and stable on servers. So this will all be from the perspective of using unstable(sid).

The X1 Yoga Gen4 has some complications that need to be overcome:

Touchscreen and Pen are not recognized by default

reference discussion about issue

vim /usr/share/libwacom/isdv4-51bf.tablet

# This is for the Wacom pen + touchscreen as found in the
# Lenovo ThinkPad X1 Yoga (4th-gen)

[Device]
Name=Wacom ISDv4 X1 Yoga 4th Generation
DeviceMatch=usb:056a:51bf
Class=ISDV4
Width=12.17
Height=6.81
IntegratedIn=Display;System

[Features]
Stylus=true
Touch=true
Buttons=0

“Binary” Audio (max volume or mute)

vim /usr/share/pulseaudio/alsa-mixer/paths/analog-output.conf.common

place this block:

[Element Master]
switch = mute
volume = ignore

over the PCM block, like this:

[Element Master]
switch = mute
volume = ignore

[Element PCM]
switch = mute
volume = merge
override-map.1 = all
override-map.2 = all-left,all-right

It’s going to bit of a wild ride, so I’ll leave these links that I found along the way: