2

I've recently installed Ubuntu 20.04 on a Lenovo ThinkPad L13 Yoga Gen 2 that I got for testing purposes. Naturally I wanted to know how far Ubuntu has come with regard to touchscreen compatibility. My experience so far is quite sobering, though, as the most basic things don't seem to work in most applications[1]:

  • I can't enlarge text using the two-finger pinch gesture (e.g. in Firefox or LibreOffice)
  • I can't scroll the page down using just one finger; if I do, it will just select the text I move my finger over. (e.g. in Firefox, LibreOffice, Thunderbird)
  • I can't call up a context menu on selected text or files using a long press on the selection. (LibreOffice, Nemo, Firefox, Thunderbird)

What am I missing? Does Ubuntu really have these highly complicated four-finger gestures, but doesn't support even the most basic of touchscreen functions? Am I missing drivers or any additional packages?

//edit: I've found a similar question on touchscreen support, but it only asks about Mozilla Firefox and is five years old (meaning it might contain outdated advice). Anyway: is there really no way to set default touchscreen behaviour system-wide, not on a per-application basis?

Here's my inxi -Fxz output in case it's any help.

System:
  Kernel: 5.8.0-50-generic x86_64 bits: 64 compiler: N/A 
  Desktop: Gnome 3.36.7 Distro: Ubuntu 20.04.2 LTS (Focal Fossa) 
Machine:
  Type: Convertible System: LENOVO product: 20VK000VGE 
  v: ThinkPad L13 Yoga Gen 2 serial: <filter> 
  Mobo: LENOVO model: 20VK000VGE v: SDK0J40697 WIN serial: <filter> 
  UEFI: LENOVO v: R1FET29W (1.03 ) date: 10/08/2020 
Battery:
  ID-1: BAT0 charge: 18.4 Wh condition: 46.0/46.0 Wh (100%) 
  model: Celxpert 5B10W13934 status: Discharging 
CPU:
  Topology: Quad Core model: 11th Gen Intel Core i5-1135G7 bits: 64 
  type: MT MCP arch: Tiger Lake rev: 1 L2 cache: 8192 KiB 
  flags: avx avx2 lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx 
  bogomips: 38707 
  Speed: 800 MHz min/max: 400/800 MHz Core speeds (MHz): 1: 800 2: 800 
  3: 800 4: 800 5: 800 6: 801 7: 801 8: 800 
Graphics:
  Device-1: Intel vendor: Lenovo driver: i915 v: kernel bus ID: 00:02.0 
  Display: x11 server: X.Org 1.20.9 driver: i915 resolution: 1920x1080~60Hz 
  OpenGL: renderer: Mesa Intel Xe Graphics (TGL GT2) v: 4.6 Mesa 20.2.6 
  direct render: Yes 
Audio:
  Device-1: Intel vendor: Lenovo driver: snd_hda_intel v: kernel 
  bus ID: 00:1f.3 
  Sound Server: ALSA v: k5.8.0-50-generic 
Network:
  Device-1: Intel driver: iwlwifi v: kernel port: 3000 bus ID: 00:14.3 
  IF: wlp0s20f3 state: up mac: <filter> 
  Device-2: Intel Ethernet I219-V vendor: Lenovo driver: e1000e v: 3.2.6-k 
  port: efa0 bus ID: 00:1f.6 
  IF: enp0s31f6 state: down mac: <filter> 
Drives:
  Local Storage: total: 238.47 GiB used: 23.36 GiB (9.8%) 
  ID-1: /dev/nvme0n1 vendor: Western Digital 
  model: PC SN730 SDBQNTY-256G-1001 size: 238.47 GiB 
Partition:
  ID-1: / size: 231.54 GiB used: 23.15 GiB (10.0%) fs: ext4 dev: /dev/dm-1 
  ID-2: /boot size: 704.5 MiB used: 209.7 MiB (29.8%) fs: ext4 
  dev: /dev/nvme0n1p2 
  ID-3: swap-1 size: 976.0 MiB used: 0 KiB (0.0%) fs: swap dev: /dev/dm-2 
Sensors:
  System Temperatures: cpu: 44.0 C mobo: 1.0 C 
  Fan Speeds (RPM): cpu: 0 
Info:
  Processes: 285 Uptime: 1h 10m Memory: 7.45 GiB used: 2.69 GiB (36.1%) 
  Init: systemd runlevel: 5 Compilers: gcc: N/A Shell: bash v: 5.0.17 
  inxi: 3.0.38 

[1] I've noticed that, for reasons I cannot explain, two-finger pinch zoom and one-finger scrolling does work in help files.

  • It's not Ubuntu or Linux that has to have support for hardware. It's the hardware vendors that should provide support for different OSes. – ChanganAuto May 09 '21 at 18:40
  • While I love me a good vendor blamin' (in which I myself indulge from time to time), it's not exactly helpful here since the vendor / screen does, in fact, support the gestures I was talking about. (See footnote for evidence.) I've managed to get it running on Firefox now by adding an environment variable (I'll provide the full solution later). The question how to get it running on LibreOffice and Thunderbird still stands, as does the question on whether I really have to do this for every application. –  May 10 '21 at 14:35

1 Answers1

2

So it turns out that, indeed, you must enable touch gestures for every application that doesn't have it enabled out of the box. Firefox seems to have touch gestures disabled because the feature is said to be buggy. I haven't noticed any bugs, though. You can enable it by adding an environment variable to .bashrc . In case anyone else is wondering how to do it (including my forgetful future self), here's a quick terminal command that should get it running for you in Firefox:

echo "export MOZ_USE_XINPUT2=1" >> ~/.bashrc
source ~/.bashrc

As for LibreOffice and Thunderbird, I haven't found the name of the environment variable to get touch gestures running in these applications, if there is one at all. I'd still appreciate it if anyone could provide help on this.